refactor: move modules to their own dir
This commit is contained in:
parent
dda72854df
commit
addf563bfc
26 changed files with 86 additions and 60 deletions
41
modules/hm/users.nix
Normal file
41
modules/hm/users.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config) jhome;
|
||||
inherit (cfg.defaultIdentity) signingKey;
|
||||
|
||||
cfg = jhome.user;
|
||||
hasConfig = jhome.enable && cfg != null;
|
||||
hasKey = signingKey != null;
|
||||
gpgHome = config.programs.gpg.homedir;
|
||||
unlockKey = hasConfig && cfg.gpg.unlockKeys != [ ];
|
||||
in
|
||||
{
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf hasConfig {
|
||||
programs.git = {
|
||||
userName = cfg.defaultIdentity.name;
|
||||
userEmail = cfg.defaultIdentity.email;
|
||||
signing = lib.mkIf hasKey {
|
||||
signByDefault = true;
|
||||
key = signingKey;
|
||||
};
|
||||
};
|
||||
programs.jujutsu.settings = {
|
||||
user = lib.mkIf (cfg.defaultIdentity != null) { inherit (cfg.defaultIdentity) name email; };
|
||||
signing = lib.mkIf hasKey {
|
||||
sign-all = true;
|
||||
backend = "gpg";
|
||||
key = signingKey;
|
||||
};
|
||||
};
|
||||
})
|
||||
(lib.mkIf unlockKey {
|
||||
xdg.configFile.pam-gnupg.text =
|
||||
''
|
||||
${gpgHome}
|
||||
|
||||
''
|
||||
+ (lib.strings.concatLines cfg.gpg.unlockKeys);
|
||||
})
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue