From c8bc8ac494a3a60819973e5ddcc569a5c00d9ce3 Mon Sep 17 00:00:00 2001 From: ska Date: Thu, 25 Dec 2025 23:30:26 +0000 Subject: [PATCH] Update flatpak-management.nix --- flatpak-management.nix | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/flatpak-management.nix b/flatpak-management.nix index bc892dc..633cd13 100644 --- a/flatpak-management.nix +++ b/flatpak-management.nix @@ -4,9 +4,14 @@ let desiredFlatpaks = [ "ch.threema.threema-web-desktop" ]; + flatpakScript = pkgs.writeScript "nix-flatpak-management" '' #!${pkgs.runtimeShell} -e - ${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo + + ${pkgs.flatpak}/bin/flatpak remote-add \ + --if-not-exists flathub \ + https://dl.flathub.org/repo/flathub.flatpakrepo + # Get currently installed Flatpaks installedFlatpaks=$(${pkgs.flatpak}/bin/flatpak list --app --columns=application) @@ -33,21 +38,38 @@ let ''; in { + ############################################################ + # Flatpak Management Service + ############################################################ + systemd.services.nix-flatpak-management = { description = "Manage Flatpak installations"; + + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { Type = "oneshot"; RemainAfterExit = "yes"; ExecStart = "${flatpakScript}"; }; - wantedBy = ["multi-user.target"]; + + wantedBy = [ "multi-user.target" ]; }; + ############################################################ + # Flatpak Management Timer + ############################################################ + systemd.timers.nix-flatpak-management = { description = "Run flatpak management periodically"; + + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "2min"; OnUnitActiveSec = "5min"; + Persistent = true; }; - wantedBy = ["timers.target"]; }; } \ No newline at end of file