diff options
author | Winter <winter@winter.cafe> | 2023-01-02 10:36:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-02 07:36:41 -0800 |
commit | 15013b305466fdd0a52222ed2a3ff87bf9e41af9 (patch) | |
tree | e786abcad8e79d92312e533cd97f8e40f6caf2cb /nixos/modules/profiles | |
parent | f18a89197a3eca7859a1ac15a21f58b76994ee18 (diff) |
darwin.builder: prefer shutting down over halting VM (#208450)
This is preferable because it prevents things like disk corruption (requiring the user to delete the disk image when starting up) that I consistently ran into.
Diffstat (limited to 'nixos/modules/profiles')
-rw-r--r-- | nixos/modules/profiles/macos-builder.nix | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/nixos/modules/profiles/macos-builder.nix b/nixos/modules/profiles/macos-builder.nix index a981814730a1..fddf19ad1251 100644 --- a/nixos/modules/profiles/macos-builder.nix +++ b/nixos/modules/profiles/macos-builder.nix @@ -9,7 +9,8 @@ let in -{ imports = [ +{ + imports = [ ../virtualisation/qemu-vm.nix # Avoid a dependency on stateVersion @@ -18,8 +19,7 @@ in ../virtualisation/nixos-containers.nix ../services/x11/desktop-managers/xterm.nix ]; - config = { - }; + config = { }; options.boot.isContainer = lib.mkOption { default = false; internal = true; }; } ]; @@ -98,11 +98,11 @@ in ''; in - script.overrideAttrs (old: { - meta = (old.meta or { }) // { - platforms = lib.platforms.darwin; - }; - }); + script.overrideAttrs (old: { + meta = (old.meta or { }) // { + platforms = lib.platforms.darwin; + }; + }); system = { # To prevent gratuitous rebuilds on each change to Nixpkgs @@ -118,10 +118,22 @@ in ''); }; - users.users."${user}"= { + users.users."${user}" = { isNormalUser = true; }; + security.polkit.enable = true; + + security.polkit.extraConfig = '' + polkit.addRule(function(action, subject) { + if (action.id === "org.freedesktop.login1.power-off" && subject.user === "${user}") { + return "yes"; + } else { + return "no"; + } + }) + ''; + virtualisation = { diskSize = 20 * 1024; |