{
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;
};
});
};
};
};
}