diff --git a/host/home/Backup.nix b/host/home/Backup.nix index e102c44..bc0f7fe 100644 --- a/host/home/Backup.nix +++ b/host/home/Backup.nix @@ -74,7 +74,7 @@ echo "Backup : Complete ''${bupsize}." ''; in { - systemd.services.backup = { + systemd.services.backup = util.mkStaticSystemdService { enable = true; description = "Home system backup."; serviceConfig = { diff --git a/host/home/Nextcloud.nix b/host/home/Nextcloud.nix index 584211d..f847633 100644 --- a/host/home/Nextcloud.nix +++ b/host/home/Nextcloud.nix @@ -4,7 +4,7 @@ docker exec -u 33 cloud php -f /var/www/html/cron.php || notify 'Nextcloud : Failed to run cron.' ''; in { - systemd.services.nextcloud = { + systemd.services.nextcloud = util.mkStaticSystemdService { enable = true; description = "Nextcloud worker."; serviceConfig = { diff --git a/host/home/PhotosProcess.nix b/host/home/PhotosProcess.nix index 02bdf7f..22a900c 100644 --- a/host/home/PhotosProcess.nix +++ b/host/home/PhotosProcess.nix @@ -1,11 +1,11 @@ -{ pkgs, ... }: let +{ pkgs, util, ... }: let script = '' in="/storage/hot/docker/cloud/data/data/cakee/files/media/photo/" out="/storage/cold_1/backup/tmp/photo/" docker run --rm -v "''${in}":/in -v "''${out}":/out voronind.com/photoprocess:latest ''; in { - systemd.services.photos_process = { + systemd.services.photos_process = util.mkStaticSystemdService { enable = true; description = "Process uploaded photos."; serviceConfig = { diff --git a/host/home/YandexMusic.nix b/host/home/YandexMusic.nix index 52de188..b63d6dc 100644 --- a/host/home/YandexMusic.nix +++ b/host/home/YandexMusic.nix @@ -1,10 +1,10 @@ -{ pkgs, ... }: let +{ pkgs, util, ... }: let script = '' music="/storage/hot/media/music/" docker run --rm -v "''${music}":/music voronind.com/yamusic:latest ''; in { - systemd.services.yandex_music = { + systemd.services.yandex_music = util.mkStaticSystemdService { enable = true; description = "Sync music from Yandex.Music."; serviceConfig = { diff --git a/module/common/AutoUpdateSigned.nix b/module/common/AutoUpdateSigned.nix index 4124225..0a2cd99 100644 --- a/module/common/AutoUpdateSigned.nix +++ b/module/common/AutoUpdateSigned.nix @@ -1,11 +1,8 @@ -{ const, pkgs, lib, secret, ... }: { - systemd.services.autoupdate = { - enable = true; - description = "Signed system auto-update."; - restartIfChanged = false; +{ const, pkgs, lib, secret, util, ... }: { + systemd.services.autoupdate = util.mkStaticSystemdService { + enable = true; + description = "Signed system auto-update."; serviceConfig.Type = "oneshot"; - stopIfChanged = false; - unitConfig.X-StopOnRemoval = false; path = with pkgs; [ bash git diff --git a/part/Util.nix b/part/Util.nix index 8a3dbb0..ff70dfc 100644 --- a/part/Util.nix +++ b/part/Util.nix @@ -14,4 +14,11 @@ catText = files: args: builtins.foldl' (acc: mod: acc + trimTabs ((import mod args).text) ) "" files; + + # Systemd service that does not restart with system switch. + mkStaticSystemdService = params: params // { + restartIfChanged = false; + stopIfChanged = false; + unitConfig.X-StopOnRemoval = false; + }; }