Switch to gnome-keyring for libsecret

email password and git credential helper now use gnome-keyring/secret-service
This commit is contained in:
Evie Litherland-Smith 2023-09-30 09:27:43 +01:00
parent b38ffe853d
commit 6b7b76e7bc
5 changed files with 14 additions and 10 deletions

View file

@ -154,7 +154,7 @@
nameservers = [ "9.9.9.9" ]; nameservers = [ "9.9.9.9" ];
}; };
environment = { environment = {
systemPackages = with pkgs; [ git neofetch ]; systemPackages = with pkgs; [ libsecret git neofetch nitch ];
localBinInPath = true; localBinInPath = true;
shellAliases.nou = shellAliases.nou =
''sudo nixos-rebuild switch --flake "${flakeURL}" --refresh''; ''sudo nixos-rebuild switch --flake "${flakeURL}" --refresh'';

View file

@ -34,8 +34,9 @@
}; };
address = "e.litherlandsmith@proton.me"; address = "e.litherlandsmith@proton.me";
aliases = [ "evie@xenia.me.uk" "evie@litherlandsmith.slmail.me" ]; aliases = [ "evie@xenia.me.uk" "evie@litherlandsmith.slmail.me" ];
passwordCommand = "${pkgs.pass}/bin/pass show Mail/Proton/${hostName}";
userName = address; userName = address;
passwordCommand =
"${pkgs.libsecret}/bin/secret-tool lookup email ${userName}";
imapnotify = { imapnotify = {
enable = true; enable = true;
boxes = [ "INBOX" ]; boxes = [ "INBOX" ];
@ -43,6 +44,7 @@
onNotifyPost = onNotifyPost =
"${pkgs.libnotify}/bin/notify-send 'Proton: New mail arrived'"; "${pkgs.libnotify}/bin/notify-send 'Proton: New mail arrived'";
extraConfig = { extraConfig = {
wait = 30;
tls = false; tls = false;
tlsOptions.rejectUnauthorized = false; tlsOptions.rejectUnauthorized = false;
}; };
@ -72,14 +74,16 @@
imap.host = "imap.mail.me.com"; imap.host = "imap.mail.me.com";
smtp.host = "smtp.mail.me.com"; smtp.host = "smtp.mail.me.com";
address = "e.litherlandsmith@icloud.com"; address = "e.litherlandsmith@icloud.com";
passwordCommand = "${pkgs.pass}/bin/pass show Mail/iCloud/mbsync";
userName = address; userName = address;
passwordCommand =
"${pkgs.libsecret}/bin/secret-tool lookup email ${userName}";
imapnotify = { imapnotify = {
enable = true; enable = true;
boxes = [ "INBOX" ]; boxes = [ "INBOX" ];
onNotify = "${pkgs.isync}/bin/mbsync --pull icloud:INBOX"; onNotify = "${pkgs.isync}/bin/mbsync --pull icloud:INBOX";
onNotifyPost = onNotifyPost =
"${pkgs.libnotify}/bin/notify-send 'Proton: New mail arrived'"; "${pkgs.libnotify}/bin/notify-send 'Proton: New mail arrived'";
extraConfig.wait = 30;
}; };
mbsync = { mbsync = {
enable = true; enable = true;
@ -109,14 +113,16 @@
}; };
address = "evie.litherland-smith@ukaea.uk"; address = "evie.litherland-smith@ukaea.uk";
aliases = [ "elitherl@jet.uk" ]; aliases = [ "elitherl@jet.uk" ];
passwordCommand = "${pkgs.pass}/bin/pass show Mail/Outlook/ukaea";
userName = address; userName = address;
passwordCommand =
"${pkgs.libsecret}/bin/secret-tool lookup email ${userName}";
imapnotify = { imapnotify = {
boxes = [ "INBOX" ]; boxes = [ "INBOX" ];
onNotify = "${pkgs.isync}/bin/mbsync --pull ukaea:INBOX"; onNotify = "${pkgs.isync}/bin/mbsync --pull ukaea:INBOX";
onNotifyPost = onNotifyPost =
"${pkgs.libnotify}/bin/notify-send 'Proton: New mail arrived'"; "${pkgs.libnotify}/bin/notify-send 'Proton: New mail arrived'";
extraConfig = { extraConfig = {
wait = 30;
tls = false; tls = false;
tlsOptions.rejectUnauthorized = false; tlsOptions.rejectUnauthorized = false;
}; };

View file

@ -19,6 +19,7 @@
extraConfig = { extraConfig = {
pull.rebase = false; pull.rebase = false;
init.defaultBranch = "main"; init.defaultBranch = "main";
credential.helper = "${pkgs.gitFull}/bin/git-credential-libsecret";
}; };
}; };
gitui = { gitui = {

View file

@ -11,8 +11,6 @@
settings.PASSWORD_STORE_DIR = with config.home; settings.PASSWORD_STORE_DIR = with config.home;
"${homeDirectory}/.password-store"; "${homeDirectory}/.password-store";
}; };
git.extraConfig.credential.helper =
"${pkgs.gitFull}/bin/git-credential-libsecret";
}; };
services = { services = {
gpg-agent = rec { gpg-agent = rec {

View file

@ -18,10 +18,7 @@
]; ];
security = { security = {
rtkit.enable = true; rtkit.enable = true;
pam.services = { pam.services.gtklock.enableGnomeKeyring = true;
sddm.gnupg.enable = true;
gtklock = { };
};
}; };
sound.enable = true; sound.enable = true;
hardware = { hardware = {
@ -29,6 +26,7 @@
bluetooth.enable = true; bluetooth.enable = true;
}; };
services = { services = {
gnome.gnome-keyring.enable = true;
pipewire = { pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
@ -50,6 +48,7 @@
console.keyMap = "uk"; console.keyMap = "uk";
programs = { programs = {
ssh.startAgent = true; ssh.startAgent = true;
seahorse.enable = true;
dconf.enable = true; dconf.enable = true;
light.enable = true; light.enable = true;
noisetorch.enable = true; noisetorch.enable = true;