feat: declare two SharePoint reference mirrors on Zenith

Preserve the latest working-tree configuration: hourly rclone sync into Algemeen and Projecten, private file creation and a 100-deletion limit per invocation. Only rclone.conf gates the service; the earlier environment-file gate is removed.

Flake evaluation passed. Consent, synchronization and active service state were not checked during cleanup.
This commit is contained in:
kiri committed 2026-09-09 17:32:08 +02:00
1 parent 645b51330a
commit 4e8d165892
2 files changed
+48

No files matched your search

@@ -0,0 +1,47 @@
{ config, ... }:
{
flake.modules.homeManager.sharepoint-reference =
{
config,
lib,
pkgs,
...
}:
let
rcloneConfig = "${config.xdg.configHome}/rclone/rclone.conf";
destination = "${config.xdg.dataHome}/yookr-reference/sharepoint";
in
{
systemd.user.services.sharepoint-reference-sync = {
Unit = {
Description = "Refresh the local SharePoint reference mirror";
ConditionPathExists = rcloneConfig;
};
Service = {
Type = "oneshot";
UMask = "0077";
ExecStart = [
"${lib.getExe pkgs.rclone} --config ${rcloneConfig} sync company-sharepoint: ${destination}/Algemeen --max-delete 100"
"${lib.getExe pkgs.rclone} --config ${rcloneConfig} sync company-sharepoint-projecten: ${destination}/Projecten --max-delete 100"
];
};
};
systemd.user.timers.sharepoint-reference-sync = {
Unit.Description = "Refresh the local SharePoint reference mirror hourly";
Timer = {
OnCalendar = "hourly";
Persistent = true;
RandomizedDelaySec = "10m";
};
Install.WantedBy = [ "timers.target" ];
};
};
flake.modules.nixos.sharepoint-reference = {
home-manager.sharedModules = [ config.flake.modules.homeManager.sharepoint-reference ];
};
}
+1
View File
@@ -32,6 +32,7 @@ in
imports = [
nixosModules.workstation-base
nixosModules.laptop-power
nixosModules.sharepoint-reference
./_hardware.nix
inputs.nixos-hardware.nixosModules.lenovo-yoga-7-14ARH7-amdgpu
];