forked from fabian/nix_config
modularize gpg
This commit is contained in:
parent
4ec61784ed
commit
a7827e619c
4 changed files with 57 additions and 24 deletions
49
home/modules/gpg.nix
Normal file
49
home/modules/gpg.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.local.services.gpg;
|
||||
in {
|
||||
options.local.services.gpg = {
|
||||
enable = mkEnableOption "gpg settings";
|
||||
defaultKey = mkOption {
|
||||
type = types.str;
|
||||
description = "fingerprint of default public key to be used in gpg, git, email, etc.";
|
||||
example = "7AA277E604A4173916BBB4E91FFAC35E1798174F";
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default-key = config.local.services.gpg.defaultKey;
|
||||
};
|
||||
};
|
||||
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
pinentryPackage = pkgs.pinentry-emacs;
|
||||
};
|
||||
|
||||
accounts.email.accounts = {
|
||||
"fabian@posixlycorrect.com" = {
|
||||
gpg = {
|
||||
encryptByDefault = true;
|
||||
signByDefault = true;
|
||||
key = config.local.services.gpg.defaultKey;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
signing = {
|
||||
key = config.local.services.gpg.defaultKey;
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue