summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/virtualisation
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/virtualisation')
-rw-r--r--makefu/2configs/virtualisation/docker.nix4
-rw-r--r--makefu/2configs/virtualisation/libvirt.nix9
-rw-r--r--makefu/2configs/virtualisation/virtualbox.nix26
3 files changed, 39 insertions, 0 deletions
diff --git a/makefu/2configs/virtualisation/docker.nix b/makefu/2configs/virtualisation/docker.nix
new file mode 100644
index 000000000..98fd980cc
--- /dev/null
+++ b/makefu/2configs/virtualisation/docker.nix
@@ -0,0 +1,4 @@
+{...}:
+{
+ virtualisation.docker.enable = true;
+}
diff --git a/makefu/2configs/virtualisation/libvirt.nix b/makefu/2configs/virtualisation/libvirt.nix
new file mode 100644
index 000000000..b90467ab8
--- /dev/null
+++ b/makefu/2configs/virtualisation/libvirt.nix
@@ -0,0 +1,9 @@
+{ config, lib, pkgs, ... }:
+
+let
+ mainUser = config.krebs.build.user;
+in {
+ virtualisation.libvirtd.enable = true;
+ users.extraUsers.${mainUser.name}.extraGroups = [ "libvirtd" ];
+ networking.firewall.checkReversePath = false; # TODO: unsolved issue in nixpkgs:#9067 [bug]
+}
diff --git a/makefu/2configs/virtualisation/virtualbox.nix b/makefu/2configs/virtualisation/virtualbox.nix
new file mode 100644
index 000000000..30de6e44a
--- /dev/null
+++ b/makefu/2configs/virtualisation/virtualbox.nix
@@ -0,0 +1,26 @@
+{ config, lib, pkgs, ... }:
+
+let
+ mainUser = config.krebs.build.user;
+ vboxguestpkg = lib.stdenv.mkDerivation rec {
+ name = "Virtualbox-Extensions-${version}-${rev}";
+ version = "5.0.20";
+ rev = "106931";
+ src = pkgs.fetchurl {
+ url = "http://download.virtualbox.org/virtualbox/${version}/Oracle_VM_VirtualBox_Extension_Pack-${version}-${rev}.vbox-extpack";
+ sha256 = "1dc70x2m7x266zzw5vw36mxqj7xykkbk357fc77f9zrv4lylzvaf";
+ };
+ };
+in {
+ virtualisation.virtualbox.host.enable = true;
+ nixpkgs.config.virtualbox.enableExtensionPack = true;
+ virtualisation.virtualbox.host.enableHardening = false;
+
+ users.extraGroups.vboxusers.members = [ "${mainUser.name}" ];
+ nixpkgs.config.packageOverrides = super: {
+ boot.kernelPackages.virtualbox = super.boot.kernelPackages.virtualbox.override {
+ buildInputs = super.boot.kernelPackages.virtualBox.buildInputs
+ ++ [ vboxguestpkg ];
+ };
+ };
+}