diff --git a/home/alex/cli.nix b/home/alex/cli.nix index 193bbaa..2efaddb 100644 --- a/home/alex/cli.nix +++ b/home/alex/cli.nix @@ -16,6 +16,7 @@ in { ./programs/editorconfig ./programs/jq ./programs/fzf + ./programs/git ]; programs.home-manager.enable = true; @@ -149,15 +150,6 @@ in { settings.git_protocol = "ssh"; }; - git = { - enable = true; - ignores = [ "*~" "*.swp" "result" "dist-newstyle" ]; - userEmail = user.mail; - userName = user.fullName; - aliases = { st = "status"; }; - extraConfig = { init.defaultBranch = "main"; }; - }; - gpg = { enable = true; settings = { homedir = "~/.local/share/gnupg"; }; diff --git a/home/alex/programs/git/default.nix b/home/alex/programs/git/default.nix new file mode 100644 index 0000000..21f6fc9 --- /dev/null +++ b/home/alex/programs/git/default.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +{ + programs.git = { + enable = true; + lfs.enable = true; + ignores = [ "*~" "*.swp" "result" "dist-newstyle" ]; + signing = { + key = "41A6D13FECA21280"; + signByDefault = false; + }; + delta = { enable = true; }; + # TODO create option for my own account meta data + userEmail = "me@failco.de"; + userName = "Alexander Kobjolke"; + aliases = { + a = "add"; + c = "commit"; + ca = "commit --amend"; + can = "commit --amend --no-edit"; + cl = "clone"; + cm = "commit -m"; + co = "checkout"; + cp = "cherry-pick"; + cpx = "cherry-pick -x"; + d = "diff"; + f = "fetch"; + fo = "fetch origin"; + fu = "fetch upstream"; + lol = "log --graph --decorate --pretty=oneline --abbrev-commit"; + lola = "log --graph --decorate --pretty=oneline --abbrev-commit --all"; + pl = "pull"; + pr = "pull -r"; + ps = "push"; + psf = "push -f"; + rb = "rebase"; + rbi = "rebase -i"; + r = "remote"; + ra = "remote add"; + rr = "remote rm"; + rv = "remote -v"; + rs = "remote show"; + st = "status"; + }; + extraConfig = { init.defaultBranch = "main"; }; + }; + + programs.git-cliff = { enable = true; }; +}