user/settings/workstation.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | { config , lib , pkgs , ... }: { imports = [ <nix-index-database/home-manager-module.nix> ./yazi.nix ]; programs.nix-index-database.comma.enable = true; programs.ripgrep.package = pkgs.ripgrep.override { withPCRE2 = true; }; home.packages = with pkgs; [ walk nuspell git-extras # delete-merged-branches and friends git-worktree-switcher mergiraf gitui gitstatus hut # sourcehut tools ] ++ (with pkgs.hunspellDicts; [ en-gb-large de-de ]); home.shellAliases = { wprop = "xprop | egrep '^WM_(CLASS|NAME|WINDOW_ROLE|TYPE)'"; }; programs.git = { difftastic = { enable = true; }; extraConfig = { "merge.mergiraf" = { name = "mergiraf"; driver = "${pkgs.mergiraf}/bin/mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L"; }; }; }; programs.gh = { enable = true; settings = { git_protocol = "ssh"; aliases = { fork = "repo fork --remote --remote-name alanpearce --default-branch-only"; }; }; }; programs.jujutsu = { enable = true; settings = { user = { name = config.programs.git.userName; email = config.programs.git.userEmail; }; ui = { "diff.tool" = [ "${pkgs.difftastic}/bin/difft" "--color=always" "$left" "$right" ]; }; }; }; xdg.configFile."git/attributes" = { source = (pkgs.runCommandLocal "mergiraf-gitattributes" { } '' ${pkgs.mergiraf}/bin/mergiraf languages --gitattributes >> $out ''); }; } |