52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{ config, pkgs, ... }:
|
||
{
|
||
programs.git = {
|
||
enable = true;
|
||
userName = "Simon Bruder";
|
||
userEmail = "simon@sbruder.de";
|
||
signing = {
|
||
key = config.programs.gpg.settings.default-key;
|
||
signByDefault = true;
|
||
};
|
||
|
||
extraConfig = {
|
||
core.quotepath = "off";
|
||
pull.ff = "only";
|
||
diff = {
|
||
age = {
|
||
# This uses the de facto default key location with no ability to
|
||
# specify another key.
|
||
# If decryption fails (e.g. due to a lack of the right private key,
|
||
# rage’s error message will be displayed instead of the file’s
|
||
# contents.
|
||
textconv = toString (pkgs.writeShellScript "git-age-textconv" ''
|
||
${pkgs.rage}/bin/rage -d -i ${config.xdg.configHome}/age/keys.txt "$@" 2>&1 || true
|
||
'');
|
||
};
|
||
};
|
||
};
|
||
|
||
ignores = [
|
||
"*.swp"
|
||
".direnv"
|
||
"Session.vim"
|
||
];
|
||
|
||
lfs.enable = true;
|
||
delta = {
|
||
enable = true;
|
||
options = {
|
||
line-numbers = "true";
|
||
side-by-side = "true";
|
||
features = "decorations";
|
||
syntax-theme = "base16";
|
||
decorations = {
|
||
commit-decoration-style = "bold yellow box ul";
|
||
file-style = "bold yellow ul";
|
||
file-decoration-style = "none";
|
||
};
|
||
};
|
||
};
|
||
};
|
||
}
|