diff --git a/homes/modules/git.nix b/homes/modules/git.nix index c1e3ed6..b6e7c7c 100755 --- a/homes/modules/git.nix +++ b/homes/modules/git.nix @@ -3,72 +3,89 @@ pkgs, ... }: { - programs.git = { - enable = true; - lfs.enable = true; + home.packages = with pkgs; [ + delta # git diff viewer + ]; - signing = { - # key = "F68745A836CA0412"; - # format = "openpgp"; - # signByDefault = true; + programs = { + git = { + enable = true; + lfs.enable = true; + + signing = { + key = "F68745A836CA0412"; + format = "openpgp"; + signByDefault = true; + }; + + settings = { + user.name = "_cry64"; + user.email = "them@dobutterfliescry.net"; + + alias = { + s = "status"; + d = "diff"; + l = "log"; + c = "commit"; + p = "push"; + }; + + color.ui = true; + core.editor = "hx"; + github.user = "cry128"; + + # delta diff viewer + core.pager = "delta"; + interactive.diffFilter = "delta --color-only"; + delta = { + navigate = true; + line-numbers = true; + side-by-side = true; + }; + merge.conflictStyle = "zdiff3"; + + init = { + defaultBranch = "main"; + }; + url = { + "git@github.com:" = { + insteadOf = [ + "gh:" + "github:" + ]; + }; + "https://gitlab.com/" = { + insteadOf = [ + "gl:" + "gitlab:" + ]; + }; + "git@codeberg.org:" = { + insteadOf = [ + "cb:" + "codeberg:" + ]; + }; + "git@tearforge.net/" = { + insteadOf = [ + "cry:" + "forge:" + ]; + }; + }; + }; + + includes = [ + { + path = "/home/me/agribit/.gitconfig"; + condition = "gitdir:/home/me/agribit/**"; + } + # { + # path = "/home/me/luminary/.gitconfig"; + # condition = "gitdir:/home/me/luminary/**"; + # } + ]; }; - settings = { - user.name = "_cry64"; - user.email = "them@dobutterfliescry.net"; - - alias = { - s = "status"; - d = "diff"; - l = "log"; - c = "commit"; - p = "push"; - }; - - color.ui = true; - core.editor = "hx"; - github.user = "cry128"; - - init = { - defaultBranch = "main"; - }; - url = { - "git@github.com:" = { - insteadOf = [ - "gh:" - "github:" - ]; - }; - "https://gitlab.com/" = { - insteadOf = [ - "gl:" - "gitlab:" - ]; - }; - "git@codeberg.org:" = { - insteadOf = [ - "cb:" - "codeberg:" - ]; - }; - "git@tearforge.net/" = { - insteadOf = [ - "cry:" - "forge:" - ]; - }; - }; - }; - - includes = [ - { - path = "/home/me/agribit/.gitconfig"; - condition = "gitdir:/home/me/agribit/**"; - } - # { - # path = "/home/me/luminary/.gitconfig"; - # condition = "gitdir:/home/me/luminary/**"; - # } - ]; }; }