vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / virtualisation / appvm.nix
blob852244c5d98b364da66afd714ef041dde1367198
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
7   cfg = config.virtualisation.appvm;
9 in {
11   options = {
12     virtualisation.appvm = {
13       enable = mkOption {
14         type = types.bool;
15         default = false;
16         description = ''
17           This enables AppVMs and related virtualisation settings.
18         '';
19       };
20       user = mkOption {
21         type = types.str;
22         description = ''
23           AppVM user login. Currently only AppVMs are supported for a single user only.
24         '';
25       };
26     };
28   };
30   config = mkIf cfg.enable {
31     virtualisation.libvirtd = {
32       enable = true;
33       qemu.verbatimConfig = ''
34         namespaces = []
35         user = "${cfg.user}"
36         group = "users"
37         remember_owner = 0
38       '';
39     };
41     users.users."${cfg.user}" = {
42       packages = [ pkgs.appvm ];
43       extraGroups = [ "libvirtd" ];
44     };
46   };