home/git: move maintenance repo detector config to separate module
Evaluate machine configurations / eval (kasei) (push) Successful in 2m16s
Evaluate machine configurations / eval (xps16) (push) Successful in 2m16s
Evaluate machine configurations / eval (tsuki) (push) Successful in 3m38s

This commit is contained in:
2026-06-06 19:24:34 +09:00
parent 4f662737e3
commit fda7bc1e5a
3 changed files with 76 additions and 32 deletions
+11 -32
View File
@@ -24,7 +24,17 @@ lib.mkIf cfg.enable {
signByDefault = true;
};
maintenance.enable = true;
maintenance = {
enable = true;
repository-detector = {
enable = true;
directories = [
"${config.home.homeDirectory}/git"
"${config.home.homeDirectory}/work"
"${config.home.homeDirectory}/pvv"
];
};
};
lfs.enable = true;
@@ -288,37 +298,6 @@ lib.mkIf cfg.enable {
})
];
systemd.user.services."git-maintenance@".Service = lib.mkIf cfg.maintenance.enable {
ExecStartPre = let
repoDirs = lib.escapeShellArgs [
"${config.home.homeDirectory}/git"
"${config.home.homeDirectory}/work"
"${config.home.homeDirectory}/pvv"
];
script = pkgs.writeShellApplication {
name = "discover-git-maintenance-repos";
text = ''
{
echo "[maintenance]"
for repoLocation in ${repoDirs}; do
for repo in "$repoLocation"/*/.git; do
if [ "$(git config get -f "$repo/config" maintenance.skip)" != true ]; then
echo "repo = $('${pkgs.coreutils}/bin/realpath' "''${repo%"/.git"}")"
fi
done
done
} > "$1"
'';
};
in "${lib.getExe script} %t/maintenance-repos";
ExecStart = lib.mkForce ''
"${lib.getExe cfg.package}" -c include.path="%t/maintenance-repos" for-each-repo --keep-going --config=maintenance.repo maintenance run --schedule=%i
'';
};
home.packages = [
(pkgs.writeShellApplication {
name = "git-tcommit";