diff --git a/hosts/rpi4/configuration.nix b/hosts/rpi4/configuration.nix index 6f14812..4b2612c 100644 --- a/hosts/rpi4/configuration.nix +++ b/hosts/rpi4/configuration.nix @@ -10,6 +10,8 @@ ./hardware-configuration.nix ./services.nix + ./media-sync.nix + ./backup.nix ]; diff --git a/hosts/rpi4/media-sync.nix b/hosts/rpi4/media-sync.nix new file mode 100644 index 0000000..e06b0dd --- /dev/null +++ b/hosts/rpi4/media-sync.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: +let +in { + config = { + nixfiles.programs.syncthing.enable = true; + + + systemd.timers.gallery-dl = { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "5m"; + OnUnitActiveSec = "13"; + RandomizedDelaySec = "4m"; + }; + }; + systemd.services.gallery-dl = { + script = '' + PATH=${with pkgs; lib.escapeShellArg (lib.makeBinPath [ bash coreutils findutils gallery-dl ])} + export PATH + + # none of your fucking business + # TODO move this into an agenix secret probably + exec /srv/gallery-dl.sh + ''; + + serviceConfig = { + Type = "oneshot"; + User = "nullbite"; + }; + }; + + systemd.timers.gallery-dl-dedup = { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = "03:00"; + RandomizedDelaySec = "3h"; + }; + }; + systemd.services.gallery-dl-dedup = { + script = '' + PATH=${with pkgs; lib.escapeShellArg (lib.makeBinPath [ coreutils rmlint ])} + export PATH + + exec /srv/gallery-dl-dedup.sh + ''; + serviceConfig = { + Type = "oneshot"; + User = "nullbite"; + }; + }; + }; +}