summaryrefslogtreecommitdiffstats
path: root/common/commandline/git.nix
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2021-04-18 16:58:23 +0200
committerMinijackson <minijackson@riseup.net>2021-04-18 16:58:23 +0200
commit8ffe5ce23fa1548304a3fa25f2bd0e89837f5a0b (patch)
treecd0de6a4642b76b42002dae5291c307d30727bc6 /common/commandline/git.nix
parent46ac3d5464712d6b0e0bee4ac62543abcbf2db2c (diff)
downloadnixos-config-reborn-8ffe5ce23fa1548304a3fa25f2bd0e89837f5a0b.tar.gz
nixos-config-reborn-8ffe5ce23fa1548304a3fa25f2bd0e89837f5a0b.zip
revamp with nix flakes + desktop config
Diffstat (limited to 'common/commandline/git.nix')
-rw-r--r--common/commandline/git.nix87
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, ... }: 1inputs:
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}