diff options
| author | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-07-09 01:39:31 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-07-09 01:43:12 +0530 |
| commit | 94b00e624cec84c713c75d04dc2497ec95477945 (patch) | |
| tree | 8eb2d45644ae1af6dddcd7c72939547067990f8f | |
| parent | 4d9caf612b0bc62e7f4ae95e27f8720d621801d2 (diff) | |
| download | home-manager-config-94b00e624cec84c713c75d04dc2497ec95477945.tar.gz home-manager-config-94b00e624cec84c713c75d04dc2497ec95477945.zip | |
feat: added git commit signing with gpg keys
| -rw-r--r-- | modules/programs/git/default.nix | 5 | ||||
| -rw-r--r-- | modules/programs/gpg/default.nix | 1 | ||||
| -rw-r--r-- | modules/programs/gpg/git.nix | 18 | ||||
| -rw-r--r-- | users/arpit.nix | 2 |
4 files changed, 26 insertions, 0 deletions
diff --git a/modules/programs/git/default.nix b/modules/programs/git/default.nix index 305112f..2c4303b 100644 --- a/modules/programs/git/default.nix +++ b/modules/programs/git/default.nix @@ -22,6 +22,11 @@ config = lib.mkIf config.programs.git.enable { programs.git = { + includes = [ + # An additional config file for global git settings but for more + # private/non-portable configuration options like GPG keys + { path = "${config.xdg.configHome}/git/personal"; } + ]; settings = lib.recursiveUpdate { diff --git a/modules/programs/gpg/default.nix b/modules/programs/gpg/default.nix index 9e2da2c..c2183c7 100644 --- a/modules/programs/gpg/default.nix +++ b/modules/programs/gpg/default.nix @@ -7,6 +7,7 @@ }: { + imports = [ ./git.nix ]; config = lib.mkIf config.programs.gpg.enable { services.gpg-agent = { enable = true; diff --git a/modules/programs/gpg/git.nix b/modules/programs/gpg/git.nix new file mode 100644 index 0000000..a4a74d2 --- /dev/null +++ b/modules/programs/gpg/git.nix @@ -0,0 +1,18 @@ +{ config, lib, ... }: + +{ + options.programs.git.signCommits = lib.mkEnableOption "GPG signing of git commits."; + + config = lib.mkIf config.programs.git.signCommits { + assertions = [ + { + assertion = config.programs.gpg.enable; + message = "programs.git.signCommits requires programs.gpg.enable to be true."; + } + ]; + + programs.git.settings = { + commit.gpgSign = true; + }; + }; +} diff --git a/users/arpit.nix b/users/arpit.nix index 0b4f479..fd63941 100644 --- a/users/arpit.nix +++ b/users/arpit.nix @@ -27,6 +27,8 @@ programs.git.username = "Arpit Chakladar"; programs.git.email = "arpitchakladar@gmail.com"; programs.git.useSSH = true; + programs.git.signing.signByDefault = true; + programs.git.signCommits = true; programs.gpg.enable = true; programs.heroic.enable = true; programs.htop.enable = true; |
