about summary refs log tree commit diff
path: root/home/git
diff options
context:
space:
mode:
Diffstat (limited to 'home/git')
-rw-r--r--home/git/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/home/git/default.nix b/home/git/default.nix
new file mode 100644
index 0000000..3b0bc86
--- /dev/null
+++ b/home/git/default.nix
@@ -0,0 +1,51 @@
+{ lib, config, ... }:
+
+let cfg = config.my.home.git;
+in {
+  options.my.home.git = with lib.my; {
+    enable = mkEnableOption "git configuration";
+  };
+
+  config.programs.git = lib.mkIf cfg.enable {
+    enable = true;
+    aliases = {
+      s = "status --short --branch";
+      amend = "commit --amend --no-edit";
+    };
+    extraConfig = {
+      core.whitespace = "trailing-space,space-before-tab";
+      color.ui = "true";
+      push.default = "simple";
+      init.defaultBranch = "main";
+      branch.autosetuprebase = "remote";
+      branch.sort = "authordate";
+    };
+    userName = "Franck Cuny";
+    userEmail = "franck@fcuny.net";
+    extraConfig = {
+      "credential \"https://github.com\"" = { username = "fcuny"; };
+      "credential \"https://git.fcuny.net\"" = { username = "fcuny"; };
+    };
+    ignores = [
+      "*.elc"
+      "*.iml"
+      "*.o"
+      "*.pyc"
+      "*.pyo"
+      "*pyc"
+      "*~"
+      ".DS_Store"
+      ".\\#"
+      ".dir-locals.el"
+      ".direnv/*"
+      ".idea"
+      ".projectile"
+      ".pytest_cache/"
+      "/env/*"
+      "Icon"
+      "TAGS"
+      "\\#*\\#"
+      "tags"
+    ];
+  };
+}