Add all of iogamaster modules
This commit is contained in:
44
modules/nixos/apps/tools/gnupg/default.nix
Normal file
44
modules/nixos/apps/tools/gnupg/default.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.tools.gnupg;
|
||||
in {
|
||||
options.apps.tools.gnupg = with types; {
|
||||
enable = mkBoolOpt false "Enable gnupg";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.pinentry
|
||||
pkgs.pinentry-curses
|
||||
|
||||
(pkgs.writeShellScriptBin "gpg" ''
|
||||
GNUPGHOME=${config.environment.variables.GNUPGHOME} ${pkgs.gnupg}/bin/gpg $@
|
||||
'')
|
||||
];
|
||||
|
||||
services.pcscd.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
home.file.".local/share/gnupg/gpg-agent.conf".source = ./gpg-agent.conf;
|
||||
|
||||
environment.variables = {
|
||||
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
|
||||
};
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/gnupg"
|
||||
".pki"
|
||||
];
|
||||
};
|
||||
}
|
1
modules/nixos/apps/tools/gnupg/gpg-agent.conf
Normal file
1
modules/nixos/apps/tools/gnupg/gpg-agent.conf
Normal file
@@ -0,0 +1 @@
|
||||
pinentry-program /run/current-system/sw/bin/pinentry-curses
|
Reference in New Issue
Block a user