mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-21 20:33:55 -05:00
aly: switch to bitwarden (#72)
* aly: add password-store with extensions * aly: add rofi-pass * aly: simplify rofi-pass config * aly: add rbw config * aly/wm: bind super+p to rofi-rbw * aly: remove password-store * aly: remove rofi-pass * aly/firefox: remove keepassxc extension * aly: install bitwarden-desktop * rofi: include rofi-rbw by default with sane defaults * aly/wm: don't autostart keepassxc * aly: remove keepassxc secret * aly/wm: center and float bitwarden gui * chromium: don't install keepassxc extension by default
This commit is contained in:
parent
8dd3204275
commit
aec4214add
|
@ -12,7 +12,6 @@
|
|||
{id = "enamippconapkdmgfgjchkhakpfinmaj";} # dearrow
|
||||
{id = "jldhpllghnbhlbpcmnajkpdmadaolakh";} # todoist
|
||||
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # sponsorblock
|
||||
{id = "oboonakemofpalcgghocfoadofidjkkk";} # keepassxc
|
||||
{id = "ocabkmapohekeifbkoelpmppmfbcibna";} # zoom redirector
|
||||
];
|
||||
};
|
||||
|
|
|
@ -10,6 +10,7 @@ in {
|
|||
home.packages = [
|
||||
pkgs.networkmanager_dmenu
|
||||
pkgs.rofi-bluetooth
|
||||
pkgs.rofi-rbw-wayland
|
||||
];
|
||||
|
||||
programs.rofi = {
|
||||
|
@ -61,168 +62,175 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
xdg.configFile."rofi/theme.rasi".text = ''
|
||||
* {
|
||||
selected-normal-foreground: ${cfg.theme.colors.text};
|
||||
foreground: ${cfg.theme.colors.text};
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: transparent;
|
||||
red: ${cfg.theme.colors.secondary};
|
||||
selected-urgent-foreground: ${cfg.theme.colors.secondary};
|
||||
blue: ${cfg.theme.colors.primary};
|
||||
urgent-foreground: ${cfg.theme.colors.primary};
|
||||
alternate-urgent-background: transparent;
|
||||
active-foreground: ${cfg.theme.colors.primary};
|
||||
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||
selected-active-foreground: rgba ( 32, 81, 113, 100 % );
|
||||
alternate-active-background: transparent;
|
||||
background: transparent;
|
||||
bordercolor: ${cfg.theme.colors.background}CC;
|
||||
alternate-normal-foreground: @foreground;
|
||||
normal-background: transparent;
|
||||
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||
selected-normal-background: ${cfg.theme.colors.primary};
|
||||
border-color: ${cfg.theme.colors.primary};
|
||||
spacing: 2;
|
||||
separatorcolor: ${cfg.theme.colors.primary};
|
||||
urgent-background: transparent;
|
||||
selected-urgent-background: ${cfg.theme.colors.primary};
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
background-color: rgba ( 0, 0, 0, 0 % );
|
||||
alternate-active-foreground: @active-foreground;
|
||||
active-background: ${cfg.theme.colors.background}CC;
|
||||
selected-active-background: ${cfg.theme.colors.primary};
|
||||
}
|
||||
window {
|
||||
background-color: ${cfg.theme.colors.background}CC;
|
||||
border: 2;
|
||||
border-radius: 10px;
|
||||
padding: 0;
|
||||
}
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
message {
|
||||
border: 2px solid 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px ;
|
||||
}
|
||||
textbox {
|
||||
text-color: @foreground;
|
||||
}
|
||||
listview {
|
||||
fixed-height: 0;
|
||||
border: 2px solid 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
spacing: 2px ;
|
||||
scrollbar: false;
|
||||
padding: 5px;
|
||||
}
|
||||
element {
|
||||
border: 0;
|
||||
padding: 5px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
element.selected.normal {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
element.selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
element.selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
element.alternate.normal {
|
||||
background-color: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
scrollbar {
|
||||
width: 0px ;
|
||||
border: 0;
|
||||
handle-width: 0px ;
|
||||
padding: 0;
|
||||
}
|
||||
mode-switcher {
|
||||
border: 2px solid 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
button.selected {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
button {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
padding: 10px ;
|
||||
}
|
||||
case-indicator {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
entry {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
prompt {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
margin: 1px;
|
||||
}
|
||||
inputbar {
|
||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0px 0.3em 0em 0em ;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
'';
|
||||
xdg.configFile = {
|
||||
"rofi-rbw.rc".text = ''
|
||||
prompt "Bitwarden"
|
||||
clear-after 60
|
||||
'';
|
||||
|
||||
xdg.configFile."networkmanager-dmenu/config.ini".text = ''
|
||||
[dmenu]
|
||||
dmenu_command = ${lib.getExe config.programs.rofi.package}
|
||||
highlight = True
|
||||
"rofi/theme.rasi".text = ''
|
||||
* {
|
||||
selected-normal-foreground: ${cfg.theme.colors.text};
|
||||
foreground: ${cfg.theme.colors.text};
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: transparent;
|
||||
red: ${cfg.theme.colors.secondary};
|
||||
selected-urgent-foreground: ${cfg.theme.colors.secondary};
|
||||
blue: ${cfg.theme.colors.primary};
|
||||
urgent-foreground: ${cfg.theme.colors.primary};
|
||||
alternate-urgent-background: transparent;
|
||||
active-foreground: ${cfg.theme.colors.primary};
|
||||
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||
selected-active-foreground: rgba ( 32, 81, 113, 100 % );
|
||||
alternate-active-background: transparent;
|
||||
background: transparent;
|
||||
bordercolor: ${cfg.theme.colors.background}CC;
|
||||
alternate-normal-foreground: @foreground;
|
||||
normal-background: transparent;
|
||||
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||
selected-normal-background: ${cfg.theme.colors.primary};
|
||||
border-color: ${cfg.theme.colors.primary};
|
||||
spacing: 2;
|
||||
separatorcolor: ${cfg.theme.colors.primary};
|
||||
urgent-background: transparent;
|
||||
selected-urgent-background: ${cfg.theme.colors.primary};
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
background-color: rgba ( 0, 0, 0, 0 % );
|
||||
alternate-active-foreground: @active-foreground;
|
||||
active-background: ${cfg.theme.colors.background}CC;
|
||||
selected-active-background: ${cfg.theme.colors.primary};
|
||||
}
|
||||
window {
|
||||
background-color: ${cfg.theme.colors.background}CC;
|
||||
border: 2;
|
||||
border-radius: 10px;
|
||||
padding: 0;
|
||||
}
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
message {
|
||||
border: 2px solid 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px ;
|
||||
}
|
||||
textbox {
|
||||
text-color: @foreground;
|
||||
}
|
||||
listview {
|
||||
fixed-height: 0;
|
||||
border: 2px solid 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
spacing: 2px ;
|
||||
scrollbar: false;
|
||||
padding: 5px;
|
||||
}
|
||||
element {
|
||||
border: 0;
|
||||
padding: 5px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
element.selected.normal {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
element.selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
element.selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
element.alternate.normal {
|
||||
background-color: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
scrollbar {
|
||||
width: 0px ;
|
||||
border: 0;
|
||||
handle-width: 0px ;
|
||||
padding: 0;
|
||||
}
|
||||
mode-switcher {
|
||||
border: 2px solid 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
button.selected {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
button {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
padding: 10px ;
|
||||
}
|
||||
case-indicator {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
entry {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
prompt {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
margin: 1px;
|
||||
}
|
||||
inputbar {
|
||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0px 0.3em 0em 0em ;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
'';
|
||||
|
||||
[dmenu_passphrase]
|
||||
obscure = True
|
||||
"networkmanager-dmenu/config.ini".text = ''
|
||||
[dmenu]
|
||||
dmenu_command = ${lib.getExe config.programs.rofi.package}
|
||||
highlight = True
|
||||
|
||||
[editor]
|
||||
gui = ${pkgs.networkmanagerapplet}/bin/nm-connection-editor
|
||||
gui_if_available = True
|
||||
terminal = ${lib.getExe cfg.defaultApps.terminal}
|
||||
'';
|
||||
[dmenu_passphrase]
|
||||
obscure = True
|
||||
|
||||
[editor]
|
||||
gui = ${pkgs.networkmanagerapplet}/bin/nm-connection-editor
|
||||
gui_if_available = True
|
||||
terminal = ${lib.getExe cfg.defaultApps.terminal}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ in {
|
|||
};
|
||||
|
||||
packages = [
|
||||
pkgs.bitwarden-desktop
|
||||
pkgs.browsh
|
||||
pkgs.curl
|
||||
pkgs.fractal
|
||||
|
@ -62,26 +63,14 @@ in {
|
|||
gitui.enable = true;
|
||||
home-manager.enable = true;
|
||||
|
||||
password-store = {
|
||||
rbw = {
|
||||
enable = true;
|
||||
package = unstable.rbw;
|
||||
|
||||
package = pkgs.pass.withExtensions (exts:
|
||||
with exts; [
|
||||
pass-checkup
|
||||
pass-file
|
||||
pass-genphrase
|
||||
pass-otp
|
||||
pass-update
|
||||
]);
|
||||
};
|
||||
|
||||
rofi.pass = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-pass-wayland;
|
||||
|
||||
extraConfig = ''
|
||||
USERNAME_field='login'
|
||||
'';
|
||||
settings = {
|
||||
email = "alyraffauf@fastmail.com";
|
||||
pinentry = pkgs.pinentry-gnome3;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
extensions = with config.nur.repos.rycee.firefox-addons; [
|
||||
augmented-steam
|
||||
decentraleyes
|
||||
keepassxc-browser
|
||||
omnivore
|
||||
raindropio
|
||||
sidebery
|
||||
|
@ -162,7 +161,6 @@
|
|||
clearurls
|
||||
consent-o-matic
|
||||
decentraleyes
|
||||
keepassxc-browser
|
||||
ublock-origin
|
||||
zoom-redirector
|
||||
];
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
alyraffaufFastmail.file = ../../secrets/aly/mail/alyraffauf_fastmail.age;
|
||||
backblazeKeyId.file = ../../secrets/aly/backblaze/keyId.age;
|
||||
backblazeKey.file = ../../secrets/aly/backblaze/key.age;
|
||||
keepassxc.file = ../../secrets/aly/keepassxc.age;
|
||||
|
||||
transmissionRemote = {
|
||||
file = ../../secrets/aly/transmissionRemote.age;
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
keepassxc = "${lib.getExe' config.ar.home.apps.keepassxc.package "keepassxc"} --pw-stdin ${config.home.homeDirectory}/sync/Passwords.kdbx < ${config.age.secrets.keepassxc.path}";
|
||||
in {
|
||||
}: {
|
||||
programs.waybar.settings.mainBar."bluetooth" = {
|
||||
"on-click" = lib.mkForce "${lib.getExe pkgs.rofi-bluetooth} -i";
|
||||
};
|
||||
|
@ -20,10 +18,10 @@ in {
|
|||
"workspace 5: work" = [{app_id = "google-chrome";} {app_id = "chromium-browser";} {app_id = "firework";}];
|
||||
};
|
||||
|
||||
floating.criteria = [{app_id = "org.keepassxc.KeePassXC";}];
|
||||
floating.criteria = [{app_id = "Bitwarden";} {app_id = "org.keepassxc.KeePassXC";}];
|
||||
|
||||
keybindings = {
|
||||
"${config.wayland.windowManager.sway.config.modifier}+P" = "exec ${keepassxc}";
|
||||
"${config.wayland.windowManager.sway.config.modifier}+P" = "exec ${lib.getExe pkgs.rofi-rbw-wayland}";
|
||||
"${config.wayland.windowManager.sway.config.modifier}+N" = "exec ${lib.getExe' pkgs.obsidian "obsidian"}";
|
||||
};
|
||||
|
||||
|
@ -39,11 +37,13 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
startup = [{command = ''sleep 1 && ${keepassxc}'';}];
|
||||
|
||||
window.commands = [
|
||||
{
|
||||
command = "resize set 80ppt 80ppt; move position center; sticky toggle; ";
|
||||
command = "resize set 80ppt 80ppt; move position center;";
|
||||
criteria = {app_id = "Bitwarden";};
|
||||
}
|
||||
{
|
||||
command = "resize set 80ppt 80ppt; move position center; sticky toggle;";
|
||||
criteria = {app_id = "org.keepassxc.KeePassXC";};
|
||||
}
|
||||
];
|
||||
|
@ -53,16 +53,17 @@ in {
|
|||
bind = [
|
||||
"SUPER SHIFT,N,movetoworkspace,special:notes"
|
||||
"SUPER,N,togglespecialworkspace,notes"
|
||||
"SUPER,P,exec,${keepassxc}"
|
||||
"SUPER,P,exec,${lib.getExe pkgs.rofi-rbw-wayland}"
|
||||
];
|
||||
|
||||
exec-once = ["sleep 1 && ${keepassxc}"];
|
||||
|
||||
input.kb_options = "ctrl:nocaps";
|
||||
|
||||
windowrulev2 = [
|
||||
"center(1),class:(Bitwarden)"
|
||||
"center(1),class:(org.keepassxc.KeePassXC)"
|
||||
"float,class:(Bitwarden)"
|
||||
"float,class:(org.keepassxc.KeePassXC)"
|
||||
"size 80% 80%,class:(Bitwarden)"
|
||||
"size 80% 80%,class:(org.keepassxc.KeePassXC)"
|
||||
"workspace 1,class:(brave-browser)"
|
||||
"workspace 1,class:(firefox)"
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 xIeYNQ jNhPUqxRGL1/AgHEmzbkiVUyjEWwj0YdW05zAIyo1kk
|
||||
5yhF4pbBu1RSxYXZBfr+EO2SZ7jmyilE6rabF6RnPrE
|
||||
-> ssh-ed25519 g+apXg dhEVCLqN3BSJcBmqeWpsXwBFWuKxT78qds3oACPCsVA
|
||||
bq6xG45TiYdLibqINhzZVWzpjAe3nYTbREErU0631Rc
|
||||
-> ssh-ed25519 xZaw4A 6soVrhT7xPJd5Bz8oKtCNANxBdfkFnf6h0Vo7/PsCzk
|
||||
VQmSHXgfLEQLo/eWROfZrIPnan/13cX++cHVp4jUz5I
|
||||
-> ssh-ed25519 GrlIbA dgLoBxYih2VGLXsKoRGlYKB8jxLalsyX+MXV1bqSXBk
|
||||
4/L8Pk39+NnObP57T56qQgg91iIPrKxl7KyiER9vPGw
|
||||
-> ssh-ed25519 STQ5RA qJuOjmwNlQpvLOWljB5hT1M6rFGUy6HONSrRe/DI9EM
|
||||
RSi/QojxNbZn5KTzrfyHJUgXA/xk0Ml0aXEVxv08U+g
|
||||
-> ssh-ed25519 nrny8w 81xJfiA33ew6xXW+uZDFnLae/RJnUcZwuNNTBeX6sWI
|
||||
aQszpGAyAXk+k6cl37/yieDgruq2OaTd+t/aPd0ixGA
|
||||
-> ssh-ed25519 c7E/gQ ABPJ26sXSC6PU7EBv+xCCvNGkeKpkmhKvVaiAkvAKWM
|
||||
/cpZC4H1hdvylEyt2Vh/4WR3s1+sovEQiEJcVSEQ/ho
|
||||
-> ssh-ed25519 IghKlQ GTiXc4wtFZd2eeZHaEtRDtrlIXJHWLNzfp8wORVnoWE
|
||||
g5k2lTqcx5nvAX09rDZkMx9sSIthrwKhjvs3R0vmgpU
|
||||
-> ssh-ed25519 1mX44w xVeaRaqaIVSM7MWsW0TXmzreb5dt5lUbKYJSMrhdNiw
|
||||
5byOZi2QHGStVmWCT/L3p7HpDmnQkD2tfVE1sqYqjEA
|
||||
-> ssh-ed25519 FhVeqQ mXAIr6c4Ipv1p1hfdLDIYj6T7Ia0curJv0Ao+28X+mw
|
||||
iYjxG756GietbM4J7bVjV23qjcOwAXP7Rf1llL6BDgo
|
||||
--- NlASWbMfTtePdKOvTQ1MXypX1iPDymslSLJglpIzfxs
|
||||
ÍÞ—îÄ÷éØÉ<´À<C2B4>)]fAXÍG·åé«œœ$I+åO(¥g™WÐð”Úgéóö[5QôÔ)à¯LÑÄ
|
|
@ -19,7 +19,6 @@ let
|
|||
in {
|
||||
"aly/backblaze/key.age".publicKeys = keys;
|
||||
"aly/backblaze/keyId.age".publicKeys = keys;
|
||||
"aly/keepassxc.age".publicKeys = keys;
|
||||
"aly/mail/achacega_gmail.age".publicKeys = keys;
|
||||
"aly/mail/alyraffauf_fastmail.age".publicKeys = keys;
|
||||
"aly/syncthing/fallarbor/cert.age".publicKeys = keys;
|
||||
|
|
Loading…
Reference in a new issue