diff options
author | aszlig <aszlig@redmoonstudios.org> | 2014-11-27 18:24:57 +0100 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2014-11-27 18:42:22 +0100 |
commit | 14f09e01c15591c10bf9a31e4f4b7987b5c6a71b (patch) | |
tree | ba210fa98bc1c7e18285cdd475f8b0cfdbe89978 /nixos/modules/programs/virtualbox.nix | |
parent | 444987193e47aad56f7e78684a11f8ded3b830a5 (diff) | |
download | nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.tar nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.tar.gz nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.tar.bz2 nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.tar.lz nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.tar.xz nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.tar.zst nixpkgs-14f09e01c15591c10bf9a31e4f4b7987b5c6a71b.zip |
nixos: Add enable option for programs/virtualbox.
We will simply rename the previous module and add a warning whenever the module is included directly, pointing the user to the right option and also enable it as well (in case somebody has missed the option and is wondering why VirtualBox doesn't work anymore). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'nixos/modules/programs/virtualbox.nix')
-rw-r--r-- | nixos/modules/programs/virtualbox.nix | 54 |
1 files changed, 7 insertions, 47 deletions
diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index 1a190573e94..a00b1e5f64d 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -1,48 +1,8 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let virtualbox = config.boot.kernelPackages.virtualbox; in - -{ - boot.kernelModules = [ "vboxdrv" "vboxnetadp" "vboxnetflt" ]; - boot.extraModulePackages = [ virtualbox ]; - environment.systemPackages = [ virtualbox ]; - - users.extraGroups.vboxusers.gid = config.ids.gids.vboxusers; - - services.udev.extraRules = - '' - KERNEL=="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd" - KERNEL=="vboxdrvu", OWNER="root", GROUP="root", MODE="0666", TAG+="systemd" - KERNEL=="vboxnetctl", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd" - SUBSYSTEM=="usb_device", ACTION=="add", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" - SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" - SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" - SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" - ''; - - # Since we lack the right setuid binaries, set up a host-only network by default. - - systemd.services."vboxnet0" = - { description = "VirtualBox vboxnet0 Interface"; - requires = [ "dev-vboxnetctl.device" ]; - after = [ "dev-vboxnetctl.device" ]; - wantedBy = [ "network.target" "sys-subsystem-net-devices-vboxnet0.device" ]; - path = [ virtualbox ]; - serviceConfig.RemainAfterExit = true; - serviceConfig.Type = "oneshot"; - script = - '' - if ! [ -e /sys/class/net/vboxnet0 ]; then - VBoxManage hostonlyif create - fi - ''; - postStop = - '' - VBoxManage hostonlyif remove vboxnet0 - ''; - }; - - networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ]; +let + msg = "Importing <nixpkgs/nixos/modules/programs/virtualbox.nix> is " + + "deprecated, please use `services.virtualboxHost.enable = true' " + + "instead."; +in { + config.warnings = [ msg ]; + config.services.virtualboxHost.enable = true; } |