diff options
author | Minijackson <minijackson@riseup.net> | 2020-12-03 16:45:06 +0100 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2020-12-03 16:45:06 +0100 |
commit | 3f0e83cb4816e637d8c916fb77217e1c5824dbe5 (patch) | |
tree | 65b48ffe6e82459cde97b8ee61a597402ba2617b /common/commandline/git.nix | |
download | nixos-config-reborn-3f0e83cb4816e637d8c916fb77217e1c5824dbe5.tar.gz nixos-config-reborn-3f0e83cb4816e637d8c916fb77217e1c5824dbe5.zip |
initial commit: most of previous configuration reworked
Diffstat (limited to 'common/commandline/git.nix')
-rw-r--r-- | common/commandline/git.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/common/commandline/git.nix b/common/commandline/git.nix new file mode 100644 index 0000000..597ef64 --- /dev/null +++ b/common/commandline/git.nix | |||
@@ -0,0 +1,58 @@ | |||
1 | { config, pkgs, ... }: | ||
2 | |||
3 | { | ||
4 | # TODO: add signing | ||
5 | home-manager.users.minijackson = { ... }: | ||
6 | { | ||
7 | programs.git = { | ||
8 | enable = true; | ||
9 | package = pkgs.gitAndTools.gitFull; | ||
10 | userEmail = "minijackson@riseup.net"; | ||
11 | userName = "Minijackson"; | ||
12 | |||
13 | extraConfig = let | ||
14 | deltaCommand = "${pkgs.gitAndTools.delta}/bin/delta"; | ||
15 | in { | ||
16 | core = { | ||
17 | whitespace = "trailing-space,space-before-tab"; | ||
18 | pager = deltaCommand; | ||
19 | interactive.diffFilter = "${deltaCommand} --color-only"; | ||
20 | }; | ||
21 | merge = { tool = "nvimdiff"; }; | ||
22 | "mergetool \"nvimdiff\"" = { cmd = "nvim -d \"$LOCAL\" \"$MERGED\" \"$REMOTE\""; }; | ||
23 | |||
24 | delta = with config.theme.colors; { | ||
25 | features = "line-numbers decorations"; | ||
26 | whitespace-error-style = "22 reverse"; | ||
27 | decorations = { | ||
28 | minus-style = "normal red"; | ||
29 | minus-non-emph-style = "normal red"; | ||
30 | minus-emph-style = "normal brightred"; | ||
31 | minus-empty-line-marker-style = "normal red"; | ||
32 | |||
33 | plus-style = "reverse green"; | ||
34 | plus-non-emph-style = "reverse green"; | ||
35 | plus-emph-style = "reverse brightgreen"; | ||
36 | plus-empty-line-marker-style = "reverse green"; | ||
37 | |||
38 | whitespace-error-style = "reverse green"; | ||
39 | |||
40 | line-numbers-minus-style = "brightred"; | ||
41 | line-numbers-zero-style = "brightblack"; | ||
42 | line-numbers-plus-style = "brightgreen"; | ||
43 | |||
44 | file-style = "bright${dominantName}"; | ||
45 | line-numbers-left-style = dominantName; | ||
46 | line-numbers-right-style = dominantName; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | }; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | home-manager.users.root = { ... }: | ||
55 | { | ||
56 | programs.git = config.home-manager.users.minijackson.programs.git; | ||
57 | }; | ||
58 | } | ||