[Nix] Inhibit sleep and shutdown while rebuilding system configuration

This commit is contained in:
Antoine Viallon 2023-03-19 23:30:04 +01:00
parent b9a160dd0a
commit 699f730c91
Signed by: aviallon
GPG key ID: 186FC35EDEB25716

15
nix.nix
View file

@ -22,6 +22,21 @@ in
lower = "01:00"; lower = "01:00";
upper = "05: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 = { systemd.services.nixos-upgrade = {
unitConfig = { unitConfig = {
ConditionCPUPressure = "user.slice:15%"; ConditionCPUPressure = "user.slice:15%";