Commit graph

1397 commits

Author SHA1 Message Date
pennae 2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
github-actions[bot] f6895f13b0
Merge master into staging-next 2022-07-27 18:01:33 +00:00
pennae a16b25432e
Merge pull request #182685 from pennae/invariant-option-conversions
treewide: invariant option conversions to MD
2022-07-27 15:39:47 +02:00
github-actions[bot] 21a6aafb7d
Merge master into staging-next 2022-07-24 12:01:21 +00:00
pennae 5bf55a4ad5 nixos/virtualization: invariant option docs MD conversions 2022-07-24 13:01:47 +02:00
pennae 3fdde45825 nixos/oci-containers: convert option docs to MD
no changes to the manpages, no rendering changes to the html manual
2022-07-19 16:23:57 +02:00
Robert Hensing 438f6f17de nixos/qemu-vm: Warn when wasting space 2022-07-17 14:56:35 +02:00
Robert Hensing afc60d017b nixos/qemu-vm: Use disposable EROFS for store when writableStore = false
This avoids putting a large disk image in the store (and possibly
in a binary cache), while improving runtime performance.

Assuming you're running an SSD, and/or with plenty of cache (?)
it is feasible to preempt the virtualization overhead before
VM start, in single-digit seconds.

For some tests that perform many reads on the store, the improved
performance of EROFS is sufficient that not only the image creation
overhead is compensated for, but is actually faster.

Stats for nixosTests.gitlab:

Baseline without useNixStoreImage: >1000s

Baseline with useNixStoreImage without writableStore = false
ext4 image in store: 277 seconds
  + significant image build time and/or disk space

Disposable erofs image: 249 seconds _including_ image build time

Custom erofs overlay on 9p host store: 391 seconds; presumably
because the overlay still performs too many 9p accesses, or perhaps
some other overhead. This solution had no obvious performance
advantage, while requiring extra options to work, so it was
discarded.
2022-07-17 14:56:35 +02:00
github-actions[bot] 97f117148f
Merge staging-next into staging 2022-07-17 00:02:54 +00:00
Sandro 04a5c30245
Merge pull request #179582 from catap/prl-tools 2022-07-17 01:41:46 +02:00
Sivizius 5e941caa0d
nixos/cri-o: removed defaultText of internal package-option 2022-07-17 08:04:15 +10:00
Martin Weinelt b2d57db6c2
Merge pull request #180516 from Atemu/kernel-disable-ashmem
linux: disable ASHMEM on >= 5.18
2022-07-14 23:20:26 +02:00
illustris f60f165501 nixos/proxmox-image: use qemu 6.2 for building VMA 2022-07-13 10:44:41 +02:00
Robert Hensing e153087276 nixos: Fix use of nixpkgs.localSystem
localSystem is ill-defined because unlike hostPlatform, its
meaning is different in a cross or non-cross context.
2022-07-10 13:35:54 +02:00
Kirill A. Korinsky f41fc22111
prl-tools: 12.2.1-41615 -> 17.1.4-51567
Install Parallel Tools updated for version 17 of Parallels for macOS. This
fixes clipboard sharing, so that copy and paste works between the host
macOS and the guest NixOS VM. Support for guests on M1 Apple Silicon-based
Macs (aarch64-linux) is also added.

Co-authored-by: Paul Smith <paulsmith@gmail.com>
Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
2022-07-09 14:43:27 +02:00
Atemu 339ce46af2 nixos/waydroid: add FIXME regarding ASHMEM removal in 5.18 2022-07-07 14:40:17 +02:00
zowoq b7eb3285b3 railcar, nixos/railcar: remove
Upstream repo is archived and hasn't had any commits since 2018, isn't packaged anywhere else apart from AUR.
2022-07-07 07:16:58 +10:00
T0astBread 87cd533a32
nixos/qemu-vm: allow custom partitions and filesystems in VM
Potential use cases for disabling `useDefaultFilesystems` include:

  - Testing with uncommon filesystem layouts
  - Testing scenarios where swapping occurs
  - Testing with LUKS-encrypted disks

