diff options
author | Adam Stephens <adam@valkor.net> | 2023-10-11 23:35:53 -0400 |
---|---|---|
committer | Adam Stephens <adam@valkor.net> | 2023-10-12 15:11:09 -0400 |
commit | dbeeeb8e0651837137e50f0c4a323831e295effd (patch) | |
tree | 59649d2b7c97728109d4be3d4860bd8a365ff19b /nixos | |
parent | 2d386760f73f26892c0dd9cacaeef0f11d99246b (diff) |
nixos/lxc-container: enable udev-trigger for nested containers
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/virtualisation/lxc-container.nix | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix index 9402d3bf37d0c..c40c7bee18866 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 = [ |