Commit graph

2087 commits

Author SHA1 Message Date
phaer 9e18e9fedc google-compute-image: use virtualisation.diskSize 2024-09-05 15:56:24 +02:00
phaer 048599f0d7 linode-image: use virtualisation.diskSize 2024-09-05 15:56:24 +02:00
phaer 564b6ce153 oci-{options,image}: use virtualisation.diskSize 2024-09-05 15:56:24 +02:00
phaer 39df221e77 virtualisation-options: init
see header comment in virtualisation-options.nix
2024-09-05 15:56:24 +02:00
phaer 04fadac429 run nixfmt-rfc-style 2024-09-05 15:56:22 +02:00
phaer 74180c6159 brightboxImage: remove, as it seems unmaintained
...and is broken/flaky on master, due to custom script with mknod usage.
2024-09-05 14:40:29 +02:00
Sandro 6e055283a9
virtualisation/azure-images: drop outdated list... (#338426) 2024-09-03 21:16:39 +02:00
Jon Seager d6834ede48
nixos/vmware.guest: disable xf86inputvmmouse on aarch64 (#326395) 2024-09-03 08:02:55 +01:00
phaer 53df1e4ece virtualisation/qemu-vm: disallow nullable diskSize
Because `virtualisation.diskSize = null` does result in a broken vm runner,
see https://github.com/NixOS/nixpkgs/issues/292901.

diskSize was declared to be nullable when it first got types in a
tree-wide commit:
30f0faac22

But it seemingly never actually supported it, as "${cfg.diskSize}M" is
passed to qemu-img create, which doesn't allow an empty size parameter.

closes: https://github.com/NixOS/nixpkgs/issues/292901
2024-09-02 12:09:15 +02:00
Philip Taron 9916dc8728
treewide/nixos: remove with lib; part 2 (#335618) 2024-08-30 15:56:57 -07:00
Felix Buehler dcb2e4eba4 nixos/services.xe-guest-utilities: remove with lib; 2024-08-30 23:01:45 +02:00
Felix Buehler 3e5d6ba7df nixos/virtualisation.vmware.image: remove with lib; 2024-08-30 23:01:45 +02:00
phaer 6b6a7fbc3a virtualisation/azure-images: drop outdated list...
This list of microsoft-hosted, pre-built azure-images might have been
useful, but it hasn't seen any updates since NixOS 16.0.9, eight years
ago. As there is also no in-tree usage, and the results of a quick
GitHub search yielded no out-tree usage which was *not* either about
the same age or looked like vendored copies of this list, this seems
safe to drop to me.
2024-08-30 17:36:48 +02:00
Jonas Chevalier 1e9fccb79f
nixos/azure: add Gen 2 VM, aarch64 and accelerated networking support (#333508) 2024-08-30 10:59:49 +02:00
Matteo Sozzi 389de87aed
lxc: added option for unprivileged containers.
Added extra option to enable unprivileged containers. This includes a
patch to remove the hard-coded path to `lxc-user-nic` and a new security
wrapper to set SUID to `lxc-user-nic`.
2024-08-28 09:18:23 -04:00
Robert Hensing 727351517e
Merge pull request #335660 from Gabriella439/gabriella/containers_nixpkgs.pkgs
containers.*.config.nixpkgs: use `host.pkgs.stdenv.hostPlatform`
2024-08-25 14:40:31 +02:00
Franz Pletz 35b2bfb7ed
Merge pull request #335967 from CajuM/waydroid-svc-stop 2024-08-25 01:40:42 +02:00
Mihai-Drosi Câju 05313fc5b3 nixos/waydroid: Update service definition according to upstream
* Upstream switched the service's Type to dbus in 1.4.0
* Enable D-Bus activation
* Fixes #334687
2024-08-24 19:48:20 +03:00
Gabriella Gonzalez 0b6fa5ee40
virtualisation.oci-containers: Add new imageStream option (#335430)
This adds a new `imageStream` option that can be used in conjunction
with `pkgs.dockerTools.streamLayeredImage` so that the image archive
never needs to be materialized in the `/nix/store`.  This greatly
improves the disk utilization for systems that use container images
built using Nix because they only need to store image layers instead of
the full image.  Additionally, when deploying the new system and only
new layers need to be built/copied.
2024-08-24 04:38:27 +02:00
Someone 2d7db58c2f
Merge pull request #313225 from ereslibre/nvidia-consistent-casing
docs: fix Nvidia casing to be consistent across different places
2024-08-22 16:51:41 +00:00
Someone 4c930c0635
Merge pull request #331071 from ereslibre/fix-nvidia-container-toolkit-docker-contamination
Fix nvidia container toolkit docker contamination
2024-08-22 16:40:06 +00:00
Jared Baur cd998f9de9
nixos/qemu-vm: suppress mkfs.erofs output
The mkfs.erofs utility has a lot of output by default that slows down
running tests. We don't need to capture any of the output from
mkfs.erofs, so we can suppress it.
2024-08-19 14:55:55 -07:00
Gabriella Gonzalez 79e5dbb262 Restore check for container not defining nixpkgs.hostPlatform option 2024-08-18 17:00:16 -07:00
Gabriella Gonzalez 0600255046 Use host.pkgs.stdenv.hostPlatform 2024-08-18 16:49:57 -07:00
Gabriella Gonzalez de83fcb2df containers.*.config: reuse host nixpkgs.pkgs if defined
The minimum reproduction for the problem I'm trying to solve is that
the following NixOS test with a trivial NixOS container:

```
{ inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/24.05";

    flake-utils.url = "github:numtide/flake-utils/v1.0.0";
  };

  outputs = { flake-utils, nixpkgs, self, ... }:
    flake-utils.lib.eachDefaultSystem (system: {
      checks.default = nixpkgs.legacyPackages."${system}".nixosTest {
        name = "test";

        nodes.machine.containers.tutorial.config = { };

        testScript = "";
      };
    });
}
```

… fails with the following error message:

```
error: Neither nodes.machine.nixpkgs.hostPlatform nor the legacy option nodes.machine.nixpkgs.system has been set.
You can set nodes.machine.nixpkgs.hostPlatform in hardware-configuration.nix by re-running
a recent version of nixos-generate-config.
The option nodes.machine.nixpkgs.system is still fully supported for NixOS 22.05 interoperability,
but will be deprecated in the future, so we recommend to set nodes.machine.nixpkgs.hostPlatform.
```

The root of the problem appears to be that in
`nixos/modules/virtualisation/nixos-containers.nix` there is support
for deriving the guest's `nixpkgs.hostPlatform` or
`nixpkgs.localSystem` from the corresponding host's values, but this
doesn't work if the host sets `nixpkgs.pkgs` instead of one of those
values.  In fact, this is what happens when using `pkgs.nixosTest`
(which sets `nixpkgs.pkgs` in
`pkgs/build-support/testers/default.nix`).

The solution I went with was to forward the `nixpkgs.pkgs` setting from
the host to the guest, but only if it is defined (matching the same
treatment as `nixpkgs.hostPlatform` and `nixpkgs.localSystem`.
2024-08-18 11:32:46 -07:00
Adam Stephens 659308a8c1
nixos/incusContainer: create hydra build product 2024-08-17 09:01:17 -04:00
Fabián Heredia Montiel 2c94341824
Merge pull request #328532 from LeSuisse/openstack-config-no-default-root-password
openstack-config: remove hardcoded default password for the root account
2024-08-16 12:30:12 -06:00
Rafael Fernández López 058e8f5ef1
nvidia-podman: remove nvidia wrapper
Since version 4.1.0, podman has support for CDI, and is the
recommended way to expose GPU's for containers for podman.

More information: https://web.archive.org/web/20240729183805/https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuring-podman
2024-08-16 18:16:23 +02:00
Rafael Fernández López f7b4d57421
virtualisation/docker: fix nvidia wrapper
Although CDI should be used in order to not require container runtime
wrappers anymore, fix the nvidia-container-runtime integration with
Docker for cases when Docker < 25.
2024-08-16 15:49:35 +02:00
codgician 94683f9e55 azure-common: take networkmanager users into account for accelerated networking 2024-08-14 11:02:58 +08:00
Pol Dellaiera c556059765
Merge pull request #334344 from truh/docs/oci-containers-docs-urls
nixos/oci-containers: replace broken links to docker docs
2024-08-13 20:44:55 +02:00
Adam C. Stephens 7e95d0361c
Merge pull request #333730 from adamcstephens/incus/from-lxd
nixos/incus: add incus-only vm and container images
2024-08-13 08:39:26 -04:00
Jakob Klepp 0b8954f8d2 nixos/oci-containers: replace broken links to docker docs
Old links in descriptions now lead to 404 pages.
2024-08-13 11:49:08 +02:00
codgician 88c5242599 azure-common: remove bootloader timeout since we can access serial console now 2024-08-13 17:39:47 +08:00
Philip Taron c44e170e3f
nixos/proxmox-lxc: lib.mdDoc is deprecated 2024-08-12 08:02:57 -07:00
Adam Stephens ac18c4d1e9
treewide: remove lxc team from lxd packages and modules
LXD is not under the LXC project any longer
2024-08-10 13:23:38 -04:00
Adam Stephens 094f2b6c9d
nixos/incus: add incus-only vm and container images 2024-08-10 13:23:36 -04:00
Adam Stephens 293c17926d
nixos/incus-agent: init 2024-08-10 12:08:33 -04:00
codgician 028138f201 azure-common: put mlx drivers into availableKernelModules 2024-08-10 11:47:18 +08:00
codgician 1f26575842 azure-common: rm trailing whitespace 2024-08-10 02:03:27 +08:00
codgician 5b4f446d6a azure-common: improve code style 2024-08-09 15:17:12 +08:00
codgician 85fcdad66c azure-common: fix unsupported attribute 2024-08-09 15:10:07 +08:00
codgician 0769bb8aac azure-image: support creating v2 image 2024-08-09 14:47:30 +08:00
codgician f6fe3b3bff azure-common: add accelerated networking configs 2024-08-09 08:47:10 +08:00
codgician 0799550a95 azure-agent: remove x86 assertion 2024-08-09 08:46:10 +08:00
Aleksana e38e6a4490
Merge pull request #328164 from truh/docs/oci-containers-firewall-bypass
nixos/oci-containers: document firewall bypass
2024-08-04 16:35:23 +08:00
Winter 6c11488ce0 Revert "nixos/podman: use given package for dockerCompat"
This reverts commit df74ebcabb, which breaks
eval when Podman is enabled due to infinite recursion [0] [1].

I take full responsibility for merging this without looking too closely
nor running the NixOS test.

[0]: df74ebcabb (commitcomment-145003824)
[1]: https://github.com/NixOS/nixpkgs/pull/267321#issuecomment-2267076978
2024-08-03 15:13:24 -04:00
Chris Maniewski df74ebcabb nixos/podman: use given package for dockerCompat
Defining a package that isn't the default results in podman-compat linking to a different version of podman (always the default one). This PR changes the behavior so that the given alternative package is used for the dockerCompat option as well. This could technically break things for people who rely on this quirk, albeit the previous behavior is probably not what one would expect.

Co-authored-by: Winter <winter@winter.cafe>
2024-08-03 10:54:26 -04:00
Arian van Putten 4e4b14e3f6 nixos/lxd: delegate cgroup to lxd
Just doing what arch does as well: https://gitlab.archlinux.org/archlinux/packaging/packages/lxd/-/blob/main/lxd.service?ref_type=heads

Also container managers should always have this option set. See https://systemd.io/CONTAINER_INTERFACE/
2024-07-31 13:49:58 +02:00
Arian van Putten ee81fdfa56 nixos/lxd: use unified cgroup hierachy 2024-07-31 13:49:58 +02:00
Masum Reza 184957277e
Merge pull request #322282 from tylerjl/tylerjl/print-host-key-soft-fail
nixos/ec2-data: skip unrecognized keys in print-host-keys
2024-07-31 10:59:10 +05:30
Rafael Fernández López 3d2a21eddf virtualisation/{docker,podman}: update nvidia-ctk warning
Warnings and descriptions for `virtualisation.docker.enableNvidia` and
`virtualisation.podman.enableNvidia` point erroneously to set
`virtualisation.containers.cdi.dynamic.nvidia.enable`. This NixOS
option has been deprecated and the recommended NixOS option is
`hardware.nvidia-container-toolkit.enable`.
2024-07-28 13:12:27 +02:00
Sohalt c11439943d
nixos/containers: add wants and after dependency for network interfaces (#153234)
Co-authored-by: Franz Pletz <fpletz@fnordicwalking.de>
2024-07-22 01:22:19 +02:00
Sandro 49831e2e65
Merge pull request #328604 from illustris/pve-kvm
nixos/proxmoxImage: fix build
2024-07-21 21:23:06 +02:00
Franz Pletz 1a3c164570
Merge pull request #328682 from fpletz/nixos/fix-proxmox-lxc 2024-07-21 09:09:40 +02:00
Adam C. Stephens 65ef67740b
Merge pull request #328665 from adamcstephens/incus/fix-lts-unstable
incus: fix OVMF path backward compatibility
2024-07-20 14:09:46 -04:00
lassulus e209fc2f2f
Merge pull request #241373 from nikstur/qemu-vm-simplify-nix-store-image
nixos/qemu-vm: simplify building nix store image
2024-07-20 19:27:40 +02:00
Franz Pletz ceafec213f
nixos/proxmox-lxc: fix nixos-rebuild
Same is being done in lxc-container module.
2024-07-20 16:54:29 +02:00
Franz Pletz c501d3fa97
nixos/proxmox-lxc: fix getty start
Otherwise there is no getty on tty1 in Proxmox.
2024-07-20 16:54:28 +02:00
Franz Pletz 4aa419c046
nixos/proxmox-lxc: reformat 2024-07-20 16:54:28 +02:00
Franz Pletz 7c67f72893
Merge pull request #320075 from illustris/pve-lxc-ping-fix 2024-07-20 16:52:05 +02:00
Adam Stephens 28922c4421
incus: fix OVMF path backward compatibility
incus 6.3.0 changed the OVMF path, but our module needs to support LTS
as well. Also move the newer OCI deps to be conditional on version.
2024-07-20 09:54:07 -04:00
illustris 0dca765a25
nixos/proxmoxImage: fix build 2024-07-20 12:12:16 +05:30
Thomas Gerbet 66c0275843 openstack-config: remove hardcoded default password for the root account 2024-07-19 21:24:37 +02:00
nikstur 289dd22132 nixos/qemu-vm: simplify building nix store image
Summary of this change:

- Simplify code.
- Stop a disk image from being cached in the binary cache.
- Make erofs Nix Store image build in an acceptable time outside of
  testing environments (like `darwin.builder`).
- Do not regress on performance for tests that use many store paths in
  their Nix store image.
- Slightly longer startup time for tests where not many store paths are
  included in the image (these probably shouldn't use `useNixStoreImage`
  anyways).
- Slightly longer startup time when inputs of VM do not change because
  the Nix store image is not cached anymore.

Remove the `storeImage` built with make-disk-image.nix. This produced a
separate derivation which is then cached in the binary cache. These
types of images should be avoided because they gunk up the cache as they
change frequently. Now all Nix store images, whether read-only or
writable are based on the erofs image previously only used for read-only
images.

Additionally, simplify the way the erofs image is built by copying the
paths to include to a separate directory and build the erofs image from
there.

Before this change, the list of Nix store paths to include in the Nix
store image was converted to a complex regex that *excludes* all other
paths from a potentially large Nix store.

This previous approach suffers from two issues:

1. The regex is complex and, as admitted in the source code of the
   includes-to-excludes.py script, most likely contains at least one
   error. This means that it's unlikely that anyone will touch this
   piece of software again.

2. When the Nix store image is built from a large Nix store (like when
   you build the VM script to run outside of any testing context) this
   regex becomes painfully slow. There is at least one prominent
   use-case where this matters: `darwin.builder`.

Benchmarking impressions:

- Building Nix store via make-disk-image.nix takes ~25s
- Building Nix store as an erofs image takes ~4s
- Running nixosTests.qemu-vm-writable-store-image takes ~10s when
  building the erofs image with the regex vs ~14s when building by
  copying to a temporary directory.
- nixosTests.gitlab which had the biggest gains from the initial erofs
  change takes the same time as before.
- On a host with ~140k paths in /nix/store, building the erofs image
  with the regex takes 410s as opposed to 6s when copying to a temporary
  directory.
2024-07-18 20:24:58 +02:00
lassulus a62c421981
Merge pull request #290730 from nikstur/qemu-vm-refactoring
qemu-vm.nix refactoring
2024-07-18 19:34:51 +02:00
nikstur b6e354f052 nixos/qemu-vm: remove creation of /etc/nixos
/etc/nixos is already created by stage-2-init.sh
2024-07-18 19:11:28 +02:00
nikstur cb5a876e82 nixos/qemu-vm: consistently use efiSysMountPoint
Remove the explicit creation of efiSysMountPoint. This is not needed in
the scripted or the systemd initrd.
2024-07-18 19:11:27 +02:00
nikstur b7b90d0455 nixos/qemu-vm: fsck ESP
The ESP is a writable vfat filesystem that can be fscked like any other
fs thus we should stick to the default.
2024-07-18 19:11:27 +02:00
nikstur ded6d983d6 nixos/qemu-vm: use new overlayfs API 2024-07-18 19:11:24 +02:00
nikstur 54674e9063 nixos/qemu-vm: remove duplication between scripted and systemd initrd 2024-07-18 19:09:28 +02:00
Jakob Klepp c5c92feff7
nixos/oci-containers: document firewall bypass
Add explanation about the security impact of the
ports option.
Provide a safer example.

The problem is discussed in greater depth here:
https://github.com/NixOS/nixpkgs/issues/111852
2024-07-18 14:32:08 +02:00
Frédéric Christ c6f6c28218 nixos/testing: Add ipv6 configuration
This contribution enables a working IPv6 setup by default. This works
analog to the current automatic IPv4 setup.
2024-07-18 10:22:32 +02:00
Sandro c0e4367e8f
Merge pull request #267764 from Silver-Golden/nixos/proxmox-lxc-import-not-activate 2024-07-16 17:02:47 +02:00
Philip Taron 2e17c4a4da
nixos/amazon-image: avoid top-level with statements 2024-07-15 22:02:39 -07:00
Adam C. Stephens a167a16697
Merge pull request #326620 from bbigras/incus
incus: 6.2.0 -> 6.3.0
2024-07-15 14:47:18 -04:00
Bruno Bigras 856651fda8 nixos/incus: INCUS_OVMF_PATH -> INCUS_EDK2_PATH 2024-07-15 12:10:50 -04:00
K900 3eeff54780 nixos/alsa: kill sound.enable and friends with fire 2024-07-13 13:56:18 +03:00
Bruno Bigras c2a12db1a4 nixos/incus: add skopeo and umoci 2024-07-12 16:34:17 -04:00
Spencer Heywood bb0c512b54
nixos/vmware.guest: disable xf86inputvmmouse on aarch64 2024-07-11 16:52:22 -06:00
Basti 56e8106538
Remove trailing whitespace 2024-07-09 22:14:23 +00:00
Basti 2232311c93
Update nixos/modules/virtualisation/podman/default.nix 2024-07-09 22:12:12 +00:00
Aleksana d5a4f459ea
Merge pull request #304362 from Stunkymonkey/ec2-data-chmod-install
ec2-data: prefer 'install/umask' over 'chmod'
2024-07-04 12:51:53 +08:00
Felix Buehler 6fd0acb81b ec2-data: prefer 'install/umask' over 'chmod' 2024-07-03 23:18:43 +02:00
Nick Cao ffa6fef5ad
Merge pull request #321010 from blitz/virtualbox-kvm
virtualboxKvm: 20240515 -> 20240617
2024-06-30 09:53:43 -04:00
Brendan Golden c20f3b70ab nixos/proxmox-lxc: allow importing module without activation, for used in mixed machine clusters 2024-06-27 13:05:05 +01:00
Sandro 33f83c6252
Merge pull request #316977 from eclairevoyant/fix-mkEnableOption
treewide: fix mkEnableOption usage
2024-06-25 22:42:16 +02:00
Michael Franzl cae086d605
nixos/virtualisation: increase priority for libvirt NSS modules
When `services.resolved` is enabled, then `resolve [!UNAVAIL=return]`
is added to `system.nssDatabases.hosts` with priority 501,
which prevents lower-priority NSS modules from running
unless systemd-resolved is not available.

Quoting from `man nss-resolve`:

> To activate the NSS module, add "resolve [!UNAVAIL=return]" to the line
> starting with "hosts:" in /etc/nsswitch.conf. Specifically, it is
> recommended to place "resolve" early in /etc/nsswitch.conf's "hosts:"
> line. It should be before the "files" entry, since systemd-resolved
> supports /etc/hosts internally, but with caching. To the contrary, it
> should be after "mymachines", to give hostnames given to local VMs and
> containers precedence over names received over DNS. Finally, we
> recommend placing "dns" somewhere after "resolve", to fall back to
> nss-dns if systemd-resolved.service is not available.

Note that the man page (just) recommends "early" and means with this
"before the 'files' and 'dns' entries". It does not insist on being
first or excluding other modules.

For this reason, libvirt NSS modules should run before the `resolve`
module. They should come right next to `mymachines` because both are
conceptually very similar -- they resolve local VMs/containers.

Since the data source of the libvirt NSS modules are local
plain text files (see source code of the libvirt NSS module),
no performance impact is expected form this raise of priorities.

Other NSS modules in NixOS also explicitly set their priority, which is
why this change increases consistency.

Fixes #322022
2024-06-25 20:22:14 +02:00
Franz Pletz e6e4cd92ad
Merge pull request #322211 from NyCodeGHG/update-libvirt
libvirt: 10.0.0 -> 10.4.0, nixos/libvirtd: add ssh proxy option
2024-06-25 05:47:13 +02:00
Tyler Langlois 404fb5ab9c nixos/ec2-data: skip unrecognized keys in print-host-keys
The recent move to strip out DSS support from the openssh package
means that older key formats cause the key-printing command to
fail. Rather than causing the entire unit to fail, we should instead
skip those keys - while still letting the error through to the
console - and continue to print other keys the loop may find.
2024-06-24 16:08:59 -06:00
Felix Bühler e1f89770af
Merge pull request #302909 from Stunkymonkey/vagrant-guest-install-chmod
nixos/vagrant-guest: prefer 'install' over 'chmod'
2024-06-24 19:47:59 +02:00
Marie Ramlow 35b3707f20 nixos/libvirtd: add ssh proxy option 2024-06-24 17:20:05 +02:00
Linus Heckemann e5adf0b547 maintainers: drop lheckemann 2024-06-21 15:54:54 +02:00
Sirio Balmelli 80712f254c
nixos/oci-image: expose diskSize as a configurable option
diskSize defaults to the previous hard-coded 8192:
no change for existing users.

Users can set diskSize when building images which require
larger disk space; thus avoiding the error:

    ERROR: cptofs failed. diskSize might be too small for closure.

Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
Co-authored-by: superherointj <5861043+superherointj@users.noreply.github.com>
2024-06-21 08:54:08 +02:00
Julian Stecklina 9cec4b55f6 nixos/virtualbox-host: remove obsolete warnings
Version 20240617 of the KVM patch allows for turning hardening on in
VirtualBox.
2024-06-19 09:42:54 +02:00
K900 98cef4c273 treewide: big opengl cleanup
- rename hardware.opengl to hardware.graphics
- remove hardware.opengl.driSupport, which does nothing
- remove hardware.opengl.setLdLibraryPath, which should never be done
- rename hardware.opengl.driSupport32Bit to hardware.graphics.enable32Bit
- lost of small docs / formatting cleanups
2024-06-16 14:11:33 +03:00
illustris 01b159092f
nixos/proxmox-lxc: fix ping in unprivileged LXCs 2024-06-15 20:29:01 +05:30
éclairevoyant 7d8742da87
treewide: fix mkEnableOption usage 2024-06-14 02:41:42 -04:00
Sandro Jäckel e2e28f84f3
nixos/podman: add slirp4netns if configured 2024-06-11 01:01:19 +02:00
Arnout Engelen 2389f5fdc3
virtualbox guest module: draganddrop became dragAndDrop (#317756)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2024-06-06 16:48:47 +02:00
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