summaryrefslogtreecommitdiff
path: root/nix/modules/home/git.nix
blob: 24e84b467af22384ad9d532db788b3a9dbf9e8a6 (plain)
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
{ pkgs, lib, config, ... }:
{
  programs.git = {
    enable = lib.mkDefault config.monorepo.profiles.graphics.enable;
    package = pkgs.gitFull;
    lfs.enable = lib.mkDefault config.monorepo.profiles.graphics.enable;
    userName = config.monorepo.vars.fullName;
    userEmail = config.monorepo.profiles.email.email;
    signing = {
      key = config.monorepo.vars.gpgKey;
      signByDefault = true;
    };

    extraConfig = {
      init.defaultBranch = "main";
      credential."${config.monorepo.profiles.email.smtpsServer}" = {
        username = "${config.monorepo.profiles.email.email}";
        helper = "!f() { test \"$1\" = get && echo \"password=$(cat /run/user/1000/secrets/mail)\"; }; f";
      };
      sendemail = {
        smtpserver = "${config.monorepo.profiles.email.smtpsServer}";
        smtpuser = "${config.monorepo.profiles.email.email}";
        smtpserverport = 465;
        smtpencryption = "ssl";
      };
    };

    aliases = {
      pl = "pull";
      ps = "push";
      co = "checkout";
      c = "commit";
      a = "add";
      st = "status";
      sw = "switch";
      b = "branch";
    };
  };
}