From 78746867bafc79f475c39f76c7bc086d69513f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Sat, 12 Jul 2025 09:55:47 +0200 Subject: [PATCH] vanadium: refactor git identity configuration --- nix/configurations/vanadium/home/dev.nix | 49 ++++++++++++++++++++++++ nix/homeModules/common/git.nix | 28 -------------- 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/nix/configurations/vanadium/home/dev.nix b/nix/configurations/vanadium/home/dev.nix index c96ed512..7cab99c4 100644 --- a/nix/configurations/vanadium/home/dev.nix +++ b/nix/configurations/vanadium/home/dev.nix @@ -40,6 +40,55 @@ "r/nixos/nixpkgs" ]; }; + includes = let + hasconfigRemoteCondition = cfg: + cfg // {condition = "hasconfig:remote.*.url:" + cfg.condition;}; + + haskellIdentity = { + init.defaultBranch = "main"; + user.name = "Léana Jiang"; + }; + + universityIdentity = { + init.defaultBranch = "main"; + user = { + name = "Léana CHIANG"; + email = "leana.chiang@etudiant.univ-rennes1.fr"; + signingKey = "0x32035DB97E777EEB"; + }; + }; + + blameIgnore = { + blame.ignoreRevsFile = ".git-blame-ignore-revs"; + }; + in + map hasconfigRemoteCondition [ + # Univ stuff + { + condition = "gitlab.istic.univ-rennes1.fr"; + contents = universityIdentity; + } + { + condition = "gitlab2.istic.univ-rennes1.fr"; + contents = universityIdentity; + } + + # Haskell + { + condition = "git@gitlab.haskell.org:*/**"; + contents = lib.mkMerge [ + haskellIdentity + blameIgnore + ]; + } + + # Blame + # Turning this on globally will fail if the file doesn't exist + { + condition = "git@github.com:nixos/nixpkgs.git"; + contents = blameIgnore; + } + ]; }; programs.gpg.enable = true; diff --git a/nix/homeModules/common/git.nix b/nix/homeModules/common/git.nix index aef38c0b..ca599362 100644 --- a/nix/homeModules/common/git.nix +++ b/nix/homeModules/common/git.nix @@ -59,32 +59,4 @@ signByDefault = lib.mkDefault false; }; }; - - programs.git.includes = let - mkIdentity = condition: contents: {inherit condition contents;}; - hostCondition = url: "hasconfig:remote.*.url:git@${url}:*/**"; - - universityIdentity = { - init.defaultBranch = "main"; - user = { - name = "Léana CHIANG"; - email = "leana.chiang@etudiant.univ-rennes1.fr"; - signingKey = "0x32035DB97E777EEB"; - }; - }; - haskellIdentity = { - init.defaultBranch = "main"; - user.name = "Léana Jiang"; - }; - in [ - (mkIdentity - (hostCondition "gitlab.istic.univ-rennes1.fr") - universityIdentity) - (mkIdentity - (hostCondition "gitlab2.istic.univ-rennes1.fr") - universityIdentity) - (mkIdentity - (hostCondition "gitlab.haskell.org") - haskellIdentity) - ]; }