refactor(modules/hm): tidy up the modules
All checks were successful
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 14s
/ build-vm (push) Successful in 1s
/ report-size (push) Successful in 4s

Should make further additions and refactors easier.
This commit is contained in:
Jalil David Salamé Messina 2025-03-21 19:05:31 +01:00
parent 917d131cde
commit 0df4e76404
Signed by: jalil
GPG key ID: F016B9E770737A0B
3 changed files with 120 additions and 98 deletions

View file

@ -4,15 +4,12 @@ let
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 = {
config = lib.mkIf (jhome.enable && cfg != null) {
programs = {
git = {
userName = cfg.defaultIdentity.name;
userEmail = cfg.defaultIdentity.email;
signing = lib.mkIf hasKey {
@ -20,7 +17,8 @@ in
key = signingKey;
};
};
programs.jujutsu.settings = {
jujutsu.settings = {
user = lib.mkIf (cfg.defaultIdentity != null) { inherit (cfg.defaultIdentity) name email; };
git.sign-on-push = lib.mkDefault hasKey;
signing = lib.mkIf hasKey {
@ -29,14 +27,13 @@ in
key = signingKey;
};
};
})
(lib.mkIf unlockKey {
xdg.configFile.pam-gnupg.text =
''
${gpgHome}
};
''
+ (lib.strings.concatLines cfg.gpg.unlockKeys);
})
];
xdg.configFile.pam-gnupg.text =
lib.mkIf (cfg.unlockKeys != [ ]) ''
${config.programs.gpg.homedir}
''
+ (lib.strings.concatLines cfg.gpg.unlockKeys);
};
}