Update flatpak-management.nix

This commit is contained in:
ska
2025-12-25 23:30:26 +00:00
parent 9348d05b12
commit c8bc8ac494

View File

@@ -4,9 +4,14 @@ let
desiredFlatpaks = [ desiredFlatpaks = [
"ch.threema.threema-web-desktop" "ch.threema.threema-web-desktop"
]; ];
flatpakScript = pkgs.writeScript "nix-flatpak-management" '' flatpakScript = pkgs.writeScript "nix-flatpak-management" ''
#!${pkgs.runtimeShell} -e #!${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 # Get currently installed Flatpaks
installedFlatpaks=$(${pkgs.flatpak}/bin/flatpak list --app --columns=application) installedFlatpaks=$(${pkgs.flatpak}/bin/flatpak list --app --columns=application)
@@ -33,21 +38,38 @@ let
''; '';
in in
{ {
############################################################
# Flatpak Management Service
############################################################
systemd.services.nix-flatpak-management = { systemd.services.nix-flatpak-management = {
description = "Manage Flatpak installations"; description = "Manage Flatpak installations";
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = "yes"; RemainAfterExit = "yes";
ExecStart = "${flatpakScript}"; ExecStart = "${flatpakScript}";
}; };
wantedBy = ["multi-user.target"];
wantedBy = [ "multi-user.target" ];
}; };
############################################################
# Flatpak Management Timer
############################################################
systemd.timers.nix-flatpak-management = { systemd.timers.nix-flatpak-management = {
description = "Run flatpak management periodically"; description = "Run flatpak management periodically";
wantedBy = [ "timers.target" ];
timerConfig = { timerConfig = {
OnBootSec = "2min";
OnUnitActiveSec = "5min"; OnUnitActiveSec = "5min";
Persistent = true;
}; };
wantedBy = ["timers.target"];
}; };
} }