summaryrefslogtreecommitdiffstats
path: root/common/commandline/git.nix
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2020-12-03 16:45:06 +0100
committerMinijackson <minijackson@riseup.net>2020-12-03 16:45:06 +0100
commit3f0e83cb4816e637d8c916fb77217e1c5824dbe5 (patch)
tree65b48ffe6e82459cde97b8ee61a597402ba2617b /common/commandline/git.nix
downloadnixos-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.nix58
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}