diff --git a/modules/nixfiles/nixfiles-system-upgrade.nix b/modules/nixfiles/nixfiles-system-upgrade.nix index 546478b..a3f29b7 100644 --- a/modules/nixfiles/nixfiles-system-upgrade.nix +++ b/modules/nixfiles/nixfiles-system-upgrade.nix @@ -19,11 +19,22 @@ in }; config = mkIf cfg.enable { systemd.services.nixfiles-system-auto-upgrade = { + # Make sure this unit does not stop themself while upgrading + restartIfChanged = false; + unitConfig.X-StopOnRemoval = false; + serviceConfig = { Type = "oneshot"; ExecStart = pkgs.nixfiles-system-upgrade + "/bin/nixfiles-system-upgrade --no-confirm${optionalString cfg.allowReboot " --allow-reboot"}"; }; - startAt = "*-*-* 06:47:00"; + }; + systemd.timers.nixfiles-system-auto-upgrade = { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = "*-*-* 05:37:00"; + RandomizedDelaySec = "2h"; + }; + after = [ "network-online.target" ]; }; }; }