lifetracker/modules/apps/git/default.nix

67 lines
1.6 KiB
Nix

{
lib,
config,
pkgs,
username,
fullname,
...
}:
let
cfg = config.git;
in
{
options = {
git = {
enable = lib.mkEnableOption "Enable git in NixOS & home-manager";
};
};
config = lib.mkIf cfg.enable {
programs.git = {
enable = true;
package = pkgs.gitFull;
};
home-manager.users.${username} =
{ config, pkgs, ... }:
{
programs.git = {
enable = true;
delta = {
enable = true;
options = {
light = false;
line-numbers = true;
navigate = true;
side-by-side = true;
};
};
extraConfig = {
diff = {
colorMoved = "default";
};
merge = {
conflictstyle = "diff3";
};
# safe = {
# directory = [
# "/mnt/crusader/Projects/Codeberg/nix-config"
# "/mnt/crusader/Projects/GitHub/arch-distrobox"
# "/mnt/crusader/Projects/GitHub/keenanweaver.github.io"
# "/mnt/crusader/Projects/GitHub/nix-config"
# "/mnt/crusader/Projects/GitHub/nix-config/.git"
# "/mnt/crusader/Projects/Gitlab/moka-pics"
# ];
# };
};
includes = [ { path = "${config.xdg.configHome}/git/mocha.gitconfig"; } ];
package = pkgs.gitFull;
userName = "Ryan Pandya";
userEmail = "ryan@ryanpandya.com";
# signing = {
# signByDefault = true;
# key = "0926B70C6A27AAE1";
# };
};
};
};
}