1{
2 lib,
3 traits,
4 inputs,
5 ...
6}:
7{
8 programs.git = lib.mkMerge [
9 {
10 enable = true;
11
12 settings = {
13 user.name = "Sophie Cheung";
14 user.email = "git@soopy.moe";
15 };
16 }
17
18 (lib.mkIf traits.gui {
19 settings = {
20 gpg.format = "ssh";
21 commit.gpgSign = true;
22 tag.gpgSign = true;
23
24 user.signingKey = inputs.self + "/creds/ssh/auth";
25 };
26 })
27 ];
28
29 programs.diff-so-fancy = {
30 enable = true;
31 enableGitIntegration = true;
32
33 settings.stripLeadingSymbols = false;
34 };
35
36 home.shellAliases = {
37 # redo previous commit when something explodes, like my key died or something
38 gcmm = "git commit -eF .git/COMMIT_EDITMSG"; # FIXME: strip the thing after ------ 8< ------
39 };
40}