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:
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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -32,6 +32,7 @@ in
|
|||||||
imports = [
|
imports = [
|
||||||
nixosModules.workstation-base
|
nixosModules.workstation-base
|
||||||
nixosModules.laptop-power
|
nixosModules.laptop-power
|
||||||
|
nixosModules.sharepoint-reference
|
||||||
./_hardware.nix
|
./_hardware.nix
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-yoga-7-14ARH7-amdgpu
|
inputs.nixos-hardware.nixosModules.lenovo-yoga-7-14ARH7-amdgpu
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in new issue
Block a user