Commit graph

2087 commits

Author SHA1 Message Date
tomf b2b3f5d68d
nixos/oci-containers: add preRunExtraOptions (#315356)
`podman --help` and `docker --help` each have global options, that
must be specified before `run`.
2024-06-05 18:18:37 -04:00
a-kenji 406e613b95 nixos/virtualbox-host: fix typo in assertion 2024-06-05 14:04:03 +02:00
Sandro Jäckel 41452802cb
treewide: fix all obviously wrong mkEnableOptions 2024-06-03 13:20:32 +02:00
illustris da799551a4
nixos/proxmox-lxc: fix console access (#307163)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-03 00:15:27 +02:00
Sandro 1e8d02875f
Merge pull request #307287 from illustris/proxmox-vma 2024-06-03 00:12:40 +02:00
Onur C. Cakmak b3f70c29d5
nixos/containerd: remove LimitNOFILE from service (#313507) 2024-06-02 17:51:10 +02:00
Arnout Engelen 61c1d28215
Merge pull request #303790 from FriedrichAltheide/cleanup-virtualbox
virtualbox & virtualboxGuestAdditions: cleanup
2024-06-01 13:42:14 +02:00
Rafael Fernández López 7749696f61 docs: fix Nvidia casing to be consistent across different places 2024-05-20 22:17:31 +02:00
Fabian Möller da68f358bc
treewide: Remove usage of pkgs.{system,hostPlatform} aliases
These aliases should not be used inside nixpkgs and are only there for backward
compatibility.
2024-05-16 11:48:32 +02:00
Friedrich Altheide 64512b6200 virtualboxGuestAdditions: Add dragAndDrop service 2024-05-13 06:36:03 +02:00
Adam C. Stephens 215dd64e07
Merge pull request #307039 from adamcstephens/nixos-unstable
nixos/incus: add support for soft daemon restarts
2024-05-09 09:59:37 -04:00
Adam Stephens 7d5b333dcd
nixos/incus: add support for soft daemon restart
This is a feature supported out of the box by upstream and allows the
incusd service to be restarted without impacting running
instances. While this does give up a bit of reproducibility, qemu and
lxc for example, there are clear benefits in allowing the host to
apply updates without impacting instances.

Modeled after the zabbly implementation: 2a67c3e260/systemd/incus-startup.service

This will now be the default.
2024-05-09 09:01:12 -04:00
Sandro Jäckel d8137e77ec
nixos/containers: set storage.settings via mkDefault
to make them easily overwriteable, aka without mkForce
2024-05-06 16:34:00 +02:00
Leona Maroni d9bdb87f7d
Merge pull request #307498 from SuperSandro2000/podman-storage-default
nixos/containers: move storage.settings default into config
2024-05-03 22:31:06 +02:00
Robert Hensing 188ba247d5
nixos/podman: Create docker socket symlink via socket unit (#305803)
This ensures that both "sockets" are available after sockets.target.
See https://github.com/hercules-ci/arion/issues/238
2024-05-02 14:04:37 +00:00
Adam C. Stephens 51cc3442af
Merge pull request #307218 from adamcstephens/incus/more-deps
nixos/incus: add missing packages to path
2024-05-01 09:08:22 -04:00
Michele Guerini Rocco 08e2a324ed
Merge pull request #287821 from ajamtli/qemu-vm-virtfs-security-model
nixos/qemu-vm: add option to specify security model to use for a shared directory
2024-04-30 10:44:37 +02:00
illustris 523f157dba
nixos/proxmox-image: change scsi controller model to upstream default 2024-04-29 11:01:45 +05:30
Sandro Jäckel aaa86f2926
nixos/containers: move storage.settings default into config
This avoids having to use workarounds like the following to retain the
default settings which podman requires to run.

virtualisation.containers.storage.settings = lib.recursiveUpdate options.virtualisation.containers.storage.settings.default {
  storage.options.mount_program = lib.getExe pkgs.fuse-overlayfs;
};
2024-04-28 17:55:56 +02:00
illustris fe35866a2e
nixos/proxmox-image: add cloud init disk and use cloud-init by default 2024-04-28 00:48:18 +05:30
illustris b90b63db92
nixos/proxmox-image: qemu: 7.2.1 -> 8.1.5 2024-04-27 22:43:09 +05:30
Adam Stephens 4ca0d88d17
nixos/incus: add missing packages to path
I manually audited all `RunCommand` and `exec.LookPath` calls in the incus repo, combined with the following information

/run/wrappers/bin
lxc usable-cub 20240427123718.368 WARN     idmap_utils - ../src/lxc/idmap_utils.c:lxc_map_ids:165 - newuidmap binary is missing

iw
lxc 20240427123830.358 ERROR    network - ../src/lxc/network.c:lxc_netdev_move_wlan:1679 - Couldn't find the application iw in PATH

minio-client
https://github.com/lxc/incus/pull/777

ceph-client
Added, but could be missing bits to actually work
May need full ceph package for `radosgw-admin` for object storage?
2024-04-27 09:55:36 -04:00
illustris 6b2373aee1
nixos/proxmox-image: remove raw image from hydra-build-products 2024-04-27 18:34:18 +05:30
Adam C. Stephens 2a899c07e4
Merge pull request #301564 from adamcstephens/lxc/6
lxc: 5.0.3 -> 6.0.0
2024-04-26 16:26:14 -04:00
Someone 7035968845
Merge pull request #290979 from ereslibre/cdi-add-nvidia-docker-1-directories
CDI: Add `mount-nvidia-binaries` and `mount-nvidia-docker-1-directories` options
2024-04-23 19:55:41 +00:00
Rafael Fernández López 471ff2c33c nixos/nvidia-container-toolkit: rename from virtualisation.containers.cdi.dynamic.nvidia.enable
Add the NixOS option `hardware.nvidia-container-toolkit-cdi-generator.enable`.

This enables the ability to expose GPU's in containers for container
runtimes that support the Container Device Interface (CDI)

Remove `cdi.static` and `cdi.dynamic.nvidia.enable` attributes.
2024-04-23 12:26:00 +02:00
Martin Weinelt 8541ec6d85
nixos/incus: add support for software TPMs
Was previously broken due to a missing runtime dependency.

> Error: Failed to start device "vtpm": Failed to validate environment: Required tool 'swtpm' is missing
2024-04-23 12:04:14 +02:00
Adam Stephens f171f4ffd4
nixos/lxc: add package option and use for incus/lxd 2024-04-22 08:31:05 -04:00
Anders Johan Jamtli cb46e6864b
nixos/qemu-vm: set secrurity model for 'shared' and 'certs' directories to 'none' 2024-04-22 05:55:58 +02:00
Anders Johan Jamtli 7aa7920fb0
Revert "nixos/qemu-vm: set security model for 'xchg' directory to 'none'"
This reverts commit c16ff7f9f3.
2024-04-22 05:49:11 +02:00
Anders Johan Jamtli c16ff7f9f3
nixos/qemu-vm: set security model for 'xchg' directory to 'none'
Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com>
2024-04-22 05:41:11 +02:00
André Schröder 168793f151 digital-ocean: revert "make it easier to use disko"
This reverts parts of commit d87c4e1a72 from @Mic92

After switching from nixos-23.11 to nixos-unstable, I got the following error:

```
$ nixos-rebuild switch --flake nixos/#digitalocean
...
error:
Failed assertions:
- You must set the option ‘boot.loader.grub.devices’ or 'boot.loader.grub.mirroredBoots' to make the system bootable.
```

In my nixos config I don't set boot.loader.grub.devices or boot.loader.grub.mirroredBoots explicitly.

It seems like the values are not really defaulted via mkDefault? I am still relatively new to Nix, not sure how to fix this properly, so I am proposing to revert this change.
2024-04-21 11:36:17 +02:00
Anders Johan Jamtli 11dfebc306
nixos/qemu-vm: set security model 'none' for shared xchg directory
Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com>
2024-04-21 07:35:44 +02:00
Anders Johan Jamtli b73cc8fe46
Merge branch 'NixOS:master' into qemu-vm-virtfs-security-model 2024-04-20 07:43:49 +02:00
Anders Johan Jamtli 5612e8ba7b
nixos/qemu-vm: removed use of lib.mdDoc
Co-authored-by: éclairevoyant <848000+eclairevoyant@users.noreply.github.com>
2024-04-19 19:03:55 +02:00
Adam Stephens 76c69af624
nixos/lxd-virtual-machine: enable CPU hotplug for x86 VMs 2024-04-18 10:36:55 -04:00
stuebinm 6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Jörg Thalheim 949fe90552
Merge pull request #297640 from Mic92/digitalocean
digital-ocean: 'make it easier to use disko' and 'no longer disable multiple nixos generations in bootloader'
2024-04-10 09:08:20 +02:00
Felix Buehler 42de9f06d5 nixos/vagrant-guest: prefer 'install' over 'chmod' 2024-04-09 21:41:00 +02:00
Adam C. Stephens f3ee2a75d4
Merge pull request #301712 from adamcstephens/incus/6
incus: 0.7.0 -> 6.0.0, add lts
2024-04-08 23:25:58 -04:00
Adam Stephens dce92a3114
incus-lts: init at 6.0.0 and make default 2024-04-08 14:18:02 -04:00
Kira Bruneau f0034ee975
Merge pull request #297517 from kira-bruneau/nixos-containers
nixos/nixos-containers: require mounts for bind mount host paths
2024-04-06 18:07:45 -04:00
Ryan Lahfa 99ca8d4ea5
Merge pull request #300757 from K900/installer-tests-unfucking
nixos/tests/installer: spring cleaning
2024-04-05 03:50:39 -07:00
K900 15d95c7b74 nixos/qemu-vm: split up the "keep EFI variables from system image" logic 2024-04-05 09:00:12 +03:00
Kira Bruneau 7f3643bef6 nixos/nixos-containers: require mounts for bind mount host paths
Fixes starting containers before bind mount host paths are mounted
2024-04-04 19:48:15 -04:00
K900 7b602cff5c nixos/tests/installer: avoid create_machine, clean up
- use normal VM nodes for target, with some extra trickery
- rename preBootCommands to postBootCommands to match its actual intent
- rename VMs to installer and target, so they're not all called machine
- set platforms on non-UEFI tests properly
- add missing packages for systemd-boot test
- fix initrd secrets leaking into the store and having wrong paths
2024-04-03 16:16:11 +03:00
Adam Stephens 893be2587b
lxd: rename to lxd-lts 2024-04-02 19:35:44 -04:00
Adam Stephens 91a3a6a29b
lxd-ui: move to standalone by-name and format 2024-04-02 00:10:11 -04:00
Adam Stephens cf4a88db79
nixos/incus: fix OVMF path for existing VMs 2024-03-29 15:33:26 -04:00
K900 95318bd0b8
Merge pull request #290122 from FriedrichAltheide/virtualbox-guest-additions-fixes
virtualbox: guest additions resize & clipboard fixes
2024-03-28 11:42:22 +03:00
Adam Stephens a5a4da89ba
incus: 0.6 -> 0.7 2024-03-26 20:08:43 -04:00
Friedrich Altheide f0887fa040 virtualbox: fix guest additions resize support
- Build virtualbox guest additions from source and fix paths
- Install VBoxDRMClient to support resizing
  - Support resizing on wayland and x11
- Adding multiple new options
  - clipboard
  - seamless
- Removing x11 option
- Support linux 6.8
2024-03-26 11:47:00 +01:00
Adam C. Stephens c9c612f159
Merge pull request #294548 from adamcstephens/incus/override
incus: move wrapper to nixos module
2024-03-25 16:40:14 -04:00
Jörg Thalheim 3f71d1bc02 digital-ocean: no longer disable multiple nixos generations in bootloader
Since digitalocean has a recovery console it's possible to boot
into an old generation.
2024-03-21 08:10:00 +01:00
Jörg Thalheim d87c4e1a72 digital-ocean: make it easier to use disko
If the user provides a `fileSystems."/".device` option, it should have
higher precedence than the default value.
Same for `loader.grub.devices` (also set by disko internally).
2024-03-21 08:09:27 +01:00
Florian Klink 39ebd395cc
Merge pull request #224666 from grindhold/container_underscores
check nixos-container names for underscores
2024-03-20 11:41:34 +02:00
Adam Stephens deb5be50c4
incus: move wrapper to nixos module 2024-03-19 22:48:07 -04:00
Arian van Putten d211b80d29
Merge pull request #294493 from endgame/ec2-image-ssm-agent
nixos/amazon-image: Enable Amazon SSM Agent by default
2024-03-16 17:57:42 +01:00
Rok Garbas 6f11ba9ffe
Merge branch 'master' into amazon-ec2-amis 2024-03-13 00:37:12 +01:00
Azat Bahawi d3e30a442b
nixos/incus: fix systemd service path
Fixes a regression introduced in #294754.
2024-03-12 20:03:36 +03:00
cmspam 701fcd7982 nixos/incus: add openvswitch support
1. Added openvswitch integration to incus service.
2. Added tests to test openvswitch functionality with incus.
2024-03-12 01:03:39 +00:00
Jack Kelly dc158268f7 nixos/amazon-image: Enable Amazon SSM Agent by default
Amazon-provided EC2 images do this.

See: https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html
2024-03-08 16:24:00 +10:00
Sandro 5f39678474
Merge pull request #292552 from diogotcorreia/oci-containers-fix-stop-one-shot
nixos/oci-containers: ignore nonexistent container when stopping
2024-03-07 21:23:51 +01:00
adisbladis 5cdb38bb16
Merge pull request #288579 from blitz/vbox-kvm-2
virtualboxKvm: init
2024-03-05 18:58:57 +13:00
Arian van Putten cc04ae5878 nixos/amazon-ec2-amis: Add NixOS 23.11
Note that this list will stop being updated from now on.
Please use https://nixos.github.io/amis/ and https://nixos.github.io/amis/images.json instead.
We are working on integrating this in the https://nixos.org/ website
These get updated for every channel bump.
2024-03-02 22:40:50 +01:00
nikstur b6401f808a
Merge pull request #292636 from RaitoBezarius/smm-works-for-something-else-than-x86-actually
OVMF: remove invalid `assert` on SMM
2024-03-02 21:04:12 +01:00
Maciej Krüger 55ead8c56a
Merge pull request #290976 from adamcstephens/incus/nft
nixos/incus: assert nftables is used when firewall is enabled
2024-03-02 17:40:44 +01:00
nikstur ce1d1f3e6c nixos/qemu-vm: remove implicit dependency on SSM
The qemu module shouldn't implicitly (and for all architectures) enable
SSM when enabling Secure Boot.

Additionally, this breaks aarch64 Secure Boot tests because this module
doesn't use the right machine type for anything but X86.
2024-03-01 23:40:36 +01:00
Diogo Correia 81f21e3936
nixos/oci-containers: ignore nonexistent container when stopping
Fixes #292551
2024-03-01 10:41:00 +00:00
Sandro b8ec4c1475
Merge pull request #290449 from Kiskae/patch-2
nixos/podman: pass proxy variables to podman API
2024-03-01 00:37:27 +01:00
Julian Stecklina a9822fa200 nixos/virtualbox-host: expose option to run with KVM 2024-02-28 17:36:22 +01:00
Adam C. Stephens af810fc67e
Merge pull request #284874 from shlevy/ovmf-ms
Enable MS-compatible secure boot with OVMF
2024-02-25 22:34:05 -05:00
Sandro f8545e512d
Merge pull request #289166 from thanegill/remove-grub-version
treewide: remove deprecated grub.version references
2024-02-25 18:20:33 +01:00
Ryan Lahfa 077d41f9d8
Merge pull request #289856 from pennae/supfs-set
nixos/filesystems: make supportedFilesystems an attrset
2024-02-25 18:05:29 +01:00
Thane Gill e3d82657a2 treewide: remove deprecated grub.version references 2024-02-25 08:29:58 -08:00
Peder Bergebakken Sundt 736c43fecc
Merge pull request #288215 from budimanjojo/patch-1
nixos/oci-containers: don't login if image exists locally
2024-02-25 14:32:32 +01:00
Adam Stephens 6a0ad369f2
nixos/incus: assert nftables is used when firewall is enabled
incus manages its own firewall rules and prefers nftables. The
advantages of nftables for segmenting multiple tools managing firewall
rules is sufficient to require nftables with incus.

https://linuxcontainers.org/incus/docs/main/howto/network_bridge_firewalld/#use-incus-firewall
2024-02-23 15:49:33 -05:00
Someone ee3923ed7d
Merge pull request #284507 from ereslibre/containers-cdi
NixOS: Add support for CDI
2024-02-22 13:03:18 +00:00
Rafael Fernández López 8ba61ebb8a services/hardware: add nvidia-container-toolkit 2024-02-21 22:17:07 +01:00
Kiskae fe93ea4e8e
nixos/podman: pass proxy variables to podman API 2024-02-21 16:29:11 +01:00
Maciej Krüger 39b4c0d686
nixos/lxc-container: link to prepare-root when boot.initrd.systemd.enable is on
Previously we were doing some parts like activation in the init script,
so linking to that works for non-systemd init

With boot.initrd.systemd.enable we no longer run activation in the init script,
but instead a new script named prepare-root, which is used instead.
2024-02-20 23:12:41 +01:00
pennae 258b935d70 nixos/filesystems: make supportedFilesystems an attrset
this lets us *dis*able filesystem explicitly, as is required by e.g. the
zfs-less installer images. currently that specifically is only easily
possible by adding an overlay that stubs out `zfs`, with the obvious
side-effect of also removing tooling that could run without the kernel
module loaded.
2024-02-19 11:46:52 +01:00
budimanjojo fd3fa9f2d3
nixos/oci-containers: check if image exists locally before failing
Signed-off-by: budimanjojo <budimanjojo@gmail.com>
2024-02-19 10:38:26 +07:00
Maciej Krüger a6e237a86a
modules/incus: add ui flag 2024-02-17 16:49:32 +01:00
Rafael Fernández López fd464f0543
virtualisation/containers: add support for providing static CDI definitions 2024-02-17 16:34:12 +01:00
Anders Johan Jamtli a77095a2af
nixos/qemu-vm: added security model for shared host nix store
Setting security model for shared host nix store to 'none'.
Using the default 'mapped-xattr' model results in a kernel panic when
running the VM.
2024-02-17 07:18:52 +01:00
Anders Johan Jamtli 2c74da898e
nixos/qemu-vm: changed default security model
Changed the default security model for shared directories from 'none' to
the 'mapped-xattr'. QEMU recommends using this option for its security and
reliability benefits.
2024-02-16 06:26:26 +01:00
Anders Johan Jamtli 200e3a934b
nixos/qemu-vm: added description of security model options, removed 'mapped' security model
Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com>
2024-02-16 05:52:12 +01:00
Shea Levy 9188bb5186
OVMF: Add test with secure boot enabled
Co-authored-by: Arthur Gautier <arthur.gautier@arista.com>
2024-02-15 12:13:05 -05:00
Sandro 886449aef2
Merge pull request #268979 from con-f-use/warn_docker_storage_driver
nixos/docker: warn about changing storageDriver and remove `devicemapper` value
2024-02-12 19:46:05 +01:00
Will Fancher d4ee957afa
Merge pull request #287445 from fricklerhandwerk/qemu-env-vars
doc: expand on parameters passed to QEMU VMs
2024-02-10 22:12:06 -05:00
Anders Johan Jamtli 777f5b67c2
nixos/qemu-vm: add option to specify security model to use for a shared directory 2024-02-10 17:19:25 +01:00
Peder Bergebakken Sundt c43fd32e03
Merge pull request #248315 from apeschar/oci-containers-backend-stop
nixos/oci-containers: stop container using backend
2024-02-10 17:12:56 +01:00
Arian van Putten a1232992ac nixos/amazon-image: Take over maintainership
I am actively working on bringing back Amazon Images for 24.05.
Please track progress in https://github.com/nixos/amis
2024-02-09 18:02:40 +01:00
Valentin Gagarin e385b36a32
Merge pull request #287438 from fricklerhandwerk/qemu-docs-link 2024-02-09 15:37:35 +01:00
Valentin Gagarin 85f4b05e39 doc: add link to QEMU reference documentation in QEMU module 2024-02-09 11:21:07 +01:00
Valentin Gagarin 11c26d4cc5 use code for env var notation 2024-02-09 11:16:28 +01:00
Valentin Gagarin d9009e0028 doc: expand on parameters passed to QEMU VMs 2024-02-09 10:48:52 +01:00
WilliButz 0139970416
nixos/qemu-vm: convert tmpfiles rules to settings
This change replaces the previously hard-coded `/boot` path with a
reference to `efiSysMountPoint` and more importantly this change makes
it possible to override these rules in scenarios in which they are not
desired.

One such scenario would be when `systemd-gpt-auto-generator(8)` is used
to automount the ESP. Consider this section from the mentioned manpage:

> The ESP is mounted to /boot/ if that directory exists and is not used
> for XBOOTLDR, and otherwise to /efi/. Same as for /boot/, an automount
> unit is used. The mount point will be created if necessary.

Prior to this change, the ESP would be automounted under `/efi` on first
boot, then the previous tmpfiles rules caused `/boot` to be created.
Following the quote above, this meant that the ESP is mounted under
`/boot` for each subsequent boot.
2024-02-07 16:25:30 +01:00
Izorkin 9ad115e5f3
nixos/libvirt: changing process priority for oom killer 2024-02-04 19:54:02 +03:00
Adam Stephens 7585f26855
nixos/incus: add zfs/lib/udev to path
Incus needs to find zvol_id for some operations, but zfs does not put
this executable in the bin directory. Exposing lib/udev into the Incus
path solves discovery of the executable

e5690705e8/internal/server/storage/drivers/driver_zfs_volumes.go (L1820C1-L1820C41)
2024-02-02 12:36:41 -05:00
Franz Pletz e7279b9102
Merge pull request #281186 from Sohalt/podman-dns-firewall 2024-01-19 17:01:23 +01:00
Jade Lovelace fe474ed61a nixos: fix remaining services for network-online dep fix 2024-01-19 00:11:34 -08:00
Jade Lovelace 6c5ab28fce nixos: fix a bunch of services missing dep on network-online.target
This was done by generating a truly hilarious configuration:

rg 'services\.[^.]+\.enable\t' opts-tags | cut -f1 > allonconfig.nix

The following were not tested due to other evaluation errors. They
should probably be manually audited.
services.amule
services.castopod
services.ceph
services.chatgpt-retrieval-plugin
services.clamsmtp
services.clight
services.dante
services.dex
services.discourse
services.dwm-status
services.engelsystem
services.foundationdb
services.frigate
services.frp
services.grocy
services.guacamole-client
services.hedgedoc
services.home-assistant
services.honk
services.imaginary
services.jitsi-meet
services.kerberos_server
services.limesurvey
services.mastodon
services.mediawiki
services.mobilizon
services.moodle
services.mosquitto
services.nextcloud
services.nullmailer
services.patroni
services.pfix-srsd
services.pgpkeyserver-lite
services.postfixadmin
services.roundcube
services.schleuder
services.self-deploy
services.slskd
services.spacecookie
services.statsd
services.step-ca
services.sympa
services.tsmBackup
services.vdirsyncer
services.vikunja
services.yandex-disk
services.zabbixWeb
2024-01-19 00:11:34 -08:00
Adam C. Stephens 887d3f54c6
Merge pull request #278753 from adamcstephens/incus/migrate-test
incus, lxd: ensure lxd->incus migration is supported and tested
2024-01-18 08:01:23 -05:00
sohalt 38b2778765 nixos/podman: open firewall for aardvark-dns 2024-01-15 18:43:48 +01:00
Adam Stephens ffdcec2d94
nixos/tests/incus: add lxd-to-incus migration test 2024-01-14 09:26:49 -05:00
Alois Wohlschlager 77e5fa5ea6 nixos/libvirtd: support out-of-tree vhost-user drivers
Add an option allowing packages containing out-of-tree vhost-user drivers for
QEMU to be specified. The relevant configurations are then linked at runtime
where libvirt expects them.
An example use case for this is virtiofs.
2024-01-13 00:39:33 +01:00
Peder Bergebakken Sundt 92327152cd
Merge pull request #274813 from pbsds/lxd-package-option-fix
nixos/lxd: convert cfg.package and company to mkPackageOption
2024-01-09 23:36:42 +01:00
Philip Taron da90576aac
nixos/lxd-agent: fix evaluation regression caused by nixos/nixpkgs#271326 2023-12-30 08:45:30 -08:00
nikstur 682cb1d640 nixos/vmware-host: replace activationScript
Replace with a dedicated system servie ordered before the other VMWare
services.
2023-12-29 03:16:03 +01:00
Adam Stephens 3f8b1d2d26
nixos/lxd-agent: add system path for exec 2023-12-28 14:27:05 -05:00
nikstur c9569af3e0
Merge pull request #271326 from philiptaron/shutdown.target
treewide: depend on `shutdown.target` if `DefaultDependencies=no` in almost every case
2023-12-27 08:33:26 +01:00
Mihai-Drosi Câju 800af4240b nixos/waydroid: Replace requirement for ASHMEM with MEMFD_CREATE
* fixes #250302
* ASHMEM was removed in Linux 5.18 and waydroid can use MEMFD instead.
  MEMFD is enabled by default in 4.18 and later kernels while we
  already require this version for namespace support.
2023-12-24 16:04:20 +02:00
Florian Klink b6cad0fd94
Merge pull request #274220 from flokli/waagent-cleanups
waagent: cleanups
2023-12-19 19:19:40 +02:00
Adam C. Stephens 6b43e4b0bc
Merge pull request #260128 from adamcstephens/lxd/no-restart-agent
nixos/lxd-agent: prevent restarting on change
2023-12-19 08:41:21 -05:00
Florian Klink f1c8d0709b nixos/waagent: provide waagent udev rules in initrd
This should make /dev/disk/azure appear in-initrd too.
2023-12-18 13:18:11 +02:00
Florian Klink 276939e0a1 nixos/waagent: move runtime dependencies to systemd service
The udev rules shell out to chmod, cut and readlink, which are available
for udev rules (see https://github.com/NixOS/nixpkgs/pull/274236).
2023-12-18 13:18:11 +02:00
Peder Bergebakken Sundt 4071c294ac nixos/lxd: convert cfg.package to mkPackageOption
Also fixes the documentation of `virtualisation.lxd.ui.package`, which currently says the package is `pkgs.ui`
2023-12-16 21:30:18 +01:00
Adam Stephens 27064dd722
nixos/lxc: remove with lib 2023-12-04 10:06:54 -05:00
Adam Stephens ccb7b8e309
nixos/lxcfs: remove with lib 2023-12-04 10:06:52 -05:00
Adam Stephens 6765aac154
treewide/lxc: set lxc team as maintainer 2023-12-04 10:06:50 -05:00
Silvan Mosberger 54c8a15650
Merge pull request #271247 from h7x4/treewide-mkpackageoptionmd-to-mkpackageoption
treewide: replace `mkPackageOptionMD` with `mkPackageOption`
2023-12-01 02:09:10 +01:00
Philip Taron 0a226a0639
nixos/qemu: ensure correct ordering w.r.t. shutdown.target 2023-11-30 15:44:36 -08:00
Philip Taron 07004b46ac
nixos/lxd-agent: ensure correct ordering w.r.t. shutdown.target 2023-11-30 15:42:49 -08:00
Franz Pletz 9619439772
Merge pull request #270004 from Stunkymonkey/libvirtd-add-netcat 2023-11-30 21:04:02 +01:00
Franz Pletz 32caf62376
Merge pull request #268887 from jchw-forks/libvirt-nss 2023-11-30 20:48:24 +01:00
h7x4 79d3d59f58
treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
Maciej Krüger 50bb5d3338
Merge pull request #264929 from adamcstephens/incus/generator 2023-11-30 16:01:35 +01:00
Weijia Wang feeae486de
Merge pull request #261702 from h7x4/replace-mkoption-with-mkpackageoption
treewide: use `mkPackageOption`
2023-11-30 02:49:30 +01:00
Adam Stephens 0fdef67e07
nixos/lxc-container: add adamcstephens as maintainer 2023-11-28 15:14:45 -05:00
Adam Stephens 2cd9619801
nixos/lxc-container: use lxc systemd generator 2023-11-28 15:14:43 -05:00
h7x4 0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Robert Hensing ecef65f019
Merge pull request #269970 from emilylange/nixos-containers-warning
nixos/containers: warn if containers are used but disabled
2023-11-26 19:39:32 +01:00
Mihai-Drosi Câju be6ac65b52 nixos/waydroid: remove with lib; and friends 2023-11-26 17:13:15 +02:00
Felix Buehler 1b5617e25b nixos/libvirtd: add netcat and support
see: https://github.com/NixOS/nixpkgs/issues/180806
2023-11-25 23:45:18 +01:00
emilylange 1c404d2584
nixos/containers: warn if containers are used but disabled
This is a follow-up to 8dfe8e447e.
2023-11-25 20:01:42 +01:00
con-f-use 5254684a0f nixos/docker: warn about changing storageDriver
Add warning to the documentation of
`virtualisation.docker.storageDriver` that changing will cause any
existing containers and images to become inaccessible.
2023-11-21 16:00:36 +01:00
John Chadwick 412543ddd8 nixos/libvirtd: add support for nss modules 2023-11-21 01:39:02 -05:00
Yang, Bo 6d69feb35e google-compute-image: add the missing /boot filesystem 2023-11-18 13:37:42 +01:00
Yang, Bo bff548fef1 waagent: enable provisioning 2023-11-14 19:47:27 +01:00
Maciej Krüger c647a12d7f
Merge pull request #265725 from nbraud/nixos/sudo-rs/gce 2023-11-11 18:09:20 +01:00
Thiago Kenji Okada da8c62363e
Merge pull request #266310 from Atry/patch-4
azure-agent: add dependencies for its extensions
2023-11-09 09:52:10 +00:00
Yang, Bo 1ce985242c google-compute-image: support NVMe and UEFI 2023-11-08 21:05:21 +01:00
Yang, Bo c4086e5ce9 azure-agent: add dependencies for its extensions
waagent's extension `Microsoft.OSTCExtensions.VMAccessForLinux` requires Python, otherwise it would be failed to install with the following error message in `/var/log/waagent.log`:

```
No Python interpreter found on the box
```

waagent's extension `Microsoft.CPlat.Core.RunCommandLinux` needs lsof, otherwise it would produce the following error message in `/var/log/waagent.log`:

```
/var/lib/waagent/Microsoft.Azure.Extensions.CustomScript-2.1.10/bin/custom-script-shim: line 60: lsof: command not found
```
2023-11-08 17:54:08 +00:00
Florian Brandes 2ed7a5ab59 nixos/virtualization: fix shellcheck login
fixes https://www.shellcheck.net/wiki/SC2002

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2023-11-07 13:40:42 +01:00
Alyssa Ross 8ab2f09522 nixos/qemu-vm: fix infinite recursion
The virtualisation.directBoot.initrd option was added for netboot
images, but the assertion to check directBoot enabled if it was used
caused an infinite recursion if it was.  Minimal reproduction:

	import nixos/tests/make-test-python.nix ({ pkgs, ... }: {
	  name = "";

	  nodes = {
	    machine = { config, ...}: {
	      imports = [ nixos/modules/installer/netboot/netboot-minimal.nix ];

	      virtualisation.directBoot = {
	        enable = true;
	        initrd = "${config.system.build.netbootRamdisk}/${config.system.boot.loader.initrdFile}";
	      };
	    };
	  };
	  testScript = "";
	}) {}

The fix is to swap the two conditions, so that cfg.directBoot.enable
is checked first, and the initrd comparision will be short circuited.

This wasn't noticed during review because in earlier versions of the
virtualisation.directBoot patch, the assertion was accidentally in the
conditional above, so wasn't evaluated unless port forwarding was in
use.
2023-11-06 13:49:31 +01:00
nicoo 89fd59c12a nixos/vagrant-guest: Set security.sudo-rs.wheelNeedsPassword too 2023-11-06 12:39:04 +01:00
adisbladis a1592fb410
Merge pull request #258299 from Arcayr/virtualisation-hostname
nixos/virtualisation: add hostname option to oci-containers.
2023-11-06 10:44:26 +13:00
nicoo 326904b128 nixos/google-compute-config: Add sudo-rs rules 2023-11-05 20:33:19 +00:00
Lily Foster 5c5d730067
Merge pull request #262347 from adamcstephens/incus/module
nixos/incus: init module and tests
2023-11-03 09:42:24 -04:00
Adam Stephens 3132ba6cda
nixos/incus: shutdown instances on service stop 2023-11-02 19:54:11 -04:00
Adam Stephens 3087595a6b
nixos/incus: preseed should not trigger socket-activation 2023-11-02 19:54:04 -04:00
Adam Stephens 1fff6a9031
nixos/incus: init module and tests 2023-11-02 19:54:02 -04:00
Franz Pletz 265ca81834
Merge pull request #241908 from picnoir/nin/oci-container-pre-start-list 2023-10-31 15:53:35 +01:00
K900 6f06066e94 nixos/containers: use latest stateVersion as example
Hopefully this way we don't confuse people into thinking you have to set it to 21.05.
2023-10-27 12:56:12 +03:00
Albert Peschar 6ed6953e22 nixos/oci-containers: stop container using backend
Make systemd actually call `podman stop` when stopping a container unit.

Fixes #249332
2023-10-26 12:52:59 +00:00
Robert Hensing 5dfc78a8ad
Merge pull request #262021 from Enzime/linux-builder-cross
linux-builder: support `x86_64-linux` on `aarch64`
2023-10-24 14:34:29 +02:00
Michael Hoang ab1f45f3d3 linux-builder: support x86_64-linux on aarch64 2023-10-24 13:35:37 +02:00
Maciej Krüger 1ecbbb6e3f
Merge pull request #260595 from adamcstephens/lxc/squashfs
lxc-container: add squashfs image support and release output
2023-10-24 02:06:36 +02:00
Ryan Lahfa b9337215cd
Merge pull request #229035 from NixOS/qemu-vm/tpm
qemu-vm: support TPM usecases
2023-10-23 10:10:27 +01:00
Arthur Gautier 08f4fe2087 qemu-vm: stop the swtpm once qemu stops
The idea is to run an async process waiting for swtpm
and we have to ensure that `FD_CLOEXEC` is cleared on this process'
stdin file descriptor, we use `fdflags` for this, a loadable builtin in
Bash ≥ 5.

The async process when exited will terminate `swtpm`, we bind the
termination of the async process to the termination of QEMU by virtue of
having `qemu` exec in that Bash script.

Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
Co-authored-by: Raito Bezarius <masterancpp@gmail.com>
2023-10-23 01:02:24 +02:00
Raito Bezarius 25872524f0 nixos/qemu-vm: add virtualisation.tpm for running TPM in QEMU infrastructure 2023-10-22 16:01:37 +02:00
Maciej Krüger 49bc1a76e0
Merge pull request #261692 from josephst/fix-lxc-container-bootloader
nixos/lxc-container: use absolute path for ln in install-lxc-sbin-init.sh
2023-10-22 13:47:14 +02:00
grindhold 108a6f181a nixos/containers: check nixos-container names for underscores 2023-10-22 09:45:41 +02:00
Joseph Stahl d156ab6c9c nixos/lxc-container: use absolute path for ln in install-lxc-sbin-init.sh
Recent change to nixos-rebuild (https://github.com/NixOS/nixpkgs/pull/258571)
adds systemd-run, which brings with it a cleaner environment
(ie $PATH not available).
Workaround: use absolute path for ln to avoid command-not-found error
2023-10-22 03:18:15 +03:00
Robert Hensing 7096340f9e nixos/qemu-vm: Rename nixos-disk-image -> nix-store-image
For the image that's actually a store image only.
Helps with visibility. The name "nixos-disk-image" has no special
significance, by grepping nixpkgs.
2023-10-21 19:13:58 +02:00
Lin Jian fbc62319f1
Merge pull request #260291 from donovanglover/nixos-containers/optional-restart
nixos/nixos-containers: add restartIfChanged option
2023-10-16 20:41:32 +08:00
Maciej Krüger afc33ef9d2
Merge pull request #260687 from mkg20001/lxd-ui
nixos/lxd: fix ui.enable desc
2023-10-16 01:30:58 +02:00
Adam Stephens dbeeeb8e06
nixos/lxc-container: enable udev-trigger for nested containers 2023-10-12 15:11:09 -04:00
Adam Stephens c2ff509e66
lxc-container: add squashfs image support and release output 2023-10-12 10:52:05 -04:00
Maciej Krüger d934d20cd3
nixos/lxd: fix ui.enable desc
Otherwise it would show up as "Whether to enable Enables the (experimental) LXD UI. ."

Now is just "Whether to enable (experimental) LXD UI."
2023-10-12 15:24:01 +02:00
Donovan Glover fd7daf9fc4
nixos/nixos-containers: add restartIfChanged option
This commit makes auto-restarting declarative containers optional.

This is useful when you don't want changes to your config to automatically
restart the container and thus stop any applications running inside it.
2023-10-11 21:53:42 -04:00
Adam Stephens eb221a898f
nixos/lxd-agent: prevent restarting on change 2023-10-09 23:54:53 -04:00
Sarah Brofeldt a655e7a1aa
Merge pull request #259240 from haenoe/oci-containers-labels-option
nixos/oci-containers: add labels option
2023-10-09 18:52:20 +02:00
HaeNoe 2f021def6e nixos/oci-containers: add labels option 2023-10-09 10:43:29 +02:00
ners dccd00027e
nixos/azure: add contents module option (#244364) 2023-10-08 19:35:14 +02:00
nikstur 62e95d095d nixos/qemu-vm: optionally disable overriding fileSystems
Allow the user to disable overriding the fileSystems option with
virtualisation.fileSystems by setting
`virtualisation.fileSystems = lib.mkForce { };`.

With this change you can use the qemu-vm module to boot from an external
image that was not produced by the qemu-vm module itself. The user can
now re-use the modularly set fileSystems option instead of having to
reproduce it in virtualisation.fileSystems.
2023-10-02 11:13:26 +02:00
K900 e53c99eb17 treewide: use pkgs.config instead of config.nixpkgs.config
`pkgs` may be passed in externally, in which case `config.nixpkgs.config` will not be set.

Follow-up to #257458.
2023-10-01 20:48:40 +03:00
Elliot Speck (Arcayr) 3782b3b5d9 nixos/virtualisation: add hostname option to oci-containers. 2023-10-01 05:17:44 +11:00
Thiago Kenji Okada e514178339 nixos/virtualisation: use mkDefault in networking.useNetworkd in oci-common
To make it easier to disable for those folks who don't want to use
systemd-networkd.
2023-09-28 22:05:34 +01:00
Adam Stephens b1237da5b2
systemd: revert allow udev-trigger for lxd nested containers 2023-09-28 13:58:11 -04:00
Mario Rodas 25b9f4d2b6
Merge pull request #255116 from adamcstephens/lxd/udev-container
systemd: allow udev-trigger to run on lxd containers with nesting
2023-09-28 02:17:27 -05:00
Thiago Kenji Okada d5d4b08488 nixos/virtualisation: always use EFI for OCI 2023-09-21 22:57:39 +01:00
Thiago Kenji Okada cd67657ae2 nixos/virtualisation: use systemd-networkd for OCI 2023-09-21 22:57:39 +01:00
Thiago Kenji Okada 5eae6db9e3 nixos/virtualisation: remove deprecated option from OCI common 2023-09-21 22:57:39 +01:00
Samuel Dionne-Riel 2eb41eb208 nixos/virtualization: Allow building EFI / A1 OCI images
A couple notes:
---------------

Adding invalid `console=` parameters is not an issue. Any invalid
console is unused. The kernel will use the "rightmost" (last) valid
`console=` parameter as the default output. Thus the SBBR-mandated AMA0
on A1, and ttyS0 on x86_64 as documented by Oracle.

`nvme_core.shutdown_timeout=10` was added as it was written this way in
the A1 images. Unclear whether `nvme.shutdown_timeout=10` is wrong. At
worst this is a no-op.
2023-09-21 22:57:38 +01:00
Samuel Dionne-Riel d944fb4a19 nixos/virtualization: Allow building EFI OCI images 2023-09-21 22:57:38 +01:00
Samuel Dionne-Riel 9849ccb241 nixos: Add OCI image options
Follows what amazon images does.
2023-09-21 22:57:38 +01:00
Samuel Dionne-Riel 3a35abf169 nixos/oci-image: Minor cleanup 2023-09-21 22:15:22 +01:00
ilian 362d1d6218 oci-image: init scripts to build and upload image
Add image configuration for Oracle Cloud Infrastructure and scripts to
build and upload the image as a Custom Image.
2023-09-21 22:15:22 +01:00
louib 66100e22f6 nixos/virtualisation: allow configuring openssh root login on GCE
This commit makes the OpenSSH option `PermitRootLogin` available to be
configured by other NixOS modules when using the Google Cloud Engine
(GCE) NixOS image builder. Other options like `PasswordAuthentication`
were already configurable, so I think it makes sense to make `PermitRootLogin`
configurable as well is order to disable it completely, for example.
2023-09-16 19:43:02 -04:00
Valentin Gagarin 295a5e1e2b
fix capitalization (#254542) 2023-09-15 09:59:11 +02:00
Adam Stephens 8565cd862a
systemd: allow udev-trigger to run on lxd containers with nesting 2023-09-14 09:17:33 -04:00
Michele Guerini Rocco 704c791a90
Merge pull request #253146 from rnhmjoj/pr-anbox
anbox: unbreak
2023-09-05 23:46:54 +02:00
Adam Stephens a90385c62b nixos/lxd: add preseed option 2023-09-05 15:28:00 +00:00
Adam Stephens 85c14ff2ff nixos/lxd: remove with lib 2023-09-05 15:28:00 +00:00
Samuel Dionne-Riel 7425d9254d
nixos/anbox: use --daemon to squash warning
As noted in https://github.com/NixOS/nixpkgs/pull/102341 this is not
actually running as a forked process. It only tells the process that it
is running "as a daemon, so shut the warning up".

See `daemon_` here

 - 9de4e87cdd/src/anbox/cmds/container_manager.cpp (L38-L79)

It is **strictly** used to hide that message.

Co-authored-by: Matt Votava <mvnetbiz@gmail.com>
2023-09-05 10:09:44 +02:00
Samuel Dionne-Riel 7fa154f3ee
nixos/anbox: allow applying changes to the image 2023-09-05 10:09:43 +02:00
Samuel Dionne-Riel cdc51c811a
nixos/anbox: handle new kernel configurations 2023-09-05 10:09:43 +02:00
Samuel Dionne-Riel 708e1eb8ba
nixos/anbox: mark anbox0 as unmanaged with NetworkManager 2023-09-05 10:09:42 +02:00
Adam Stephens efd1605be6
nixos/lxd: add virtual-machine support, image and module 2023-09-03 20:06:44 -04:00
github-actions[bot] 4a9909e0db
Merge master into staging-next 2023-08-19 00:01:42 +00:00
Adam Stephens 1403486d17 nixos/lxd-agent: init module from distrobuilder generator 2023-08-18 22:28:59 +00:00
James Baker 09d32e2612
nixos/virtualisation.docker: Do not assert 32 bit libraries available on ARM (#246179) 2023-08-11 10:49:25 +02:00
Franz Pletz dcafb07ed8
Merge pull request #232250 from YBeaugnon/libvirt-hooks
nixos/libvirtd: hooks support
2023-08-09 15:07:52 +02:00
Jake Schurch 36430fbb14 revert(proxmox-image): pull request #246120 from jakeschurch/add-proxmox-image-addl-disk-size-override
NOTES:

@jakeschurch did not realize that is was already updated on master, but not
backported to 23.05 channel

Signed-off-by: Jake Schurch <jakeschurch@gmail.com>
2023-08-02 15:01:44 -04:00
Pol Dellaiera 71e3934d82
Merge pull request #246120 from jakeschurch/add-proxmox-image-addl-disk-size-override
proxmox-image: add additionalDiskSpace parameter as input to make-disk-image.nix
2023-07-30 20:34:00 +02:00
Jake Schurch a479735162 respond to pr feedback
Signed-off-by: Jake Schurch <jakeschurch@gmail.com>
2023-07-30 12:01:03 -04:00
Jake Schurch d780bdf308
Update nixos/modules/virtualisation/proxmox-image.nix
Co-authored-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
2023-07-30 11:57:29 -04:00
Jake Schurch f2794786fd proxmox-image: add additionalDiskSpace parameter as input to make-disk-image.nix 2023-07-29 20:47:46 -04:00
Emily 49c07cd259
Merge pull request #238735 from MayNiklas/proxmox-image-settings
nixos/proxmox-image: add additionalSpace, bootSize and diskSize options
2023-07-27 22:17:42 +02:00
Pol Dellaiera d242834675
Merge pull request #230109 from vdot0x23/docker-extraPackages
nixos/docker: add extraPackages option
2023-07-26 15:14:13 +02:00
Sandro 9f4a3203eb
Merge pull request #233250 from SuperSandro2000/podman-timer-persist 2023-07-21 11:34:18 +02:00
Jon Seager 5e73f0c1c9 nixos/lxd: fix default ui package 2023-07-17 08:04:42 -03:00
Sandro 75cfb4925a
Merge pull request #242126 from kjeremy/vmware-guest-aarch64
vmware-guest module: work under aarch64
2023-07-14 19:51:14 +02:00
Ryan Lahfa 49413e25e0
Merge pull request #241314 from jnsgruk/master 2023-07-08 13:58:20 +02:00
Jeremy Kolb 1e16a937ca vmware-guest module: work under aarch64 2023-07-07 15:40:29 -04:00
Jon Seager 2fbb85e2c9
nixos/lxd: add ui.enable option to toggle ui feature 2023-07-07 18:31:03 +01:00
Félix Baylac Jacqué b7fd022677 nixos/oci-containers: make systemd service pre-start extensible
We were setting the systemd pre-start script through the
systemd.services.<name>.preStart NixOS option. This option uses a
string containing the pre-start script as input.

In some scenarios, you want to extend this script to perform some
additional actions before launching a container.

At the moment, your only option is to mkForce the pre-start string and
rewrite a preStart script from scratch. Potentially vendoring the
Nixpkgs pre-start script in your custom pre-start script. (you can
also create a new service unit in charge of running the custom
pre-start and create a dependency link between the units, but that's
also sub-optimal).

The systemd.services.<name>.serviceConfig.ExecStartPre NixOS option
gives us a better way to extend a pre-start script. Instead of being a
simple script, this option can be a list of scripts. The NixOS module
system then merges the multiple list declarations instead of
overriding them. Meaning that if we use this ExecStartPre option, we
can trivially extend the exec-start script: just add the custom script
in the systemd service override and you're done.

ExecStartPre behaves a tiny bit differently from preStart. Instead of
expecting a string containing a script, it expects a path pointing to
a script. We take advantage of this API change to check the pre-start
script with shellCheck via the pkgs.writeShellApplication function.
2023-07-06 13:35:31 +02:00
Michael Hoang 98d970bc37 nixos/qemu-vm: use CA certificates from host 2023-07-06 21:32:08 +10:00
Sandro Jäckel 2048a8ca02
nixos/proxmox-image: fix example rendering 2023-06-30 18:14:43 +02:00
Atemu a04b45f10e
Merge pull request #238596 from nikstur/qemu-vm-use-host-pkgs
nixos/qemu-vm: use cfg.host.pkgs
2023-06-26 09:06:31 +02:00
Felix Buehler 6672dde558 treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
nikstur f6b37ddaf2 nixos/qemu-vm: use cfg.host.pkgs 2023-06-24 00:45:15 +02:00
Martino Fontana e1a6c85c2b nixos/sysctl: raise default vm.max_map_count to 1048576 2023-06-21 19:25:42 +02:00
MayNiklas d7f89bbfb6 nixos/proxmox-image: add additionalSpace, bootSize and diskSize options 2023-06-21 14:13:03 +02:00
nikstur 0bdba6c99b nixos/qemu-vm: use persistent block device names
This change removes the bespoke logic around identifying block devices.
Instead of trying to find the right device by iterating over
`qemu.drives` and guessing the right partition number (e.g.
/dev/vda{1,2}), devices are now identified by persistent names provided
by udev in /dev/disk/by-*.

Before this change, the root device was formatted on demand in the
initrd. However, this makes it impossible to use filesystem identifiers
to identify devices. Now, the formatting step is performed before the VM
is started. Because some tests, however, rely on this behaviour, a
utility function to replace this behaviour in added in
/nixos/tests/common/auto-format-root-device.nix.

Devices that contain neither a partition table nor a filesystem are
identified by their hardware serial number which is injecetd via QEMU
(and is thus persistent and predictable). PCI paths are not a reliably
way to identify devices because their availability and numbering depends
on the QEMU machine type.

This change makes the module more robust against changes in QEMU and the
kernel (non-persistent device naming) and by decoupling abstractions
(i.e. rootDevice, bootPartition, and bootLoaderDevice) enables further
improvement down the line.
2023-06-16 19:36:03 +02:00
Raito Bezarius 610f60231f nixos/qemu-vm: introduce virtualisation.directBoot
As with many things, we have scenarios where we don't want to boot on a
disk / bootloader and also we don't want to boot directly.

Sometimes, we want to boot through an OptionROM of our NIC, e.g. netboot
scenarios or let the firmware decide something, e.g. UEFI PXE (or even
UEFI OptionROM!).

This is composed of:

- `directBoot.enable`: whether to direct boot or not
- `directBoot.initrd`: enable overriding the
  `config.system.build.initialRamdisk` defaults, useful for
  netbootRamdisk for example.

This makes it possible.
2023-06-09 14:51:18 +02:00
K900 57e1ea5a18 nixos/libvirtd: don't use cp -n 2023-06-05 19:14:01 +03:00
Victor Buttner 4f1ccb7fc5 nixos/docker: add extraPackages option
This permits easier use of some features, e.g. docker checkpoint.
2023-06-02 15:45:55 +02:00
Ryan Lahfa 0902958046
Merge pull request #235295 from nikstur/qemu-vm-improve-comments-and-docs
nixos/qemu-vm: improve comments and option descriptions
2023-06-02 15:34:49 +02:00
Amine Chikhaoui 709043ed97
add release 23.05 AWS AMIs 2023-06-01 13:46:53 -04:00
nikstur 003fec835c nixos/qemu-vm: remove grub references from useBootLoader description 2023-06-01 01:38:08 +02:00
nikstur 8ea8154a32 nixos/qemu-vm: (re-)move old/incorrect comments 2023-06-01 01:38:06 +02:00
Raito Bezarius 09d1022782 nixos/qemu-vm: fix 32-bits assert for memorySize
It should be an implication, rather than &&.
2023-05-27 17:20:08 +02:00
Ryan Lahfa 537c6ede55
Merge pull request #234266 from emilylange/qemu-vm-2047mb
nixos/qemu-vm: add `virtualisation.memorySize < 2048` assertion on 32bit
2023-05-27 15:31:00 +02:00
emilylange 5dbd4f3243
nixos/qemu-vm: add virtualisation.memorySize < 2048 assertion on 32bit 2023-05-26 19:43:58 +02:00
Ryan Lahfa 435237d641
Merge pull request #233350 from GrahamDennis/grahamdennis/testing-networks
nixos/qemu-vm: add option for named network interfaces
2023-05-26 15:57:01 +02:00
lucasew 8587646ef3 nixos/virtualisation/google-compute-config: minor refactoring
Signed-off-by: lucasew <lucas59356@gmail.com>
2023-05-26 00:56:32 +00:00
illustris 6a20c13258
nixos/proxmox-image: fix qemu build failure 2023-05-25 16:25:43 +05:30
Graham Dennis 93502aa3b1 nixos/qemu-vm: add option for named network interfaces
Adds a new option to the virtualisation modules that enables specifying explicitly named network interfaces in QEMU VMs.
The existing `virtualisation.vlans` option is still supported for cases where the name of the network interface is irrelevant.
2023-05-24 08:54:20 +10:00
Sandro Jäckel 9ad0793b40
nixos/podman: persist timer
otherwise the timer might never run on laptops which could be shutdown
during the night
2023-05-21 17:24:16 +02:00
Sandro Jäckel 64361e26b2
nixos/libvirtd: enable polkit
it is enforced by an assert anyway
2023-05-20 17:30:34 +02:00
Yoann Beaugnon 9617d41ab1 nixos/libvirtd: add support for nixos managed libvirt hooks
Libvirt support calling user defined hooks on certains events.
Documentation can be found https://libvirt.org/hooks.html.
This commit allow specifying these hooks via the
virtualisation.libvirtd.hooks.<name>.* options
2023-05-19 12:46:07 +02:00
Maciej Krüger 5bb24e21ee
Merge pull request #231097 from aanderse/lxc/nixos-rebuild-boot 2023-05-16 04:13:01 +02:00
Fabian Möller c51fe112cc
treewide: pass system argument to eval-config.nix
Calling `eval-config.nix` without a `system` from a Nix flake fails with
`error: attribute 'currentSystem' missing` since #230523. Setting
`system = null` removes the use of `currentSystem` and instead uses the
value from the `nixpkgs` module.
2023-05-12 14:56:23 +02:00
Arian van Putten 6c0935d466
Merge pull request #231140 from NixOS/rosetta-nix-build
modules/rosetta: configure nix build sandbox to use rosetta
2023-05-11 14:21:54 -04:00
ajs124 30bea8d82d nixos/*: remove boot.grub.version 2023-05-10 21:51:26 +02:00
Arian van Putten a33d032939 modules/rosetta: configure nix build sandbox to use rosetta
With this we can do x86_64 builds on aarch64
2023-05-10 14:28:50 -04:00
Aaron Andersen dd2c3b1310 nixos/lxc-container: ensure /sbin/init is updated on nixos-rebuild boot 2023-05-10 11:04:07 -04:00
Ryan Lahfa 98167d573d
Merge pull request #229313 from mped-oticon/mped_proxmox_assert
nixos/proxmox-image: Disable O_DIRECT to fix assert when writing to tmpfs
2023-05-08 16:11:40 +02:00
Mark Ruvald Pedersen 66fb2f539a nixos/proxmox-image: Disable O_DIRECT to fix assert
Context summary:
'vma create' can't otherwise write to tmpfs such as /dev/shm.
This is important when used from non-nixos machines which may
have /build as tmpfs.

VMA is Proxmox's virtual machine image format that wraps QEMU images,
augmenting these with proxmox-specific configuration file.
proxmox-image.nix uses the VMA tool to create vma image files.
The VMA tool exists as a patchset ontop of QEMU.

VMA writes its output with open() and O_DIRECT flag.
O_DIRECT does not work on Linux tmpfs [1]. Thus:
$ vma create ~/output.vma ...  # works, assuming home isn't tmpfs.
$ vma create /dev/shm/output.vma ...  # fails since /dev/shm is tmpfs
Failure results in assert(*errp == NULL).

O_DIRECT is a cache performance hint.
But it currently blocks our usage of nixos-generate -f proxmox from
Non-NixOS hosts and Docker.

The patch here simply removes O_DIRECT:
vma-writer.c later performs memalign due to O_DIRECT, but this is
safe to do with or without O_DIRECT.
Ideally, this should be fixed in upstream Proxmox: Perhaps by falling
back to open without O_DIRECT.

Another attempt to fix this SIGABRT is [2], which writes the vma file
directory to $out/ folder -- however that may still be tmpfs mounted
which it is in our case.

[1] https://lore.kernel.org/lkml/45A29EC2.8020502@tmr.com/t/
[2] https://github.com/NixOS/nixpkgs/pull/224282
2023-05-08 12:33:41 +02:00
Vladimír Čunát 5674901601
Revert "nixos/qemu-vm: fix diskless VMs" 2023-05-06 21:41:14 +02:00
Ryan Lahfa 1ab4d7d0c3
Merge pull request #228047 from RaitoBezarius/diskless-vm
nixos/qemu-vm: fix diskless VMs
2023-05-05 15:37:11 +02:00
Peter Kling 996db6d059
virtualisation/qemu-vm: escape bash variable in shell script
Fixes #229729
2023-05-04 09:52:49 +02:00
Raito Bezarius 6e8248c8b2 nixos/qemu-vm: make it possible to use UEFI without bootloaders
`useEFIBoot` is somewhat misleading, but we should make it possible to
enable UEFI environment / firmware without buying into a bootloader.

This makes it possible.
2023-05-02 23:20:03 +02:00
Raito Bezarius be4e7ef905 nixos/qemu-vm: fix diskless VMs
Previously, it was possible to run with a tmpfs / with
`virtualisation.diskImage = null;`, this was likely broken by my changes
in 4b4e4c3ef9.

It is reintroduced by disabling properly the bootloader for now, as it
is complicated to make it work with.
2023-04-25 02:12:26 +02:00
Raito Bezarius 0df5257b82 nixos/qemu-vm: introduce virtualisation.mountHostNixStore option
Now that `useBootLoader` produces a full system image, moving disk
images can be slow because they have a full Nix store in them.

It does not make sense to keep the 9p mountpoint to shadow the
/nix/store of the VM.

We disable it if we have `useBootLoader` and introduce an option for
easy overrides.
2023-04-23 23:58:46 +02:00
Florian Klink 6b27ed3229
Merge pull request #169116 from ElvishJerricco/systemd-stage-1-networkd
Systemd stage 1 networkd
2023-04-21 18:40:59 +02:00
Raito Bezarius 614b83a328 nixos/virtualisation/qemu-vm: remove persistBootDevice option
This option has been introduced in 678eed323f without realizing there was this
PR inflight, unfortunately, it collide with what this PR does and make
it irrelevant.

Therefore, I remove it here.
2023-04-21 13:00:19 +02:00
Raito Bezarius 76c7b656bf nixos/qemu-vm: refactor bootDisk generation using make-disk-image 2023-04-21 13:00:18 +02:00
Weijia Wang e2d6255e9e
Merge pull request #226882 from wegank/parallels-guests-final
systemd.services.prlshprint: fix type
2023-04-21 10:37:11 +03:00
Artturi b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03:00
Ryan Lahfa 645bc49f34
Merge pull request #225981 from jnsgruk/multipass-wait-online
multipass: don't start until online
2023-04-19 18:04:47 +02:00
Weijia Wang 8eb15c5320 systemd.services.prlshprint: fix type 2023-04-18 18:55:47 +03:00
Sandro 893f073fe1
Merge pull request #224171 from alan-strohm/master
nixos/proxmox-image: don't assume virtio0 is using local-lvm storage
2023-04-16 03:30:46 +02:00
adisbladis 4ab1021a1b
Merge pull request #213036 from SuperSandro2000/cri-o/update_storagedrivers
nixos/cri-o: add aufs, devmapper, and zfs to storageDrivers
2023-04-15 16:27:50 +12:00
Calum MacRae 7d03f1aa9f
nixos/cri-o: add aufs, devmapper, and zfs to storageDrivers
Update the storageDrivers option to align with the supported drivers, as listed here:
https://github.com/containers/storage/blob/master/docs/containers-storage.conf.5.md#storage-table
2023-04-15 01:15:46 +02:00
Jon Seager 0dfc5c14d7
nixos/multipass: don't start until online 2023-04-14 11:27:57 +01:00
Sandro 603320b64f
Merge pull request #204534 from SuperSandro2000/boot-tmp 2023-04-12 21:37:47 +02:00
Will Fancher fef26d88e2 systemd-initrd: Support secrets when boot loader doesn't
initrd-secrets: Fix service config with systemd-stage-1
2023-04-11 15:20:47 -04:00
Felix Buehler 327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
Alan Strohm 121fddc901 nixos/proxmox-image: don't assume virtio0 is using local-lvm storage 2023-03-31 18:42:01 -07:00
David Houston 6e8c2760ac
maintainers: Update houstdav000 -> cyntheticfox 2023-03-30 18:50:29 -04:00
Sandro Jäckel 056be64f11 nixos/podman: add example to enable network dns 2023-03-27 08:42:29 +10:00
Sandro 6f558d3009
Merge pull request #212599 from SuperSandro2000/podman-cleanup 2023-03-27 00:05:30 +02:00
Sandro Jäckel a5d95ac5fc
nixos/tmp: move /tmp options under boot.tmp 2023-03-19 18:49:37 +01:00
Vladimír Čunát a86610144f
Merge #219444: staging-next 2023-03-04 2023-03-15 17:35:39 +01:00
Sandro 83dcadaf61
Merge pull request #218482 from illustris/ec2-metadata
nixos/ec2: don't populate nonexistent metadata files
2023-03-15 16:53:40 +01:00
Martin Weinelt d03d74aa67
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/aiopulse/default.nix
- pkgs/development/python-modules/identify/default.nix
- pkgs/development/python-modules/spur/default.nix
2023-03-12 23:28:23 +01:00
Guillaume Girol db901673ea
Merge pull request #209156 from pwaller/issue-114594
nixos/grub: Name initrd-secrets by system, not by initrd
2023-03-12 18:50:33 +00:00
github-actions[bot] 98d00577f6
Merge master into staging-next 2023-03-09 06:01:01 +00:00
Will Fancher 46089f7efe
Merge pull request #217886 from lilyinstarlight/fix/qemu-vm-initrd-mkdir-0755
nixos/qemu-vm: fix minor typo
2023-03-08 19:17:28 -05:00
Martin Weinelt e93e71ce44 Merge remote-tracking branch 'origin/master' into staging-next 2023-03-04 14:58:24 +01:00
K900 e8fbf83f5e nixos/virtualbox-image: remove the raw image trick
This is slower, but the raw image thing no longer works with VirtualBox 7.0.6.
2023-03-04 13:39:50 +03:00
Frederik Rietdijk 8cf8d77121 Merge master into staging-next 2023-03-04 09:38:25 +01:00
Linus Heckemann 48269da315
Merge pull request #206839 from lheckemann/stateless-vms
nixos/qemu-vm: allow use without a disk image
2023-03-04 02:02:45 +01:00
Martin Weinelt 3686005e6e Merge remote-tracking branch 'origin/staging-next' into staging 2023-02-28 21:17:51 +00:00
maxine 7ceeb440c1
Merge pull request #213604 from mikroskeem/feature/docker-local-log-driver
nixos/docker: add "local" as valid logDriver option
2023-02-28 21:47:55 +01:00
github-actions[bot] 445e4a4069
Merge staging-next into staging 2023-02-28 12:01:54 +00:00
Jon Seager cad6488509
nixos/multipass: typo s/SyslogIdentifer/SyslogIdentifier/ 2023-02-28 10:45:38 +00:00
zowoq 48642c634e podman: remove wrapper
trying to get all of the podman functionality to work with the wrapper
 is becoming more complicated with each release, it isn't sustainable

removing the wrapper does mean that using extraPackages will need to build from source

- remove unnecessary serviceConfig overrides

- set HELPER_BINARIES_DIR to libexec/podman

- use install.bin target on linux for podman/tmpfiles
  - also installs quadlet/rootlessport in libexec

- symlink binaries from helpersBin into HELPER_BINARIES_DIR

- remove unnecessary rootlessport output

- remove unnecessary substituteInPlace
2023-02-28 18:08:29 +10:00
illustris 7e4e6e8bd7
nixos/ec2: don't populate nonexistent metadata files 2023-02-26 23:25:09 +05:30
Lily Foster e78dc938d8
nixos/qemu-vm: fix minor typo
The typo creates an empty directory 0755 in initrd rootfs rather than
create the Nix store directories with mode 0755.

I guess setting the mode is not strictly necessary if it worked before
this change, but I'll leave the `-m 0755` in just in case.
2023-02-23 13:01:53 -05:00
github-actions[bot] 539195e509
Merge staging-next into staging 2023-02-20 00:03:04 +00:00
Yureka c683aaaa1d
nixos/nixos-containers: add specialArgs option (#216677) 2023-02-19 21:25:04 +01:00
github-actions[bot] c466fa7ff4
Merge staging-next into staging 2023-02-18 00:02:56 +00:00
Artturi efd1d7ed76
Merge pull request #97677 from ryneeverett/lockkernelmodules-docker-more 2023-02-17 23:28:32 +02:00
github-actions[bot] 3b5c06282d
Merge staging-next into staging 2023-02-17 12:01:58 +00:00
zowoq 3e081095a4 Revert "podman: remove wrapper"
This reverts commit 02f9255044.

broke rootlessport port forwarding
2023-02-17 20:26:02 +10:00
Florian Klink ab566b8656
Merge pull request #208269 from ElvishJerricco/systemd-stage-1-fsck
Systemd stage 1 fsck
2023-02-17 10:06:39 +02:00
zowoq 02f9255044 podman: remove wrapper
trying to get all of the podman functionality to work with the wrapper
 is becoming more complicated with each release, it isn't sustainable

removing the wrapper does mean that using extraPackages will need to build from source

- include pkgs.zfs by default in the wrapped podman used by the module so it is cached
  - anyone using zfsUnstable will need to build from source

- remove unnecessary serviceConfig overrides

- set HELPER_BINARIES_DIR during build

- use install.bin target on linux for podman/tmpfiles
  - also installs quadlet/rootlessport in libexec

- remove unnecessary rootlessport output

- remove unnecessary substituteInPlace
2023-02-14 19:22:24 +10:00
zowoq 04b9fcca93 nixos/podman: wrap /run/wrappers for setuid shadow binaries
adding it here so it only needs to be done once
2023-02-14 19:22:24 +10:00
Vanilla 3ba3e20347
nixos/virtualisation/linode-image: Migrate to new openssh options. 2023-02-12 13:06:11 +08:00
Will Fancher a0ba973e13 qemu-vm: Simplfiy systemd-initrd /nix/store mount units 2023-02-07 22:22:39 -05:00
Will Fancher 1b39491326 systemd-stage-1: Use x-initrd.mount for better unit dependencies 2023-02-07 22:22:39 -05:00
Anderson Torres bc0944c06f
Merge pull request #214193 from jnsgruk/add-multipass-pkg
multipass: init at 1.11.0
2023-02-04 09:03:54 -03:00
Jon Seager 63e3f8da09
nixos/multipass: init 2023-02-04 07:44:03 +00:00
Robert Kovacsics 32ec41a672 nixos/virtualbox-image: Allow SCSI storage controller for vSphere
This is because vSphere version 6.7.0.51000 errors with

        Issues detected with selected template. Details: -
        78:7:VALUE_ILLEGAL: Value ''3'' of Parent element does not refer
        to a ref of type DiskControllerReference.

when using SATA.
2023-02-04 07:33:11 +01:00
Robert Kovacsics 4009f60d0b nixos/virtualbox-image: Allow running extra commands after OVA creation
This is useful as virtual machines can often be large files so not
having duplicates/work files in /nix/store can save a lot of space.
2023-02-04 07:33:11 +01:00
Sandro Jäckel 7a7ff877b7 nixos/podman: remove unused mkMerge 2023-02-03 12:05:39 +10:00
superherointj 5e04ad9e66
Merge pull request #210892 from sielicki/ena280-281
linuxPackages.ena: 2.8.0 -> 2.8.2
2023-02-02 22:01:10 -03:00
Nick Cao f1a142c476
Merge pull request #213602 from SuperSandro2000/types.string
nixos/virtualisation/*: replace deprecated types.string with types.str
2023-02-01 09:59:09 +08:00
Nicholas Sielicki 33397faec9 ena: 2.8.0 -> 2.8.2
* Notably, fixes build on kernel >= 5.17

Signed-off-by: Nicholas Sielicki <git@opensource.nslick.com>
2023-01-31 03:31:05 +00:00
Mark Vainomaa 30081adcd5
nixos/docker: add "local" as valid logDriver option 2023-01-30 18:04:18 +02:00
Vladimír Čunát 23ce77d76e Revert #178290: nixos/virtualisation: add option
...for explicitly named network interfaces

This reverts commit 6ae3e7695e.
(and evaluation fixups 08d26bbb72 7aed90a969)
Some of the tests fail or time out after the merge.
2023-01-30 07:55:50 -08:00
Sandro Jäckel ed9cb58886
nixos/virtualisation/*: replace deprecated types.string with types.str 2023-01-30 16:54:21 +01:00
Linus Heckemann 09f76e171e Merge remote-tracking branch 'upstream/nixos-unstable' into stateless-vms 2023-01-28 11:27:21 +01:00
Ryan Lahfa 8803f1da66
Merge pull request #178290 from andrew-hoff/ahh/qemu-interfaces
nixos/virtualisation: add option for explicitly named network interfaces
2023-01-25 17:32:53 +01:00
Nick Cao b9576dd927
Merge pull request #211723 from tpwrules/fix-systemd-boot-more
nixos/systemd-boot: fix tests and upgrade issues
2023-01-23 15:55:57 +08:00
Andrew Hoff 6ae3e7695e nixos/virtualisation: add option for explicitly named network interfaces
Adds a new option to the virtualisation modules that enables specifying
explicitly named network interfaces in QEMU VMs. The existing
`virtualisation.vlans` is still supported for cases where the name of
the network interface is irrelevant.
2023-01-22 12:20:40 -05:00
Peter Waller 678eed323f nixos/grub: Name initrd-secrets by system, not by initrd
Previously, secrets were named according to the initrd they were
associated with. This created a problem: If secrets were changed whilst
the initrd remained the same, there were two versions of the secrets
with one initrd. The result was that only one version of the secrets would
by recorded into the /boot partition and get used. AFAICT this would
only be the oldest version of the secrets for the given initrd version.

This manifests as #114594, which I found frustrating while trying to use
initrd secrets for the first time. While developing the secrets I found
I could not get new versions of the secrets to take effect.
Additionally, it's a nasty issue to run into if you had cause to change
the initrd secrets for credential rotation, etc, if you change them and
discover you cannot, or alternatively that you can't roll back as you
would expect.

Additional changes in this patch.

* Add a regression test that switching to another grub configuration
  with the alternate secrets works. This test relies on the fact that it
  is not changing the initrd. I have checked that the test fails if I
  undo my change.

* Persist the useBootLoader disk state, similarly to other boot state.
  * I had to do this, otherwise I could not find a route to testing the
    alternate boot configuration. I did attempt a few different ways of
    testing this, including directly running install-grub.pl, but what
    I've settled on is most like what a user would do and avoids
    depending on lots of internal details.
  * Making tests that test the boot are a bit tricky (see hibernate.nix
    and installer.nix for inspiration), I found that in addition to
    having to copy quite a bit of code I still couldn't get things to
    work as desired since the bootloader state was being clobbered.

My change to persist the useBootLoader state could break things,
conceptually. I need some help here discovering if that is the case,
possibly by letting this run through a staging CI if there is one.

Fix #114594.

cc potential reviewers:

@lopsided98 (original implementer) @joachifm (original reviewer),
@wkennington (numerous fixes to grub-install.pl), @lheckemann (wrote
original secrets test).
2023-01-21 17:19:26 +00:00
Thomas Watson 8736edfd95 nixos/qemu-vm: fix useBootLoader builds on aarch64-linux
The aarch64-linux kernel and initrd recently eclipsed 60M, causing the
boot disk image build to run out of space and fail. Double the size of
the image to 120M to fix the issue.

The disk image is stored in expandable qcow2 format, so only the space
actually used by files in the image is consumed. Therefore, other
architectures are not unfairly penalized, and the output size does not
suddenly double.

This also fixes NixOS tests which use this option, like systemd-boot's.
2023-01-19 23:28:01 -06:00
Nick Cao cd5c34bb18
Merge pull request #188795 from Sohalt/oci-containers-wait-for-network
nixos/oci-containers: wait for network before starting container
2023-01-20 09:11:19 +08:00
Jörg Thalheim 22a8cf0c28 nixos/lxc-container: fix compatibility with systemd-nspawn 2023-01-16 15:50:37 +01:00
Ryan Lahfa b42ea74b96
Merge pull request #206655 from vlinkz/distroname
nixos/version: add system.nixos.distroName and system.nixos.distroId options
2023-01-15 17:39:55 +01:00
Matthieu Coudron cf10d7aef8
services.openssh: support freeform settings (#193757)
* services.openssh: support freeform settings

Keep "extraConfig" but introduces "settings".

Also renames several options

(mkRenamedOptionModule [ "services" "openssh" "kbdInteractiveAuthentication" ] [  "services" "openssh" "settings" "KbdInteractiveAuthentication" ])
(mkRenamedOptionModule [ "services" "openssh" "passwordAuthentication" ] [  "services" "openssh" "settings" "PasswordAuthentication" ])
(mkRenamedOptionModule [ "services" "openssh" "useDns" ] [  "services" "openssh" "settings" "UseDns" ])
(mkRenamedOptionModule [ "services" "openssh" "permitRootLogin" ] [  "services" "openssh" "settings" "PermitRootLogin" ])

* updated doc
* regen doc
2023-01-15 16:32:46 +01:00
Victor Fuentes d3528cdc3d
nixos/version: add config.system.nixos.distroName and config.system.nixos.distroId 2023-01-14 16:19:06 -05:00
Robert Hensing e973da60cd
Merge pull request #200225 from pacien/nixos-qemu-vm-restrictnetwork
nixos/qemu-vm: add option "restrictNetwork"
2023-01-13 21:47:21 +01:00
Åsmund Østvold ca0175017d
waagent: update to 2.8.0.11 (#206974)
The agent has not been updated for a very long time.  In addition to
updating to the newest tagged version the change creates a package for
it.

The existing version has issues with the new python2.7 package not
containing crypt.so file. And the commit
6910a4eea0 I believe introduced
regression that caused the shebang to not be updated.
2023-01-10 20:58:20 +01:00
Robert Hensing 22eb959f37 nixos/amazon-option: Tolerate harmless ec2.hvm for compatibility
Throwing an error necessitates changes in NixOps that are not safe yet.
2023-01-08 19:01:02 +01:00
R. Ryantm 2d72d4775e cri-o: 1.25.1 -> 1.26.0 2023-01-08 13:30:27 +10:00
zowoq 448dc91db4 nixos/cri-o: source cni and crictl from package 2023-01-08 13:30:27 +10:00
zowoq 5da87a8c7b nixos/containers: source policy from separate skopeo output 2023-01-08 13:30:27 +10:00
zowoq 469aec905b nixos/podman, podman: switch to netavark network stack 2023-01-04 14:25:14 +10:00
Charles Johnson 2628f0003c
waydroid: 1.3.3 -> 1.3.4 (#206833)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-01-03 17:43:06 +01:00
K900 2d3cf010fe
Revert "treewide: use nativeBuildInputs with runCommand instead of inlining" 2022-12-26 21:05:35 +03:00
Alexander Bakker 89f4a5ab26 libvirtd: add parallelShutdown option
This adds a new ``parallelShutdown`` option that allows users to control
how many guests can be shut down concurrently. Allowing multiple virtual
machines to be shut down at the same time reduces the amount of time it
takes to reboot the host.

Upstream documentation: https://www.libvirt.org/manpages/libvirt-guests.html#files
2022-12-26 17:34:02 +01:00
Sandro 5af3f865e8
Merge pull request #206775 from SuperSandro2000/runCommand-nativeBuildInputs 2022-12-25 21:42:05 +01:00
Felix Buehler 6617511200 nixos/podman: add autoPrune option 2022-12-24 12:01:16 +01:00
Linus Heckemann 246d09fea2 qemu-vm: use nixos module patterns for filesystems 2022-12-20 20:35:40 +01:00
Linus Heckemann bf41254a8a nixos/qemu-vm: allow use without a disk image 2022-12-19 12:04:13 +01:00
Sandro Jäckel 26f704b545
treewide: use nativeBuildInputs with runCommand instead of inlining 2022-12-18 23:36:40 +01:00
figsoda 6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Naïm Favier 6573e10dee
Merge pull request #204480 from ncfavier/hv-kvp 2022-12-14 12:03:20 +01:00
Izorkin 2b6bfed79c
nixos/lxc-container: undo some of the minimal profile stuff 2022-12-09 23:18:37 +03:00
Naïm Favier 0ff3b35356 nixos/doc: fix some options 2022-12-08 17:52:52 +01:00
Naïm Favier f9743988ad
linuxPackages.hyperv-daemons: add path conditions for kvp and vss 2022-12-04 15:25:26 +01:00
Bjørn Forsman c3cfa83884 nixos/lxd: add missing util-linux to $PATH
This fixes `lxd init`, which previously failed like this:

  $ yes "" | lxd init
  [...]
  Error: Failed to create storage pool "default": Failed to run: losetup --find --nooverlap --direct-io=on --show /var/lib/lxd/disks/default.img: exec: "losetup": executable file not found in $PATH
2022-12-03 16:01:05 +01:00