home/git: preexec maintenance with repo discovery script

This commit is contained in:
2025-04-28 10:31:41 +02:00
parent 479434f156
commit f85ed829a9
3 changed files with 32 additions and 10 deletions
home/programs/git
hosts/dosei/home
secrets

@ -333,6 +333,35 @@ in
})
];
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
echo "repo = $(realpath "''${repo%"/.git"}")"
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";

@ -18,11 +18,5 @@
"microbel pvv-users pvv-mail".proxyJump = "tsuki-ws";
};
sops.secrets."git/nordicsemi-maintenance-repos-config" = { };
programs.git.includes = [
{ path = config.sops.secrets."git/nordicsemi-maintenance-repos-config".path; }
];
programs.waybar.settings.mainBar.output = [ "DP-1" ];
}

@ -1,6 +1,5 @@
git:
nordicsemi-config: ENC[AES256_GCM,data:ziuM41RTsxkiutxjj8Pl5YuoETkxQNWEbGKd2Y99E0kTV9fL67g+YeGjeVFXErraeB/+jBVpjitK3lSHxlpxZLWckZ0G6A7NAFNagY9cORCFlLb+egyKb44xu8vBt4V5eA==,iv:yG06oluENc038cm5A9tpmSQtaGjd6nYDi/FnBd3A8Rk=,tag:ky6bCsYLOZmWObHnJ816Zw==,type:str]
nordicsemi-maintenance-repos-config: ENC[AES256_GCM,data:oZ5hgpJj6ENM4S360Zo7SKGbZCDlBZ2NMJ/xRw7MUUvrFcvNSmhSf+WjjJbh+IXr2J82g92guI4Gw/1sOwyfmDfTo0cmKAGY1ZXIjHgSfpdufyl+sGWhpVG+fxmcqQTuiWYkCdLE3Rr+JoTCQ9f8N54uYJHU9X3MeFyrZjaPQA6tFDT8EIq35HifptN1uFEQyKxwaN9iKRyFEI3C9i6mvLYW6XuYYK+oirPgCecaMB3aVZotsMcLnO9C51N2hKKGdkx/JT/jqqAJ4IYUExDNTnBxvgKCrEldaqRGqi9F/3iPVuNSKCUG0uefG3010OhiwnU8WrXblw9jHSHkZ5crIhC2S/y9fzvA+ZuJUctan+GuoIG7VbqdLy0Jz2FXGDs6qNQX6/I0Eud7ajvIHAz+Zp/lVF8U91BwzY2dXLdEKK+KRHtT5gXWXPQHO3HEBlYjxVsMf0V/1WGuUeAQMu46q7YRuRuwuBNVFj2QkRKJo8TX8vXeWrdpzR6qQ4RynioUmI+GLZY=,iv:1wEwje63Ui6aKVq0yNtVsODmWe0kYkBt3pbp/RKqr/s=,tag:Ujhi6tRNphbPtFUL5m8jpw==,type:str]
nordicsemi:
envvars: ENC[AES256_GCM,data:6vx077unPWt6WRy0oZKC3qpVA8BKigYDdhsZ2rmLYFtzW//01CrRgXX420UB,iv:e2hJuRj4A8ZBGG0j2YINdvM3IXzpCnJK0Sm5AXhOTZM=,tag:9SdpNIFSiLhI073dk3cC5g==,type:str]
ssh:
@ -29,8 +28,8 @@ sops:
UDBQRkFtTzYveU9Cc3dYVjQyMVJQUjgKu2zXnw1OCUPW/4/colAqdzU4TUAHZqFd
s4n79dNnTxp4AnhN3UWpN6kUWIOkezVqXPFAz+bQcglZOm6gmBEJow==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-07T23:05:27Z"
mac: ENC[AES256_GCM,data:0EgnvPIiDHfE6YYVISwMdYycXUXRkvJLpi5llNF5HMCUMQNFIPemb4OkPbcZhP0HkZCRQC6pFhTXWMU9NbxpTmDWHV0+pNrlkX4PiRKjCJ7Yqq9dNkJzCfq7091ZYYCH9UrgKIyi6+/6jGANI1sq+QuEyZFVPYMnaeSVo+ntqVE=,iv:pJogp+pCfkDaTGh/Qy+GDcELw35Q4Sa8iMKU4JfGCRk=,tag:JGpN4HymcHpJS47fGx6cjg==,type:str]
lastmodified: "2025-04-28T08:30:45Z"
mac: ENC[AES256_GCM,data:jPjNTuXKuONVKbMeb2/DtklT6OxORn0UdjWYTmcryn1qaAaTHD+gr2sPSWNRlZe3o3tugTCOlpeAbTDnyQmy60zzXJV/PGLWdW5XcnECkt7Eutop/25sPuVAkrJcCY8hRkqUv0Jk7HOAukHKJr8EIU4Op2nYjvIlyULgCmYAZ5o=,iv:x/MHOazISB0T15vpiClpLgVPMPfpevRo9fMwurQXVI8=,tag:6i8wAN1SKGWfTesPblhaFQ==,type:str]
pgp:
- created_at: "2025-04-02T10:09:10Z"
enc: |-
@ -53,4 +52,4 @@ sops:
-----END PGP MESSAGE-----
fp: F7D37890228A907440E1FD4846B9228E814A2AAC
unencrypted_suffix: _unencrypted
version: 3.8.1
version: 3.9.4