This repository has been archived on 2024-07-08. You can view files and clone it, but cannot push or open issues or pull requests.
nix-config-tn/nixos/home/modules/shell/git/default.nix
jahanson ca25688c2c
All checks were successful
Build / nix-build (native-x86_64, durincore) (pull_request) Successful in 7m46s
Build / nix-build (native-aarch64, varda) (pull_request) Successful in 1m29s
Mixing things around
2024-05-30 21:33:06 -05:00

79 lines
1.5 KiB
Nix

{ pkgs
, config
, lib
, ...
}:
let
cfg = config.myHome.shell.git;
inherit (pkgs.stdenv) isDarwin;
in
{
options.myHome.shell.git = {
enable = lib.mkEnableOption "git";
username = lib.mkOption {
type = lib.types.str;
};
email = lib.mkOption {
type = lib.types.str;
};
signingKey = lib.mkOption {
type = lib.types.str;
};
};
config = lib.mkMerge [
(lib.mkIf cfg.enable {
programs.gh.enable = true;
programs.gpg.enable = true;
programs.git = {
enable = true;
userName = cfg.username;
userEmail = cfg.email;
extraConfig = {
core = {
autocrlf = "input";
};
init = {
defaultBranch = "main";
};
pull = {
rebase = true;
};
rebase = {
autoStash = true;
};
user = {
signingKey = cfg.signingKey;
};
gpg.format = "ssh";
gpg.program = "${pkgs._1password}/bin/op-ssh-sign";
};
aliases = {
co = "checkout";
};
ignores = [
# Mac OS X hidden files
".DS_Store"
# Windows files
"Thumbs.db"
# asdf
".tool-versions"
# Sops
".decrypted~*"
"*.decrypted.*"
# Python virtualenvs
".venv"
];
};
home.packages = [
pkgs.git-filter-repo
pkgs.tig
pkgs.lazygit
];
})
];
}