diff options
| author | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-24 03:42:34 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-24 03:42:34 +0530 |
| commit | 44b8624d201e70c8418ada5db3c46e9ba130ea30 (patch) | |
| tree | ab960997bf8831d294dd84838523b358b7012ac5 /modules/development/git | |
| parent | 30f8fea050f3242f0e6a2072779e706b5c8ceaf1 (diff) | |
| download | home-manager-config-44b8624d201e70c8418ada5db3c46e9ba130ea30.tar.gz home-manager-config-44b8624d201e70c8418ada5db3c46e9ba130ea30.zip | |
refactor(naming): use kebab-case option names and consistent gopass secret naming
Diffstat (limited to 'modules/development/git')
| -rw-r--r-- | modules/development/git/assertions.nix | 12 | ||||
| -rw-r--r-- | modules/development/git/default.nix | 34 |
2 files changed, 28 insertions, 18 deletions
diff --git a/modules/development/git/assertions.nix b/modules/development/git/assertions.nix index c66714a..2baeced 100644 --- a/modules/development/git/assertions.nix +++ b/modules/development/git/assertions.nix @@ -3,24 +3,24 @@ { assertions = [ { - assertion = !config.development.git.signing.signByDefault || config.development.git.enable; + assertion = !config.development.git.signing.sign-by-default || config.development.git.enable; message = '' - development.git.signing.signByDefault is enabled but development.git.enable is not. + development.git.signing.sign-by-default is enabled but development.git.enable is not. Enable development.git before enabling commit signing. ''; } { assertion = - !config.development.git.signing.signByDefault || config.development.git.signing.key != null; + !config.development.git.signing.sign-by-default || config.development.git.signing.key != null; message = '' - development.git.signing.signByDefault is enabled but development.git.signing.key is not set. + development.git.signing.sign-by-default is enabled but development.git.signing.key is not set. Set a GPG key ID before enabling commit signing by default. ''; } { - assertion = !config.development.git.signing.signByDefault || config.security.gpg.enable; + assertion = !config.development.git.signing.sign-by-default || config.security.gpg.enable; message = '' - development.git.signing.signByDefault is enabled but security.gpg.enable is not. + development.git.signing.sign-by-default is enabled but security.gpg.enable is not. Commit signing requires the managed GPG configuration. Please enable security.gpg. ''; } diff --git a/modules/development/git/default.nix b/modules/development/git/default.nix index 15dcc80..593c8a3 100644 --- a/modules/development/git/default.nix +++ b/modules/development/git/default.nix @@ -2,8 +2,12 @@ { config, lib, + pkgs, ... }: +let + cfg = config.development.git; +in { imports = [ ./assertions.nix @@ -30,29 +34,35 @@ description = "Git email."; }; - signing = { - key = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - description = "GPG key ID used for signing commits."; - }; + signing = lib.mkOption { + type = lib.types.submodule { + options = { + key = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + description = "GPG key ID used for signing commits."; + }; - signByDefault = lib.mkEnableOption "Sign commits by default."; + sign-by-default = lib.mkEnableOption "Sign commits by default."; + }; + }; + default = { }; + description = "Git commit signing configuration."; }; }; - config = lib.mkIf config.development.git.enable { + config = lib.mkIf cfg.enable { programs.git = { enable = true; signing = { - key = config.development.git.signing.key; - signByDefault = config.development.git.signing.signByDefault; + key = cfg.signing.key; + sign-by-default = cfg.signing.sign-by-default; }; settings = lib.mkMerge [ { user = { - name = config.development.git.username; - email = config.development.git.email; + name = cfg.username; + email = cfg.email; }; core = { askPass = ""; |
