34 lines
772 B
Nix
34 lines
772 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
dotsPath,
|
|
...
|
|
}:
|
|
|
|
{
|
|
options.git = {
|
|
enable = lib.mkEnableOption "git";
|
|
github.enable = lib.mkEnableOption "Github CLI";
|
|
gitlab.enable = lib.mkEnableOption "Gitlab CLI";
|
|
};
|
|
|
|
config = lib.mkIf config.git.enable {
|
|
assertions = [
|
|
{
|
|
assertion = config.nvim.enable;
|
|
message = "git module requires 'nvim' module (`nvimdiff`)";
|
|
}
|
|
];
|
|
programs.git.enable = true;
|
|
home.file = {
|
|
".gitconfig".source = dotsPath + "/.gitconfig";
|
|
".gitconfig.work".source = dotsPath + "/.gitconfig.work";
|
|
".gitignore".source = dotsPath + "/.gitignore";
|
|
};
|
|
|
|
programs.gh.enable = config.git.github.enable;
|
|
home.packages = lib.optionals config.git.gitlab.enable [ pkgs.glab ];
|
|
};
|
|
}
|