From 699f730c91552f944e4fa83c12bcc59e06a46a2b Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Sun, 19 Mar 2023 23:30:04 +0100 Subject: [PATCH] [Nix] Inhibit sleep and shutdown while rebuilding system configuration --- nix.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nix.nix b/nix.nix index ce91ab2..ca9cb0a 100644 --- a/nix.nix +++ b/nix.nix @@ -22,6 +22,21 @@ in lower = "01:00"; upper = "05:00"; }; + + system.build.nixos-rebuild = let + nixos-rebuild = pkgs.nixos-rebuild.override { nix = config.nix.package.out; }; + nixos-rebuild-inhibit = pkgs.writeShellScriptBin "nixos-rebuild" '' + exec ${config.systemd.package}/bin/systemd-inhibit --what=shutdown:sleep --mode=delay \ + --who="NixOS rebuild" \ + --why="NixOS must finish rebuilding configuration or work would be lost." \ + -- ${nixos-rebuild}/bin/nixos-rebuild "$@" + ''; + in mkOverride 20 nixos-rebuild-inhibit; + + environment.systemPackages = [ + (hiPrio config.system.build.nixos-rebuild) + ]; + systemd.services.nixos-upgrade = { unitConfig = { ConditionCPUPressure = "user.slice:15%";