/ 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 }