/ git.nix
git.nix
 1  {
 2    pkgs,
 3    lib ? null,
 4    ...
 5  }: let
 6    userConfig = import ./config.nix {inherit lib;};
 7  in {
 8    home.packages = with pkgs; [
 9      ghstack
10      lazygit
11      lazyjj
12      jujutsu
13      radicle-node
14    ];
15    programs = {
16      jujutsu = {
17        enable = true;
18        settings = {
19          user = {
20            email = userConfig.email;
21            name = userConfig.username;
22          };
23          ui = {
24            diff-editor = ["nvim" "-c" "DiffEditor $left $right $output"];
25          };
26        };
27      };
28      git = {
29        enable = true;
30        difftastic.enable = true;
31        # hooks = {
32        #   pre-commit = ./pre-commit-script;
33        # };
34        ignores = [
35          "*~"
36          "*.swp"
37        ];
38        lfs.enable = true;
39        maintenance = {
40          enable = true;
41          repositories = [
42            "$HOME/projects/pocketsizefund/pocketsizefund"
43          ];
44        };
45        userName = userConfig.username;
46        userEmail = userConfig.email;
47      };
48      gh = {
49        enable = true;
50        settings = {
51          git_protocol = "ssh";
52  
53          prompt = "enabled";
54        };
55      };
56    };
57  }