Closes #177963
2022-07-02 15:37:08 +02:00
Robert Hensing e2c261f2c0
Merge pull request #176146 from pennae/module-docs-markdown
treewide: markdown option docs
2022-06-21 13:16:02 +02:00
Adam Stephens 2e090e0d60 nixos/lxc-container: improve template example 2022-06-17 11:42:16 -04:00
David Knaack 9f7e40205e nixos/virtualisation.oci-containers: follow podman-generated systemd units more closely 2022-06-12 15:24:34 +02:00
pennae 320aa2a791 treewide: attempt at markdown option docs 2022-06-12 12:44:38 +02:00
zowoq f063970e50 nixos/podman: add user socket/service 2022-06-10 07:21:56 +10:00
Janne Heß 4a77546116
Merge pull request #175655 from AmineChikhaoui/ec2-amis-22.05
ec2-amis: add release 22.05
2022-06-08 17:39:36 +02:00
zowoq e9f4412eb4 docker-edge: remove 2022-06-06 14:06:39 +10:00
AmineChikhaoui 3909226544
ec2-amis: add release 22.05 2022-05-31 18:43:58 -04:00
Janne Heß 5157246aa4
nixos/vmware-guest: Remove the video driver
This breaks isos since https://github.com/NixOS/nixpkgs/pull/172668
because vmware is enabled there. @K900 tested this and confirmed that
the GPU acceleration still works.
2022-05-30 11:56:21 +02:00
Guillaume Girol f2493e87d8
Merge pull request #173110 from symphorien/ovmf-cross
nixos/libvirtd: make it possible to boot a UEFI aarch64 vm on x86_64
2022-05-29 21:46:45 +00:00
Alyssa Ross c3c0dd00d8 treewide: fix loss of precision in NixOS systems
Prior to this patch:

	$ nix-instantiate --eval -E '
	>   with import ./. {
	>     localSystem.config = "aarch64-unknown-linux-musl";
	>   };
	>   (nixos {}).config.nixpkgs.localSystem.config
	> '
	"aarch64-unknown-linux-gnu"

Because only the system triple was being passed through, the Musl part
of the system specification was lost.  This patch fixes various
occurrences of NixOS evaluation when a Nixpkgs evaluation is already
available, to pass through the full elaborated system attribute set,
to avoid this loss of precision.
2022-05-28 20:01:55 +00:00
Jonas Heinrich f81c763c1d nixos/appvm: init at unstable-2021-12-20
Co-authored-by: Mikhail Klementev <blame@dumpstack.io>
Co-authored-by: Cabia Rangris <me@cab404.ru>
2022-05-26 08:33:49 -04:00
Guillaume Girol 110c6e6c96 nixos/libvirtd: allow to provide both x86 and aarch64 ovmf 2022-05-14 12:00:00 +00:00
Artturi c7b10b6df9
Merge pull request #172131 from euank/ena-2.7.1
ena: 2.5.0 -> 2.7.1 & nixos/amazon-image: default to 5.15 kernel
2022-05-12 01:38:24 +03:00
Rick van Schijndel f433d91bb3 anbox: drop kernel modules package
All builds are broken:
- 4.14
- 4.19
- 5.4

https://hydra.nixos.org/eval/1761072?filter=anbox&compare=1760998&full=#tabs-still-fail

Let's just drop it.

This leaves the anbox module possibly in a broken-ish state,
but I'm not sure what to do about it.
2022-05-10 21:15:48 +02:00
Janne Heß e6fb1e63d1
Merge pull request #171650 from helsinki-systems/feat/config-systemd-package
treewide: pkgs.systemd -> config.systemd.package
2022-05-09 10:23:04 +02:00
Euan Kemp 35cfe2c29c nixos/amazon-image: default to 5.15 kernel
Previously, it was held back due to the ENA driver not building on the
current default (5.15). The previous commit bumps the ENA driver, which
allows 5.15 to work.
2022-05-08 21:13:50 -07:00
Sandro 398cf5bf2d
Merge pull request #164698 from illustris/proxmox-lxc 2022-05-06 23:35:13 +02:00
Janne Heß 57cd07f3a9
treewide: pkgs.systemd -> config.systemd.package
This ensures there is only one systemd package when e.g. testing the
next systemd version.
2022-05-05 20:00:31 +02:00
illustris 64a204d1a7 nixos/proxmox-lxc: use hostname provided by proxmox 2022-05-05 01:05:04 +05:30
Sandro aacb7ef4a6
Merge pull request #169966 from deinferno/vmware-host 2022-05-04 14:13:12 +02:00
deinferno 3e8e52bb91 nixos/vmware-host: init at 16.2.3 2022-05-04 01:58:32 +05:00
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