summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/lib/utils.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix
index 190c4db4d49..733f9ca522b 100644
--- a/nixos/lib/utils.nix
+++ b/nixos/lib/utils.nix
@@ -150,7 +150,8 @@ rec {
         rm '${output}'
       fi
 
-      inherit_errexit_restore=$(shopt -p inherit_errexit)
+      inherit_errexit_enabled=0
+      shopt -pq inherit_errexit && inherit_errexit_enabled=1
       shopt -s inherit_errexit
     ''
     + concatStringsSep
@@ -170,7 +171,7 @@ rec {
       ' <<'EOF'
       ${builtins.toJSON set}
       EOF
-      $inherit_errexit_restore
+      (( ! $inherit_errexit_enabled )) && shopt -u inherit_errexit
     '';
 
   systemdUtils = {