diff --git a/default.nix b/default.nix index 76ad3b4..edc9294 100644 --- a/default.nix +++ b/default.nix @@ -1228,28 +1228,6 @@ in }; - rebootAfterKernelUpgrade = { - enable = mkOption { - type = types.bool; - default = false; - example = true; - description = '' - Whether to enable automatic reboot after kernel upgrades. - This is to be used in conjunction with `system.autoUpgrade.enable = true;` - This can also be achieved via `system.autoUpgrade.allowReboot = true;` - ''; - }; - method = mkOption { - type = types.enum [ "reboot" "systemctl kexec" ]; - default = "reboot"; - description = '' - Whether to issue a full "reboot" or just a "systemctl kexec"-only reboot. - It is recommended to use the default value because the quicker kexec reboot has a number of problems. - Also if your server is running in a virtual machine the regular reboot will already be very quick. - ''; - }; - }; - backup = { enable = mkEnableOption "backup via rsnapshot"; @@ -1317,6 +1295,13 @@ in (lib.mkRemovedOptionModule [ "mailserver" "fullTextSearch" "indexAttachments" ] '' Text attachments are always indexed since fts-xapian 1.4.8 '') + (lib.mkRenamedOptionModule + [ "mailserver" "rebootAfterKernelUpgrade" "enable" ] + [ "system" "autoUpgrade" "allowReboot" ] + ) + (lib.mkRemovedOptionModule [ "mailserver" "rebootAfterKernelUpgrade" "method" ] '' + Use `system.autoUpgrade` instead. + '') ./mail-server/assertions.nix ./mail-server/borgbackup.nix ./mail-server/debug.nix @@ -1333,6 +1318,5 @@ in ./mail-server/rspamd.nix ./mail-server/nginx.nix ./mail-server/kresd.nix - ./mail-server/post-upgrade-check.nix ]; } diff --git a/mail-server/post-upgrade-check.nix b/mail-server/post-upgrade-check.nix deleted file mode 100644 index 9b418b2..0000000 --- a/mail-server/post-upgrade-check.nix +++ /dev/null @@ -1,46 +0,0 @@ -# nixos-mailserver: a simple mail server -# Copyright (C) 2016-2018 Robin Raymond -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see - -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.mailserver; -in -{ - config = mkIf (cfg.enable && cfg.rebootAfterKernelUpgrade.enable) { - systemd.services.nixos-upgrade.serviceConfig.ExecStartPost = pkgs.writeScript "post-upgrade-check" '' - #!${pkgs.stdenv.shell} - - # Checks whether the "current" kernel is different from the booted kernel - # and then triggers a reboot so that the "current" kernel will be the booted one. - # This is just an educated guess. If the links do not differ the kernels might still be different, according to spacefrogg in #nixos. - - current=$(readlink -f /run/current-system/kernel) - booted=$(readlink -f /run/booted-system/kernel) - - if [ "$current" == "$booted" ]; then - echo "kernel version seems unchanged, skipping reboot" | systemd-cat --priority 4 --identifier "post-upgrade-check"; - else - echo "kernel path changed, possibly a new version" | systemd-cat --priority 2 --identifier "post-upgrade-check" - echo "$booted" | systemd-cat --priority 2 --identifier "post-upgrade-kernel-check" - echo "$current" | systemd-cat --priority 2 --identifier "post-upgrade-kernel-check" - ${cfg.rebootAfterKernelUpgrade.method} - fi - ''; - }; -}