···
18
-
options.virtualisation.virtualbox.guest.enable = mkOption {
20
-
description = "Whether to enable the VirtualBox service and other guest additions.";
18
+
options.virtualisation.virtualbox.guest = {
22
+
description = "Whether to enable the VirtualBox service and other guest additions.";
28
+
description = "Whether to enable x11 graphics";
25
-
config = mkIf cfg.enable {
34
+
config = mkIf cfg.enable (mkMerge [{
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
message = "Virtualbox not currently supported on ${pkgs.stdenv.system}";
environment.systemPackages = [ kernel.virtualboxGuestAdditions ];
···
serviceConfig.ExecStart = "@${kernel.virtualboxGuestAdditions}/bin/VBoxService VBoxService --foreground";
61
+
services.udev.extraRules =
63
+
# /dev/vboxuser is necessary for VBoxClient to work. Maybe we
64
+
# should restrict this to logged-in users.
65
+
KERNEL=="vboxuser", OWNER="root", GROUP="root", MODE="0666"
67
+
# Allow systemd dependencies on vboxguest.
68
+
SUBSYSTEM=="misc", KERNEL=="vboxguest", TAG+="systemd"
services.xserver.videoDrivers = mkOverride 50 [ "virtualbox" "modesetting" ];
services.xserver.config =
···
PATH=${makeBinPath [ pkgs.gnugrep pkgs.which pkgs.xorg.xorgserver.out ]}:$PATH \
${kernel.virtualboxGuestAdditions}/bin/VBoxClient-all
73
-
services.udev.extraRules =
75
-
# /dev/vboxuser is necessary for VBoxClient to work. Maybe we
76
-
# should restrict this to logged-in users.
77
-
KERNEL=="vboxuser", OWNER="root", GROUP="root", MODE="0666"
79
-
# Allow systemd dependencies on vboxguest.
80
-
SUBSYSTEM=="misc", KERNEL=="vboxguest", TAG+="systemd"