diff options
Diffstat (limited to 'modules/programs/git/default.nix')
| -rw-r--r-- | modules/programs/git/default.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/programs/git/default.nix b/modules/programs/git/default.nix new file mode 100644 index 0000000..24d63c7 --- /dev/null +++ b/modules/programs/git/default.nix @@ -0,0 +1,33 @@ +{ lib, config, ... }: + +# Git - Distributed version control system +{ + options.programs.git = { + username = lib.mkOption { + type = lib.types.str; + description = "Git username."; + }; + email = lib.mkOption { + type = lib.types.str; + description = "Git email."; + }; + }; + + config = lib.mkIf config.programs.git.enable { + programs.git = { + settings = { + user = { + name = config.programs.git.username; + email = config.programs.git.email; + }; + credential.helper = "store --file ${config.xdg.cacheHome}/git/credential"; + core.askPass = ""; + }; + }; + + # The base directory of the credential file must exist + home.activation.createGitCacheDirectory = lib.hm.dag.entryAfter [ + "writeBoundary" + ] "mkdir -p ${config.xdg.cacheHome}/git"; + }; +} |
