Commit graph

1223 commits

Author SHA1 Message Date
Alyssa Ross
42adeef9ec
nixos/qemu-guest-agent: use qemu_kvm
Since e791519f0f ("nixos/qemu-vm: use qemu_kvm"), VMs generated with
nixos-rebuild build-vm use the qemu_kvm package instead of the qemu
package.  (The difference between them is that qemu_kvm is only built
with support for the host architecture, not all architectures.)

But with this change, nixos-rebuild build-vm would now depend on
_both_ QEMUs, because the guest agent module was still using the one
from the full QEMU package.  There's no need for it to use this
instead of the lighter qemu_kvm, because the guest agent shouldn't be
affected by which platforms QEMU can emulate.
2021-11-14 20:28:06 +00:00
Artturi
76439257f4
Merge pull request #145394 from Artturin/removedeprecated1 2021-11-13 03:19:16 +02:00
Artturin
0686311257 nixos/lxc-container: remove deprecated literalExample 2021-11-10 23:55:13 +02:00
Robert Hensing
6c690b07f7
Merge pull request #144788 from hercules-ci/double-default-qemu-diskSize
virtualisation/qemu-vm: Double the default diskSize
2021-11-10 17:47:29 +01:00
illustris
8d197bffd8
nixos/proxmox-image: init (#144013)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-11-07 16:02:54 +01:00
Magicloud
40c83d1e0a
virtualbox: Add option to build vboxwebsrv tool
`vboxwebsrv`, a.k.a, Virtualbox Web Service, provides a way to manage VMs via SOAP interface. This is very useful on headless servers.
2021-11-07 08:34:47 +01:00
Maciej Krüger
83c93c8e1c
Merge pull request #141076 from CajuM/waydroid-module 2021-11-07 08:14:45 +01:00
Martin Weinelt
65be52ba2a
Merge pull request #144201 from misuzu/iptables-switch-fix 2021-11-06 12:28:51 +01:00
Mihai-Drosi Câju
7e76b12d57
nixos/waydroid: init 2021-11-06 08:57:57 +01:00
Robert Hensing
4ec119009b virtualisation/qemu-vm: Double the default diskSize
The default has been unchanged for a decade. Space is cheaper and
software catches up with that. Let's not make our testing harder
than necessary by default.
2021-11-05 21:06:08 +01:00
ajs124
ce21576c61
Merge pull request #142408 from mschwaig/fix-vmware-guest-headless
nixos/vmware-guest: fix headless option
2021-11-05 12:33:37 +01:00
Maciej Krüger
1c31f8db6a
nixosTest.lxdImage: add lxdImage test 2021-11-03 07:49:54 +01:00
Maciej Krüger
a797967cec
lxdImage: split from docker profile, use generators.toYAML 2021-11-03 07:49:54 +01:00
Maciej Krüger
fec499bb98
virtualisation.lxc: replace /sbin/init on switch
in the future maybe a proper shim-bootloader could be used that supports 
switching out /sbin/init (so nixos-rebuild boot would just switch the 
link)
2021-11-03 07:49:53 +01:00
Maciej Krüger
8eac2a669a
virtualisation.lxc: add default for .templates 2021-11-03 07:49:53 +01:00
Maciej Krüger
681bd59661
virtualisation.lxc: apply changes from review 2021-11-03 07:49:52 +01:00
Maciej Krüger
9f66f9a669
release.lxdImage: add lxdImage to hydra 2021-11-03 07:49:52 +01:00
Maciej Krüger
5ea329958a
virtualisation.lxc: add the overrides from distrobuilder 2021-11-03 07:49:52 +01:00
Maciej Krüger
1c7a7f198c
virtualisation.lxc: split meta and root 2021-11-03 07:49:51 +01:00
Maciej Krüger
d203189dbf
virtualisation.lxc: use openFirewall instead of allowedTCPPorts 2021-11-03 07:49:51 +01:00
Maciej Krüger
caabd8933c
virtualisation.lxc: add support for lxd templates 2021-11-03 07:49:51 +01:00
Maciej Krüger
b9df9ca2c4
virtualisation.lxc: indent config 2021-11-03 07:49:50 +01:00
Maciej Krüger
d262f6f593
virtualisation.lxc-container: overwrite tarball for lxd 2021-11-03 07:49:50 +01:00
Maciej Krüger
9d3df0b2ac
nixos/lxd: fix nftables switch #81172 breaking module 2021-11-03 07:41:40 +01:00
misuzu
ff22dd6684 nixos/libvirtd: use /etc/ethertypes from iptables package
This change is part of #81172 and must have been lost during staging cycle.
2021-11-02 11:45:19 +02:00
Alyssa Ross
e791519f0f
nixos/qemu-vm: use qemu_kvm
qemu_kvm is only built for one architecture, so it's smaller and takes
MUCH less time to build if it has to be built from source.  And this
module doesn't support running a VM for one architecture from another
architecture, so the one architecture is all we'll need.
2021-11-01 12:04:45 +00:00
talyz
af9f6d9a2a nixos/qemu-vm: Rename pathsInNixDB to additionalPaths
pathsInNixDB isn't a very accurate name when a Nix store image is
built (virtualisation.useNixStoreImage); rename it to additionalPaths,
which should be general enough to cover both cases.
2021-10-28 12:55:01 +02:00
talyz
84839b395f nixos/qemu-vm: Allow building a Nix store image instead of using 9p
Add the `useNixStoreImage` option, allowing a disk image with the
necessary contents from the Nix store to be built using
make-disk-image.nix. The image will be mounted at `/nix/store` and
acts as a drop-in replacement for the usual 9p mounting of the host's
Nix store.

This removes the performance penalty of 9p, drastically improving
execution speed of applications which do lots of reads from the Nix
store. The caveats are increased disk space usage and image build
time.
2021-10-28 12:55:01 +02:00
Martin Schwaighofer
60369bb333 nixos/vmware-guest: fix headless option
The headless option broke with 7d8b303e3f
because the path /bin/vmware-user-suid-wrapper does not exist in the
headless variant of the open-vm-tools package.

Since the vmblock fuse mount and vmware-user-suid-wrapper seem to only
be used for shared folders and drag and drop, they should not exist in
the vmware-guest module if it is configured as headless.
2021-10-20 16:12:07 +02:00
figsoda
a209d563cd
Merge pull request #142032 from thiagokokada/refactor-libvirtd-module
nixos/libvirtd: refactor module
2021-10-18 16:07:05 -04:00
Sam Hug
d6e1fb43c4 nixos/hyperv: fix evaluation of kernelParams 2021-10-18 11:22:53 -07:00
Thiago Kenji Okada
9e7b50e885 nixos/libvirtd: refactor module
Move all `virtualisation.libvirtd.qemu*` options to a
`virtualisation.libvirtd.qemu` submodule.

Also for consistency, add `virtualisation.libvirtd.qemu.swtpm.package`
(only new option during this refactor.)
2021-10-18 13:45:35 -03:00
Jade
8d52479bc7 nixos/libvirtd: Add configuration option for swtpm 2021-10-17 16:48:17 +02:00
Thiago Kenji Okada
5f7e675c45 nixos/libvirtd: add qemuOvmfPackage option 2021-10-17 11:39:25 +02:00
Maximilian Bosch
f700a92d5c
nixos/qemu-vm: quote QEMU_NET_OPTS
Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com>
2021-10-06 23:12:53 +02:00
Maximilian Bosch
60e731d1ce
nixos/qemu-vm: fix running VM with QEMU_NET_OPTS
I realized quite recently that running a test VM - as documented in the
manual - like

    QEMU_NET_OPTS='hostfwd=tcp::8080-:80'  ./result/bin/nixos-run-vms

doesn't work anymore on `master`. After bisecting I realized that the
introduction of a forward-port option[1] is the problem since it adds a
trailing comma even if no forwarding options are specified via
`virtualisation.forwardPorts`. In that case, the networking options
would look like `-netdev user,id=user.0,,hostfwd=tcp::8080-:80' which
confused QEMU and thus the VM refused to start.

Now, the trailing comma is only added if additional port forwards are
specified declaratively.

[1] b8bfc81d5b
2021-10-06 22:40:30 +02:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
rnhmjoj
1497e8f5f5
nixos/qemu: use set -e in shell script
Also fix this: https://github.com/koalaman/shellcheck/wiki/SC2166
2021-09-29 08:46:03 +02:00
Timothy DeHerrera
895f3956d2
Merge pull request #127933 from rnhmjoj/qemu-restoration
Qemu restoration
2021-09-28 21:35:23 -06:00
rnhmjoj
b6fbbe768d
nixos/containerd: use v2 settings by default
Kubernetes is using v2 setting names and is the only module
in Nixpkgs using containerd, so it makes sense to upgrade.
2021-09-23 00:18:58 +02:00
rnhmjoj
74c572d2f8
nixos/vmware-guest: fix setuid wrapper
Since 904f68fb0, setuid/owner/group are required.
2021-09-20 23:49:46 +02:00
Jeremy Kolb
cb9167139e
vmware-guest: Use vmware-vmblock-fuse for drag-and-drop synchronization (#131278) 2021-09-19 18:15:41 +03:00
Guillaume Girol
ceb2e6667b
Merge pull request #126289 from rnhmjoj/wrappers
nixos/security/wrappers: make well-typed
2021-09-18 15:28:49 +00:00
rnhmjoj
b29c2f97c3
nixos/lib/qemu-flags: rename to qemu-common
The current name is misleading: it doesn't contain cli arguments,
but several constants and utility functions related to qemu.
This commit also removes the use of `with import ...` for clarity.
2021-09-18 16:58:16 +02:00
rnhmjoj
b8bfc81d5b
nixos/qemu: add option to forward ports 2021-09-18 16:47:12 +02:00
rnhmjoj
44d95b773b
nixos/qemu: make display resolution configurable 2021-09-18 16:47:11 +02:00
rnhmjoj
ec6c604b6e
nixos/qemu: make shared directories configurable 2021-09-18 16:47:11 +02:00
rnhmjoj
30f0faac22
nixos/qemu: add types to all options 2021-09-18 16:47:11 +02:00
rnhmjoj
f1f434c4f7
nixos/qemu: cleaner formatting of the run-machine-vm script 2021-09-18 16:47:11 +02:00
rnhmjoj
2af5413cc6
nixos/qemu: set a reasonable msize by default 2021-09-18 16:47:10 +02:00