From 0a03e5aed7e17b67732b5ca9f036b6fb193863ce Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 2 Jun 2026 10:17:10 -0400 Subject: [PATCH] nixos/incus: add storage.truenas.enable option based on https://github.com/NixOS/nixpkgs/pull/522004#issuecomment-4585131794 --- nixos/modules/virtualisation/incus.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index 83a5a731ccb7..6c05bbb65f5e 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -93,6 +93,9 @@ let ] ++ lib.optionals nvidiaEnabled [ libnvidia-container + ] + ++ lib.optionals cfg.storage.truenas.enable [ + truenas-incus-ctl ]; # https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123 @@ -284,6 +287,8 @@ in ''; }; + storage.truenas.enable = lib.mkEnableOption "TrueNAS storage driver support"; + ui = { enable = lib.mkEnableOption "Incus Web UI"; @@ -314,6 +319,10 @@ in ); message = "Incus on NixOS is unsupported using iptables. Set `networking.nftables.enable = true;`"; } + { + assertion = cfg.storage.truenas.enable -> config.services.openiscsi.enable; + messages = "`virtualisation.incus.storage.truenas.enable` requires `services.openiscsi.enable`"; + } ]; # https://github.com/lxc/incus/blob/f145309929f849b9951658ad2ba3b8f10cbe69d1/doc/reference/server_settings.md @@ -346,6 +355,9 @@ in # gui console support pkgs.spice-gtk + ] + ++ lib.optionals cfg.storage.truenas.enable [ + pkgs.truenas-incus-ctl ]; # Note: the following options are also declared in virtualisation.lxc, but