summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-10-13 12:14:37 +0000
committerAlyssa Ross <hi@alyssa.is>2023-10-13 12:14:37 +0000
commit64a55ddd4080feae9624814e1536c4dbfbdccebf (patch)
treea4d261c46ff1eb4c5b5eb118e0c88fba42f6060b /nixos
parent49523dec152f68f48ee65b5612d6b6df035f1ecf (diff)
parent4645621691917cee2456cfc045a815c48c8c78c2 (diff)
downloadnixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.tar
nixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.tar.gz
nixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.tar.bz2
nixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.tar.lz
nixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.tar.xz
nixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.tar.zst
nixpkgs-64a55ddd4080feae9624814e1536c4dbfbdccebf.zip
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/tools/misc/indent/default.nix
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/virtualisation/lxc-container.nix21
1 files changed, 12 insertions, 9 deletions
diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix
index 9402d3bf37d..c40c7bee188 100644
--- a/nixos/modules/virtualisation/lxc-container.nix
+++ b/nixos/modules/virtualisation/lxc-container.nix
@@ -9,15 +9,16 @@ in {
 
   options = {
     virtualisation.lxc = {
-      privilegedContainer = lib.mkOption {
-        type = lib.types.bool;
-        default = false;
-        description = lib.mdDoc ''
-          Whether this LXC container will be running as a privileged container or not. If set to `true` then
-          additional configuration will be applied to the `systemd` instance running within the container as
-          recommended by [distrobuilder](https://linuxcontainers.org/distrobuilder/introduction/).
-        '';
-      };
+      nestedContainer = lib.mkEnableOption (lib.mdDoc ''
+        Whether this container is configured as a nested container. On LXD containers this is recommended
+        for all containers and is enabled with `security.nesting = true`.
+      '');
+
+      privilegedContainer = lib.mkEnableOption (lib.mdDoc ''
+        Whether this LXC container will be running as a privileged container or not. If set to `true` then
+        additional configuration will be applied to the `systemd` instance running within the container as
+        recommended by [distrobuilder](https://linuxcontainers.org/distrobuilder/introduction/).
+      '');
     };
   };
 
@@ -68,6 +69,8 @@ in {
       ln -fs "$1/init" /sbin/init
     '';
 
+    systemd.additionalUpstreamSystemUnits = lib.mkIf cfg.nestedContainer ["systemd-udev-trigger.service"];
+
     # Add the overrides from lxd distrobuilder
     # https://github.com/lxc/distrobuilder/blob/05978d0d5a72718154f1525c7d043e090ba7c3e0/distrobuilder/main.go#L630
     systemd.packages = [