DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

ref: 250712d874576b38d430dc9509316cb8a93af1b4 nix-arta/modules/home/git.nix -rw-r--r-- 1.1 KiB
250712d8Jonni Liljamo feat: git and lazygit 3 days ago
                                                                                
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
{
  flake.modules.homeManager.git = {
    config,
    lib,
    pkgs,
    ...
  }: let
    cfg = config.arta.git;
  in {
    options.arta.git = {
      email = lib.mkOption {
        type = lib.types.str;
      };
      name = lib.mkOption {
        type = lib.types.str;
      };
      sendemail = {
        enable = lib.mkEnableOption "git-send-email";
        user = lib.mkOption {
          type = lib.types.str;
          default = cfg.email;
        };
        server = lib.mkOption {
          type = lib.types.str;
          default = "smtp.migadu.com";
        };
      };
    };

    config = {
      programs.git = {
        enable = true;
        package = pkgs.gitFull;
        settings = lib.mkMerge ([
            {
              user = {
                email = cfg.email;
                name = cfg.name;
              };
            }
          ]
          ++ lib.lists.optional cfg.sendemail.enable {
            sendemail = {
              smtpserver = cfg.sendemail.server;
              smtpuser = cfg.sendemail.user;
              smtpencryption = "ssl";
              smtpserverport = 465;
            };
          });
      };
    };
  };
}