40 lines
1 KiB
Nix
40 lines
1 KiB
Nix
{ config, pkgs, lib, ... }: {
|
|
config = {
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
defaultCacheTtl = 604800;
|
|
maxCacheTtl = 604800;
|
|
pinentryPackage = pkgs.pinentry-curses;
|
|
extraConfig = ''
|
|
allow-preset-passphrase
|
|
'';
|
|
};
|
|
systemd.user.services = {
|
|
gpg_unlock = {
|
|
Unit = {
|
|
Description = "Unlock gpg keyring";
|
|
PartOf = [ "graphical-session.target" ];
|
|
After = [ "graphical-session.target" ];
|
|
};
|
|
Service = { ExecStart = "${pkgs._gpg-unlock}/bin/_gpg-unlock"; };
|
|
};
|
|
};
|
|
systemd.user.timers = {
|
|
gpg_unlock = {
|
|
Unit = {
|
|
Description = "Unlock gpg keyring";
|
|
PartOf = [ "graphical-session.target" ];
|
|
After = [ "graphical-session.target" ];
|
|
};
|
|
Timer = {
|
|
OnBootSec = "0";
|
|
OnUnitActiveSec = "300";
|
|
Unit = "gpg_unlock.service";
|
|
};
|
|
Install = { WantedBy = [ "sway-session.target" ]; };
|
|
};
|
|
};
|
|
|
|
};
|
|
}
|