From b4ffc4ec0bbad4e0c09a5e8be948a1d8a625669f Mon Sep 17 00:00:00 2001 From: Jordan Holt Date: Sun, 22 Jun 2025 10:56:52 +0100 Subject: [PATCH] hosts/skycam: add archiver script --- hosts/skycam/default.nix | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hosts/skycam/default.nix b/hosts/skycam/default.nix index 8f3adad..2d0e641 100644 --- a/hosts/skycam/default.nix +++ b/hosts/skycam/default.nix @@ -31,6 +31,33 @@ }; }; + systemd.services.skycam-archiver = + let + snapshotScript = pkgs.writeShellScript "skycam-archiver" '' + ${pkgs.lib.getExe pkgs.curl} -s -o "/var/lib/skycam-archiver/snapshot-$(date +%Y%m%d-%H%M%S).jpg" "http://skycam.mesh.vimium.net:1984/api/frame.jpeg?src=rpicam" + ''; + in + { + description = "Capture skycam snapshot and save with timestamp"; + serviceConfig = { + Type = "oneshot"; + StateDirectory = "skycam-archiver"; + ExecStart = "${snapshotScript}"; + }; + requires = [ "go2rtc.service" ]; + after = [ "go2rtc.service" ]; + }; + + systemd.timers.skycam-archiver = { + description = "Timer for capturing skycam snapshots every 30 minutes"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "5min"; + OnUnitActiveSec = "30min"; + Unit = "skycam-archiver.service"; + }; + }; + environment.systemPackages = with pkgs; [ git neovim