diff --git a/flake.lock b/flake.lock index e1015e2..1392e81 100644 --- a/flake.lock +++ b/flake.lock @@ -71,8 +71,8 @@ ] }, "locked": { - "lastModified": 1772461566, - "narHash": "sha256-1Rib48xxOv5unR6KyBRs1wRoyC8MGguBno75fFGGbPs=", + "lastModified": 1772502318, + "narHash": "sha256-7ZnsLuwU2/nDxWriEeccY2LvpJjPDyV13/hSKrdLFZ8=", "path": "/home/me/cry/mk/cerulean", "type": "path" }, diff --git a/groups/cryos/programs.nix b/groups/cryos/programs.nix index 9f507e3..49fc8f8 100644 --- a/groups/cryos/programs.nix +++ b/groups/cryos/programs.nix @@ -78,7 +78,6 @@ btop eza yazi - lazygit ripgrep viddy # modern `watch` command timg # terminal image (sixel) viewer diff --git a/homes/modules/git.nix b/homes/modules/git.nix index c1e3ed6..c0c60a5 100755 --- a/homes/modules/git.nix +++ b/homes/modules/git.nix @@ -3,72 +3,120 @@ 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"; + lazygit = { + enable = true; + enableFishIntegration = true; + enableZshIntegration = true; - alias = { - s = "status"; - d = "diff"; - l = "log"; - c = "commit"; - p = "push"; - }; + shellWrapperName = "lg"; - color.ui = true; - core.editor = "hx"; - github.user = "cry128"; + settings = { + gui = { + useHunkModeInStagingView = false; - 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:" - ]; + skipDiscardChangeWarning = false; + skipStashWarning = true; + + animateExplosion = true; # FUCK YEAHHHHHHHHHHHHHHHHHHHHHHHHH + + theme = { + lightTheme = false; + activeBorderColor = ["green" "bold"]; + inactiveBorderColor = ["white"]; + selectedLineBgColor = ["default"]; + }; }; + + git.pagers = [ + { + pager = "delta --dark --pager=never"; + } + ]; }; }; - - includes = [ - { - path = "/home/me/agribit/.gitconfig"; - condition = "gitdir:/home/me/agribit/**"; - } - # { - # path = "/home/me/luminary/.gitconfig"; - # condition = "gitdir:/home/me/luminary/**"; - # } - ]; }; }