aboutsummaryrefslogtreecommitdiff
path: root/home/git/default.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-05-05 19:41:58 -0700
committerFranck Cuny <franck@fcuny.net>2023-05-05 19:41:58 -0700
commit43da9edb4598eef509c481ae0b305384418c45de (patch)
treea0ad614c90102757143e026e4fe1806431a3dbf4 /home/git/default.nix
parentprofiles/default: users are immutable (diff)
downloadinfra-43da9edb4598eef509c481ae0b305384418c45de.tar.gz
home/profiles: move (almost) all modules to profiles
This is a major refactor, similar to what was done for the hosts, but in a single commit.
Diffstat (limited to 'home/git/default.nix')
-rw-r--r--home/git/default.nix63
1 files changed, 0 insertions, 63 deletions
diff --git a/home/git/default.nix b/home/git/default.nix
deleted file mode 100644
index e840f54..0000000
--- a/home/git/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, config, pkgs, ... }:
-
-let
- cfg = config.my.home.git;
- sshPub = builtins.fromTOML (builtins.readFile ../../configs/ssh-pubkeys.toml);
-in
-{
- options.my.home.git = with lib; {
- enable = mkEnableOption "git configuration";
- };
-
- config = lib.mkIf cfg.enable {
- home.file.".ssh/allowed_signers".text = lib.concatMapStrings (x: "franck@fcuny.net ${x}\n") (with sshPub; [ aptos work git ykey-laptop ]);
-
- programs.git = {
- enable = true;
- aliases = {
- s = "status --short --branch";
- amend = "commit --amend --no-edit";
- };
- signing = {
- key = "key::${sshPub.ykey-laptop}";
- signByDefault = true;
- };
- extraConfig = {
- core.whitespace = "trailing-space,space-before-tab";
- color.ui = "true";
-
- diff = {
- age.textconv = "${pkgs.age}/bin/age --identity ${config.home.homeDirectory}/.age/key.txt --decrypt";
- };
-
- gpg = {
- format = "ssh";
- ssh.allowedSignersFile = "~/.ssh/allowed_signers";
- };
- # abort if the remote branch does not match the local one
- push.default = "simple";
-
- init.defaultBranch = "main";
-
- pull.rebase = true;
- rebase = {
- # Automatically create a temporary stash entry before the
- # operation begins, and apply it after the operation ends.
- autoStash = true;
- # Print a warning if some commits are removed
- missingCommitsCheck = "warn";
- };
-
- branch.autosetuprebase = "remote";
- branch.sort = "authordate";
-
- commit.template = "${config.xdg.dataHome}/git/commit.template";
- };
- userName = "Franck Cuny";
- userEmail = "franck@fcuny.net";
- ignores = [ (builtins.readFile ./gitignore) ];
- };
- xdg.dataFile."git/commit.template" = { source = ./commit.template; };
- home.packages = with pkgs; [ tools.git-blame-stats gitAndTools.pre-commit ];
- };
-}