diff --git a/wfvm/demo-image.nix b/wfvm/demo-image.nix index 66040c0..dd0727f 100644 --- a/wfvm/demo-image.nix +++ b/wfvm/demo-image.nix @@ -37,7 +37,10 @@ wfvm.makeWindowsImage { # administratorPassword = "12345"; # Imperative installation commands, to be installed incrementally - installCommands = with wfvm.layers; [ anaconda3 msys2 msvc msvc-ide-unbreak ]; + installCommands = with wfvm.layers; [ + disable-autosleep disable-autolock disable-firewall + anaconda3 msys2 msvc msvc-ide-unbreak + ]; # services = { # # Enable remote management diff --git a/wfvm/layers/default.nix b/wfvm/layers/default.nix index 5129632..452b737 100644 --- a/wfvm/layers/default.nix +++ b/wfvm/layers/default.nix @@ -122,4 +122,36 @@ in sleep 40 ''; }; + # Disable the Windows firewall + disable-firewall = { + name = "disable-firewall"; + script = '' + echo Disabling firewall + win-exec "netsh advfirewall set allprofiles state off" + ''; + }; + # Disable automatic power management which causes the machine to go + # into standby after periods without mouse wiggling. + disable-autosleep = { + name = "disable-autosleep"; + script = '' + echo Disabling autosleep + win-exec "powercfg /x -hibernate-timeout-ac 0" + win-exec "powercfg /x -hibernate-timeout-dc 0" + win-exec "powercfg /x -disk-timeout-ac 0" + win-exec "powercfg /x -disk-timeout-dc 0" + win-exec "powercfg /x -monitor-timeout-ac 0" + win-exec "powercfg /x -monitor-timeout-dc 0" + win-exec "powercfg /x -standby-timeout-ac 0" + win-exec "powercfg /x -standby-timeout-dc 0" + ''; + }; + # Turn off automatic locking of idle user sessions + disable-autolock = { + name = "disable-autolock"; + script = '' + echo Disabling autolock + win-exec "reg add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Personalization /v NoLockScreen /t REG_DWORD /d 1" + ''; + }; }