zaphyra's git: nixfiles

zaphyra's nixfiles

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 
{ lib, pkgs, ... }:
let
  inherit (lib) mkIf mkMerge;
in
{

  config = {
    home.shellAliases = {
      ga = "git add";
      gc = "git commit";
      gp = "git push";
      gr = "git rebase";
    };

    programs.git = mkMerge [
      {
        enable = true;
        aliases = {
          fixup = "commit --fixup";
          fuck = "reset HEAD~1";
          pfusch = "push --force-with-lease --force-if-includes";
          yikes = "commit --amend --no-edit";
        };
        lfs.enable = true;
        signing = {
          signByDefault = true;
          key = "AB27F5D1136B20D3149FBCC00389451731A3ADDD";
        };
        userName = "Hannah Izzie Gesser";
        userEmail = "hannah@totient.eu";
        extraConfig = {
          init.defaultBranch = "main";
          push.autoSetupRemote = true;
          rebase = {
            autosquash = true;
            autostash = true;
          };
          stash.includeUntracked = true;
          url = {
            "https://github.com/" = {
              insteadOf = [
                "gh:"
                "github:"
              ];
            };
            "https://git.transgirl.cafe/" = {
              insteadOf = [
                "tgc:"
              ];
            };
          };
        };
      }
      (mkIf pkgs.stdenv.hostPlatform.isDarwin {
        lfs.enable = true;
        extraConfig = {
          core.editor = "code --wait";
        };
      })
    ];
  };

}