diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index f221815..9b0153c 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -1,4 +1,5 @@ -{pkgs, ...}:{ +{ pkgs, ... }: +{ programs.git = { enable = true; package = pkgs.gitSVN; @@ -17,6 +18,27 @@ signByDefault = true; }; extraConfig = { + "branch" = { + sort = "-commiterdate"; + }; + "column" = { + ui = "auto"; + }; + "commit" = { + verbose = "true"; + }; + "diff" = { + algorithm = "histogram"; + colorMoved = "plain"; + mnemonicPrefix = "true"; + renames = "true"; + }; + "tag" = { + sort = "version:refname"; + }; + "help" = { + autocorrect = "promt"; + }; "core" = { pager = "less -F -X"; }; @@ -26,29 +48,42 @@ "pull" = { rebase = "true"; }; + "rebase" = { + autoSquash = "true"; + autoStash = "true"; + updateRefs = "true"; + }; + "fetch" = { + all = "true"; + prune = "true"; + pruneTags = "true"; + }; "push" = { autoSetupRemote = "true"; + default = "simple"; + followTags = "true"; + }; }; - aliases = { # checkout-pull-request from GitHub cpr = "!f() { git fetch origin refs/pull/$1/head && git checkout FETCH_HEAD; }; f"; }; - includes = [{ - condition = "gitdir:~/denic/"; - contents = { - user = { - email = "breidenstein@denic.de"; - name = "Felix Breidenstein"; + includes = [ + { + condition = "gitdir:~/denic/"; + contents = { + user = { + email = "breidenstein@denic.de"; + name = "Felix Breidenstein"; + }; + commit = { + gpgSign = false; + }; }; - commit = { - gpgSign = false; - }; - }; - } + } ]; }; }