DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

250712d874576b38d430dc9509316cb8a93af1b4 — Jonni Liljamo a day ago eb0e412
feat: git and lazygit
2 files changed, 61 insertions(+), 0 deletions(-)

A modules/home/git.nix
A modules/nixos/lazygit.nix
A modules/home/git.nix => modules/home/git.nix +53 -0
@@ 0,0 1,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;
            };
          });
      };
    };
  };
}

A modules/nixos/lazygit.nix => modules/nixos/lazygit.nix +8 -0
@@ 0,0 1,8 @@
{
  flake.modules.nixos.lazygit = {...}: {
    programs.lazygit = {
      enable = true;
      settings.disableStartupPopups = true;
    };
  };
}