31 lines
730 B
Nix
31 lines
730 B
Nix
{ config, options, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
with lib.my;
|
|
let cfg = config.modules.shell.git;
|
|
configDir = config.dotfiles.configDir;
|
|
in {
|
|
options.modules.shell.git = {
|
|
enable = mkBoolOpt false;
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
user.packages = with pkgs; [
|
|
gitAndTools.gh
|
|
gitAndTools.git-open
|
|
gitAndTools.diff-so-fancy
|
|
(mkIf config.modules.shell.gnupg.enable
|
|
gitAndTools.git-crypt)
|
|
act
|
|
];
|
|
|
|
home.configFile = {
|
|
"git/config".source = "${configDir}/git/config";
|
|
"git/ignore".source = "${configDir}/git/ignore";
|
|
"git/attributes".source = "${configDir}/git/attributes";
|
|
};
|
|
|
|
modules.shell.zsh.rcFiles = [ "${configDir}/git/aliases.zsh" ];
|
|
};
|
|
}
|