38 lines
871 B
Nix
38 lines
871 B
Nix
{ config, lib, pkgs, user, ... }:
|
|
let
|
|
inherit (lib.modules) mkIf;
|
|
|
|
cfg = config.modules.${user}.shell.toolset.gnupg;
|
|
in
|
|
{
|
|
options.modules.${user}.shell.toolset.gnupg = let
|
|
inherit (lib.options) mkEnableOption;
|
|
in {
|
|
enable = mkEnableOption "cryptographic suite";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
user.package = with pkgs; [ gnupg ];
|
|
|
|
environment.variables.GNUPGHOME = "$XDG_CONFIG_HOME/gnupg";
|
|
|
|
home-manager.users.${user}.programs.gnupg = {
|
|
enable = true;
|
|
|
|
agent = {
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
pinentryPackage = pkgs.pinentry-gnome3;
|
|
|
|
settings = let
|
|
cacheTTL = 86400;
|
|
in {
|
|
default-cache-ttl = cacheTTL;
|
|
default-cache-ttl-ssh = cacheTTL;
|
|
max-cache-ttl = cacheTTL;
|
|
max-cache-ttl-ssh = cacheTTL;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|