nixos-configs/common/home/git/default.nix

88 lines
1.8 KiB
Nix
Raw Normal View History

{
config,
pkgs,
...
}: let
inherit (config.vars) mainUser;
in {
2023-10-15 16:41:34 -04:00
programs = {
git = {
enable = true;
lfs.enable = true;
includes = [
2023-11-22 15:33:16 -05:00
{path = "${pkgs.dracula-theme}/git-colors";}
{
condition = "hasconfig:remote.*.url:git@github.com:*/**";
contents = {
user = {
email = "matt@nelim.org";
name = "matt1432";
};
};
}
{
condition = "hasconfig:remote.*.url:git@git.nelim.org:*/**";
contents = {
user = {
email = "matt@nelim.org";
name = "matt1432";
};
};
}
{
condition = "hasconfig:remote.*.url:git@gitlab.info.uqam.ca:*/**";
contents = {
user = {
email = "gj591944@ens.uqam.ca";
name = "Mathis Hurtubise";
};
};
}
2023-10-15 16:41:34 -04:00
];
delta = {
enable = true;
options = {
side-by-side = true;
line-numbers-zero-style = "#E6EDF3"; #BD93F9";
};
};
2024-03-01 01:34:59 -05:00
extraConfig = {
diff.sopsdiffer.textconv = "sops --config /dev/null -d";
# https://github.com/dandavison/delta/issues/630#issuecomment-860046929
pager = let
cmd = "LESS='LRc --mouse' ${pkgs.delta}/bin/delta";
in {
diff = cmd;
show = cmd;
stash = cmd;
log = cmd;
reflog = cmd;
};
};
2023-10-15 16:41:34 -04:00
};
};
home.packages = with pkgs; [
(writeShellApplication {
name = "chore";
runtimeInputs = [git];
text = ''
DIR=''${1:-"/home/${mainUser}/.nix"}
cd "$DIR"
git add flake.lock
git commit -m 'chore: update flake.lock'
git push
'';
})
];
2023-10-15 16:41:34 -04:00
}