summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/power/default.nix2
-rw-r--r--modules/system/checks.nix10
2 files changed, 12 insertions, 0 deletions
diff --git a/modules/power/default.nix b/modules/power/default.nix
index a99905f..c3e4974 100644
--- a/modules/power/default.nix
+++ b/modules/power/default.nix
@@ -15,6 +15,8 @@ in
default = null;
description = ''
Whether to restart the computer after a power failure.
+
+ Option is not supported on all devices.
'';
};
diff --git a/modules/system/checks.nix b/modules/system/checks.nix
index 796e7e4..91622e5 100644
--- a/modules/system/checks.nix
+++ b/modules/system/checks.nix
@@ -308,6 +308,15 @@ let
exit 2
fi
'';
+
+ # some mac devices, notably notebook do not support restartAfterPowerFailure option
+ restartAfterPowerFailureIsSupported = ''
+ if sudo /usr/sbin/systemsetup -getRestartPowerFailure | grep -q "Not supported"; then
+ printf >&2 "�[1;31merror: restarting after power failure is not supported on your machine�[0m\n" >&2
+ printf >&2 "Please ensure that `power.restartAfterPowerFailure` is not set.\n" >&2
+ exit 2
+ fi
+ '';
in
{
@@ -357,6 +366,7 @@ in
(mkIf cfg.verifyNixPath nixPath)
oldSshAuthorizedKeysDirectory
(mkIf config.homebrew.enable homebrewInstalled)
+ (mkIf (config.power.restartAfterPowerFailure != null) restartAfterPowerFailureIsSupported)
];
system.activationScripts.checks.text = ''