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