58 lines
1.1 KiB
Nix
58 lines
1.1 KiB
Nix
|
{ config
|
||
|
, lib
|
||
|
, pkgs
|
||
|
, ...
|
||
|
}:
|
||
|
|
||
|
with lib;
|
||
|
let
|
||
|
cfg = config.my.programs.git;
|
||
|
in
|
||
|
{
|
||
|
options.my.programs.git = {
|
||
|
enable = mkOption {
|
||
|
default = true;
|
||
|
type = types.bool;
|
||
|
example = false;
|
||
|
};
|
||
|
signing = mkOption {
|
||
|
default = false;
|
||
|
type = types.bool;
|
||
|
example = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
my.shell.abbreviations = {
|
||
|
ga = "git add";
|
||
|
gb = "git branch";
|
||
|
gc = "git commit";
|
||
|
gco = "git checkout";
|
||
|
gd = "git diff";
|
||
|
gds = "git diff --staged";
|
||
|
gp = "git push";
|
||
|
gf = "git fetch";
|
||
|
gF = "git pull";
|
||
|
gs = "git status";
|
||
|
};
|
||
|
home-manager.users.moritz = {
|
||
|
programs.git = {
|
||
|
enable = true;
|
||
|
userName = "Moritz Böhme";
|
||
|
userEmail = "mail@moritzboeh.me";
|
||
|
extraConfig.init.defaultBranch = "main";
|
||
|
delta.enable = true;
|
||
|
signing = mkIf cfg.signing {
|
||
|
key = "0x970C6E89EB0547A9";
|
||
|
signByDefault = true;
|
||
|
};
|
||
|
lfs.enable = true;
|
||
|
};
|
||
|
};
|
||
|
programs.git = {
|
||
|
enable = true;
|
||
|
config.safe.directory = "/home/moritz/.dotfiles";
|
||
|
};
|
||
|
};
|
||
|
}
|