Commit Graph

1407 Commits

Author SHA1 Message Date
adisbladis
46241e156c nixos/virtualisation.oci-containers: Use podman as the default backend
This has a number of benefits such as that applying service limits will
actually work since there isn't a layer of indirection (the Docker daemon)
between the systemd service and the container runtime.
2022-05-03 14:50:43 +12:00
Janne Heß
007108f04d
nixos/*qemu*: Add systemd initrd support 2022-04-30 20:47:42 +02:00
adisbladis
3c49151f15 nixos/nixos-containers: Add warning on unsupported state version combo 2022-04-27 18:35:46 +12:00
adisbladis
f535d6f45e nixos-container: Use new configuration & state directories
We need to move NixOS containers somewhere else so these don't clash
with Podman, Skopeo & other container software in the libpod &
cri-o/cri-u/libcontainer ecosystems.

The state directory move is not strictly a requirement but is good for
consistency.
2022-04-27 18:35:08 +12:00
Graham Christensen
d65eff4fb6
Merge pull request #167902 from DeterminateSystems/openstack-zfs-cleanup
openstack-image: init, make-single-disk-zfs-image: init
2022-04-16 19:44:53 -04:00
Robert Hensing
4d464cf889
Merge pull request #168030 from samhug/qemu-vm
nixos/qemu-vm: sanitize generated environment variable name
2022-04-11 10:45:32 +02:00
Lassulus
8b9c6a1b04
Merge pull request #115391 from kfollesdal/autoresize-azure
nixos/virtualisation/azure-common: add auto resize of os disk
2022-04-10 11:25:22 +01:00
Sam Hug
cdef7bcb5b nixos/qemu-vm: sanitize generated environment variable name 2022-04-09 11:53:58 -07:00
Florian Klink
37a8a582d7 nixos/libvirtd: provide path to cloud-hypervisor for virtchd.service
Otherwise, starting this daemon fails with the message

```
virtchd[3484224]: Initialization of mandatory cloud-hypervisor state driver skipped
virtchd[3484224]: Driver state initialization failed
```

Fixes #167850
2022-04-08 13:20:42 +02:00
Graham Christensen
d99f301374 openstack-config: note the image metadata needed to boot a uefi image 2022-04-07 15:28:28 -04:00
Graham Christensen
d3aff5fa3c openstack-config: make the expandOnBoot option default to all 2022-04-07 15:28:28 -04:00
Graham Christensen
0a086bf7bf openstack-config: enable tty1
This appears to be the "default" console for openstack, but my evidence is experience on just one provider.
2022-04-07 15:28:28 -04:00
Graham Christensen
d4c502a94a openstack-metadata-fetcher: don't fail if any specific wget's fail 2022-04-07 15:28:28 -04:00
Graham Christensen
14304bfe40 openstack-config: setup serial access on ttyS0 2022-04-07 15:28:28 -04:00
Graham Christensen
e5a7d077c1 openstack-config: support a ZFS root with /boot perhaps coming from an ESP 2022-04-07 15:28:28 -04:00
Graham Christensen
80b00ef02a openstack-options: init 2022-04-07 15:28:27 -04:00
Robert Hensing
dd0d10bbb6
Merge pull request #165583 from bosu/patch-1
nixos/qemu-vm: allow booting VM with the custom kernel
2022-04-04 14:33:35 +02:00
Janne Heß
7cdc4dd5d1
Merge pull request #164943 from ElvishJerricco/systemd-initrd-reuse-systemd-module
initrd: Opt-in bare bones systemd-based initrd
2022-04-03 15:53:02 +02:00
Zhaofeng Li
e42f06f93f nixos/podman: Add zfs to wrapper if enabled 2022-04-02 06:38:16 +10:00
Dominique Martinet
e92c05349c nixos/logrotate: convert to freeform
using freeform is the new standard way of using modules and should replace
extraConfig.
In particular, this will allow us to place a condition on mails
2022-04-01 07:09:26 +09:00
Michael Hoang
2c102d19c0 nixos/qemu-vm: Set mainProgram for nix run 2022-04-01 01:34:26 +11:00
Mihai-Drosi Câju
3186c367ce nixos/waydroid: Misc fixes
* With the upgrade to waydroid to 1.2.0, dependencies that previously
  were shipped in the service's path have been moved to the waydroid
  package.

* Make sure /var/lib/misc exists when starting waydroid. As required
  by dnsmasq
2022-03-25 19:51:41 -07:00
Boris Sukholitko
6af3e61632 nixos/qemu-vm: allow booting VM with the custom kernel
While doing kernel development with the nixos testing infrastructure, it
is useful to quickly compile the kernel on the side and boot it in the testing VM.

This patch allows overriding the kernel through the environment
variable. For example, the following:

$ NIXPKGS_QEMU_KERNEL_testvm=$LINUX_SRC/arch/x86/boot/bzImage $VM/bin/nixos-test-driver

runs testvm testing VM with the fresh kernel compiled in $LINUX_SRC.

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-03-25 17:38:19 +03:00
Will Fancher
213de9b108 systemd-initrd: autoFormat and autoResize in initrd 2022-03-22 21:28:51 -04:00
Will Fancher
be10e86c95 systemd-initrd: Partially fix qemu-vm
TODO: Auto formatting / partitioning / resizing
2022-03-22 21:28:50 -04:00
Robert Hensing
eb8b70c020 nixos: Make config.nix.enable pass test 2022-03-21 23:14:10 +01:00
Ian Kerins
4c6772e2a1 nixos/oci-containers: improve description of imageFile
As a novice to using this module, I found the existing description to be
quite misleading. It does not at all disable pulling from the registry,
it just loads some image archive that may or may not be related to the
container you're specifying. I had thought there was extra magic behind
this option, but it's just a `docker load`. You need foreknowledge of
the contents of the archive so that whatever it contained is actually
used to run the container.

I've reworded the description to hopefully make this behavior clearer.
2022-03-12 11:14:22 +01:00
zowoq
177281ad00 nixos/amazon-image: use 5_10 kernel and add assert 2022-02-27 15:04:37 -08:00
Jörg Thalheim
a9252603d5
Merge pull request #160195 from illustris/proxmox-lxc
nixos/proxmox-lxc: init
2022-02-25 14:49:48 +00:00
Antoine Eiche
413afdae6e openstack-metadata-fetcher: do not fail if no user-data is provided
When no user-data is provided, the OpenStack metadata server doesn't
expose the user-data route.
2022-02-22 16:37:29 +01:00
James Landrein
6da3328129 nixos/containerd: fix zfs setting config override 2022-02-16 18:54:59 +10:00
illustris
19f7856b39 nixos/proxmox-lxc: init 2022-02-15 23:55:03 +05:30
Sandro
5560c824c7
Merge pull request #157761 from tp-la/amazon-ec2-utils 2022-02-07 01:53:35 +01:00
Robert Hensing
189f73465b
Merge pull request #158327 from babbaj/virtio-keyboard-option
nixos/qemu-vm: Create option for virtio-keyboard device
2022-02-06 16:37:00 +01:00
Florian Klink
def482e28d
Merge pull request #150837 from abbradar/google-guest-agent
Move GCE config to google-guest-agent
2022-02-06 11:27:27 +01:00
Babbaj
56109be38b
nixos/qemu-vm: Create option for virtio-keyboard device 2022-02-06 01:55:49 -05:00
Nikolay Amiantov
524aecf61e google-compute-config: update config 2022-02-05 23:33:10 +03:00
Nikolay Amiantov
cb18e6cd01 nixos/docker-rootless: disable for root 2022-02-05 14:59:28 +03:00
Tom Prince
653a3e4ed0 amazon-ec2-utils: 1.2 -> 2.0
This also replaces the ec2-utils package, which is an older version.
2022-02-04 12:53:58 -07:00
Pascal Bach
19763fd18e
Merge pull request #156245 from kamadorueda/nixos/virtualisation.virtualbox.guest
nixos/virtualisation.virtualbox.guest: remove override
2022-02-03 19:05:46 +01:00
Patryk Wychowaniec
30c8f7c42d
nixos/kvmgt: add myself to maintainers
I've got a use case and compatible hardware, so why not :-)
2022-02-02 20:48:35 +01:00
ajs124
ef8280914f nixos/openvswitch: remove ipsec 2022-01-26 01:12:40 +01:00
Kevin Amado
6aaf4938f8
nixos/virtualisation.virtualbox.guest: remove override
- See nixos/nixpkgs#156242 for further information
2022-01-22 20:36:24 -05:00
Jan Tojnar
b1f7021657
nixos/container-config: Only use true as fallback
LXC containers like those used by VPSAdminOS might want to install a bootloader
so passing `true` to `system.build.installBootLoader` without any priority specified,
causes a conflict for such systems with the recent `system.build` changes:

4014fb6a64

Fixes: https://github.com/NixOS/nixpkgs/issues/155839
2022-01-20 23:10:13 +01:00
kfollesdal
831dbf4e0a nixos/virtualisation/azure-common: add auto resize of os disk
At the moment os disk do not automatically expand in Azure. This commit
fixes this so os disk expands to whole disk when created or changed.
2022-01-15 12:00:04 +01:00
Robert Hensing
8a552994d8 nixos/build-vm.nix: Fix docs eval
Quick fix. Might be possible to provide `extendModules`?
2022-01-14 19:17:11 +01:00
Robert Hensing
2bf5958169
Merge pull request #151082 from hercules-ci/nixos-cleanup-vmWithBootLoader
nixos: turn vmWithBootLoader into option (`nixos-rebuild build-vm`)
2022-01-14 18:49:27 +01:00
Mark Sagi-Kazar
06771b90b2
nixos/vmware-guest: add mptspi kernel module to initrd
Required by VMware Fusion

See details in nix-community/nixos-generators#132

Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2022-01-10 17:06:02 +01:00
pennae
1301bdb185 nixos/make-options-doc: turn relatedPackages into links
link to search.nixos.org instead of pulling package metadata out of pkgs. this
lets us cache docs of a few more modules and provides easier access to package
info from the HTML manual, but makes the manpage slightly less useful since
package description are no longer rendered.
2022-01-02 19:46:13 +01:00
pennae
fc614c37c6 nixos/documentation: split options doc build
most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.

in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
2022-01-02 19:46:13 +01:00
Nikolay Amiantov
a3e7a83514
Merge pull request #150774 from abbradar/docker-rootless
Rootless Docker service
2021-12-27 20:32:57 +03:00
Nikolay Amiantov
ab64310a5e docker-rootless service: init 2021-12-22 14:23:23 +03:00
jbpratt
e96e5ddd1f virtualisation: implement kubevirt config
KubeVirt[1] allows for VMs to be run and managed as pods inside of
Kubernetes clusters. Information about the guests can be exposed through
qemu-guest-agent[2] as well as startup scripts can be injected through
cloud-init[3].

This config has been duplicated and modified from the `cloudstack`
config/script.

To test this out, deploy KubeVirt locally with KinD[4], build the disk
image, then package it into a container image (or upload to CDI[5]) and
provision a VirtualMachine.

[1]: https://kubevirt.io/user-guide/
[2]: https://kubevirt.io/user-guide/virtual_machines/guest_agent_information/
[3]: https://kubevirt.io/user-guide/virtual_machines/startup_scripts/#cloud-init-examples
[4]: https://kubevirt.io/quickstart_kind/
[5]: https://kubevirt.io/user-guide/operations/containerized_data_importer/#containerized-data-importer

Signed-off-by: jbpratt <jbpratt78@gmail.com>
2021-12-21 05:52:16 -06:00
Bob van der Linden
f085d82ce0
make all daemon settings default 2021-12-19 14:17:04 +01:00
Bob van der Linden
6bbf3b6e0a
remove quotes for kebab-case settings 2021-12-19 14:17:04 +01:00
Bob van der Linden
92a23655c8
move cli options to json daemon settings 2021-12-19 14:17:04 +01:00
Bob van der Linden
e8dae9246b
use pkgs.formats.json 2021-12-19 14:17:04 +01:00
Bob van der Linden
c1b0d4acf5
rename daemonConfig -> daemon.settings 2021-12-19 14:16:58 +01:00
Bob van der Linden
142a1540d6
nixos/docker: add daemonConfig option
Adds the virtualisation.docker.daemonConfig option that allows
changing Docker daemon settings as done in daemon.conf.
2021-12-19 14:15:18 +01:00
Graham Christensen
06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
Robert Hensing
6510ec5acd nixos: Make system.build.vm a standard attribute based on vmVariant 2021-12-17 14:49:31 +01:00
Robert Hensing
f72432aeb2 nixos: Move build-vm into virtualisation.vmVariant
... which is like a specialisation, but for nixos-rebuild build-vm
2021-12-17 13:19:16 +01:00
Artturin
39c5525cb1 nixos/qemu-vm: add -device virtio-keyboard to opts
by default a ps/2 keyboard input is used which seems to cause issues
on aarch64-linux when the machine is used high load, causing the keymap
qwertz test to always fail and azerty to sometimes fail
See https://github.com/NixOS/nixpkgs/issues/147294
2021-12-10 01:04:33 +02:00
zowoq
79e66fce1c nixos/podman: sort files into directories
Makes codeowners, git history, etc. a bit simpler now that podman has expanded beyond the original single file module and test.
2021-12-09 13:03:16 +10:00
pennae
2d564521c0 treewide: add literalDocBook text to options with complex defaults
some options have default that are best described in prose, such as
defaults that depend on the system stateVersion, defaults that are
derivations specific to the surrounding context, or those where the
expression is much longer and harder to understand than a simple text
snippet.
2021-12-09 01:38:24 +01:00
Maximilian Bosch
c959de5b30
Merge pull request #148360 from helsinki-systems/drop/pg96
postgresql_9_6: drop
2021-12-06 21:57:05 +01:00
Robert Hensing
862d167f17
Merge pull request #147441 from pennae/option-doc-staticizing
nixos/*: add trivial defaultText to options where applicable
2021-12-06 01:35:38 +01:00
Tristan
7f6a2d5663 oci-containers: fix imageFile example 2021-12-04 10:23:58 +01:00
Maciej Krüger
79f6a3147f
Merge pull request #147365 from FlorianFranzen/waydroid/psi-default 2021-12-03 14:58:31 +01:00
Florian Franzen
64a0cf0df2
nixos/waydroid: enable kernel psi interface if required 2021-12-03 13:04:17 +01:00
ajs124
757dd008b2 postgresql_9_6: drop 2021-12-03 01:14:29 +01:00
pennae
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
AmineChikhaoui
fa06cf556e ec2-amis: add release 21.11 2021-12-02 11:01:47 -05:00
Robert Hensing
0f33d439a7
Merge pull request #140992 from hercules-ci/aarch64-amis
Add aarch64 AMIs
2021-12-01 14:48:00 +01:00
Artturin
21585dc683 nixos/vmware-guest: add display-manager to after and
add ConditionVirtualization

and remove unneeded before and wants which are not in the upstream
package, the wantedBy should be enough
2021-11-25 04:33:05 +02:00
Artturi
c4851c0d71
Revert msize related commits (#147180) 2021-11-24 02:33:53 +02:00
Artturi
53edfe1d1c
Merge pull request #146804 from Artturin/qemudefaultmem 2021-11-21 17:48:08 +02:00
Artturin
54ece050b8 nixos/qemu-vm: default memorySize 384 -> 1024
the default hasn't been changed since 2009
this can improve our test performances

nixos/tests: remove explicit memorySize <1024

1024MiB is now the default
2021-11-21 17:27:58 +02:00
Ryan Burns
2175b157ac treewide: refactor isi686 && isx86_64 -> isx86 2021-11-20 17:50:41 -08:00
Artturi
dd4ce550b3
Merge pull request #146456 from Artturin/misc-updates1 2021-11-20 01:14:44 +02:00
Janne Heß
ecf388e90b
vmTools: Make msize larger to silence warning
See https://issues.guix.gnu.org/47225
2021-11-18 21:21:49 +01:00
Artturin
a96a6e7515 nixos/qemu-vm: fix deprecation readonly -> readonly=on
machine # qemu-system-x86_64: -drive if=pflash,format=raw,unit=0,readonly,...: warning:
short-form boolean option 'readonly' deprecated
vm-test-run-systemd-boot-specialisation> machine # Please use readonly=on instead
2021-11-18 21:32:56 +02:00
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
Robert Hensing
00563d4f07 amazon-ec2-amis: Add aarch64 amis 2021-10-08 17:30:02 +02:00
Robert Hensing
5a6c43dda3 ec2-amis.nix -> amazon-ec2-amis.nix, new format 2021-10-08 17:30:01 +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
rnhmjoj
65e83389ef
nixos/qemu: fix deprecation warning 2021-09-18 16:47:10 +02:00
rnhmjoj
c1fd51f490
nixos/qemu: fix several shellcheck issues
- Fix shell quoting issues
- Fix unsafe cd in run-machine-vm script
2021-09-18 16:46:20 +02:00
Artturi
74b3e9ff87
Merge pull request #136471 from Artturin/tmpontmpfssize 2021-09-16 02:25:02 +03:00
rnhmjoj
fedd7cd690
nixos: explicitely set security.wrappers ownership
This is slightly more verbose and inconvenient, but it forces you
to think about what the wrapper ownership and permissions will be.
2021-09-13 13:48:13 +02:00
Guillaume Girol
bc3bca822a nixos: define the primary group of users where needed 2021-09-12 14:59:30 +02:00
Artturin
f45e8d560e nixos/tmp: add tmpOnTmpfsSize 2021-09-08 19:30:52 +03:00
Graham Christensen
bd38b059ea NixOS/amazonImageZfs: init
Introduce an AWS EC2 AMI which supports aarch64 and x86_64 with a ZFS
root.

This uses `make-zfs-image` which implies two EBS volumes are needed
inside EC2, one for boot, one for root. It should not matter which
is identified `xvda` and which is `xvdb`, though I have always
uploaded `boot` as `xvda`.
2021-08-25 10:42:35 -04:00
Your Name
c042c1a1f8 NixOS AWS AMI: Create boot entries for each system generation 2021-08-20 14:02:11 -04:00
Your Name
1b79176310 NixOS AWS AMI: enable the serial console on ttyS0 2021-08-20 12:42:02 -04:00
Your Name
54aa35d40e NixOS AWS AMI: Configure Grub's serial console
See:

* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-os.html
* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/grub.html
2021-08-20 11:22:45 -04:00
Your Name
bfd2f800ee NixOS AMI: Give grub a 1s timeout now that AWS has emergency console access.
See:

* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-os.html
* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/grub.html
2021-08-20 11:22:39 -04:00
Your Name
0ccd6448d6 NixOS AWS AMI: Set the console to 115200n8
See:

* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-os.html
* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/grub.html
2021-08-20 11:15:31 -04:00
Robert Hensing
fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
edef
9451a23e9f
Merge pull request #130265 from liclac/gce-image-compression-level
google-compute-image: Add a setting for GZIP compression level
2021-08-13 14:31:08 +00:00
Artturi
c10ded1bb2
Merge pull request #131966 from ArctarusLimited/fix/containerd-restart
nixos/virtualisation/containerd: do not wipe runtime directory on restart or stop
2021-08-08 17:21:30 +03:00
Luke Granger-Brown
b5fab53628 nixos/virtualbox-image: cast baseImageFreeSpace into str
This fixes an evaluation error that's blocking the nixos-unstable
channel (#132328).
2021-08-01 18:59:08 +00:00