a75c64d04a
This puts a hard dependency on 20.09, but that's to be expected.
30 lines
807 B
Nix
30 lines
807 B
Nix
{ config, options, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
with lib.my;
|
|
let cfg = config.modules.shell.gnupg;
|
|
in {
|
|
options.modules.shell.gnupg = with types; {
|
|
enable = mkBoolOpt false;
|
|
cacheTTL = mkOpt int 3600; # 1hr
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.variables.GNUPGHOME = "$XDG_CONFIG_HOME/gnupg";
|
|
|
|
programs.gnupg.agent.enable = true;
|
|
|
|
user.packages = [ pkgs.tomb ];
|
|
|
|
# HACK Without this config file you get "No pinentry program" on 20.03.
|
|
# programs.gnupg.agent.pinentryFlavor doesn't appear to work, and this
|
|
# is cleaner than overriding the systemd unit.
|
|
home.configFile."gnupg/gpg-agent.conf" = {
|
|
text = ''
|
|
default-cache-ttl ${toString cfg.cacheTTL}
|
|
pinentry-program ${pkgs.pinentry.gtk2}/bin/pinentry
|
|
'';
|
|
};
|
|
};
|
|
}
|