at 25.11-pre 883 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8with lib; 9 10let 11 12 cfg = config.virtualisation.appvm; 13 14in 15{ 16 17 options = { 18 virtualisation.appvm = { 19 enable = mkOption { 20 type = types.bool; 21 default = false; 22 description = '' 23 This enables AppVMs and related virtualisation settings. 24 ''; 25 }; 26 user = mkOption { 27 type = types.str; 28 description = '' 29 AppVM user login. Currently only AppVMs are supported for a single user only. 30 ''; 31 }; 32 }; 33 34 }; 35 36 config = mkIf cfg.enable { 37 virtualisation.libvirtd = { 38 enable = true; 39 qemu.verbatimConfig = '' 40 namespaces = [] 41 user = "${cfg.user}" 42 group = "users" 43 remember_owner = 0 44 ''; 45 }; 46 47 users.users."${cfg.user}" = { 48 packages = [ pkgs.appvm ]; 49 extraGroups = [ "libvirtd" ]; 50 }; 51 52 }; 53 54}