diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 908d1ab46e8f..8bbb8665219a 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -43,8 +43,9 @@
- Please remove this line when you add the first item since
- docbook requires the section to be non-empty
+ appvm,
+ Nix based app VMs. Available as
+ virtualisation.appvm.
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index 87fdf4e77f25..5dc8e958c896 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -23,7 +23,7 @@ In addition to numerous new and upgraded packages, this release has the followin
## New Services {#sec-release-22.11-new-services}
-- Please remove this line when you add the first item since docbook requires the section to be non-empty
+- [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 5f01c6bcfdf7..f7357036d69d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1236,6 +1236,7 @@
./tasks/powertop.nix
./testing/service-runner.nix
./virtualisation/anbox.nix
+ ./virtualisation/appvm.nix
./virtualisation/build-vm.nix
./virtualisation/container-config.nix
./virtualisation/containerd.nix
diff --git a/nixos/modules/virtualisation/appvm.nix b/nixos/modules/virtualisation/appvm.nix
new file mode 100644
index 000000000000..24315a85d0ed
--- /dev/null
+++ b/nixos/modules/virtualisation/appvm.nix
@@ -0,0 +1,49 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.virtualisation.appvm;
+
+in {
+
+ options = {
+ virtualisation.appvm = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ This enables AppVMs and related virtualisation settings.
+ '';
+ };
+ user = mkOption {
+ type = types.str;
+ description = ''
+ AppVM user login. Currenly only AppVMs are supported for a single user only.
+ '';
+ };
+ };
+
+ };
+
+ config = mkIf cfg.enable {
+ virtualisation.libvirtd = {
+ enable = true;
+ qemu.verbatimConfig = ''
+ namespaces = []
+ user = "${cfg.user}"
+ group = "users"
+ remember_owner = 0
+ '';
+ };
+
+ users.users."${cfg.user}" = {
+ packages = [ pkgs.appvm ];
+ extraGroups = [ "libvirtd" ];
+ };
+
+ };
+
+}
+
diff --git a/pkgs/applications/virtualization/appvm/0001-Remove-menu-bar.patch b/pkgs/applications/virtualization/appvm/0001-Remove-menu-bar.patch
new file mode 100644
index 000000000000..5a15686353a3
--- /dev/null
+++ b/pkgs/applications/virtualization/appvm/0001-Remove-menu-bar.patch
@@ -0,0 +1,12 @@
+diff --git a/src/resources/ui/virt-viewer.ui b/src/resources/ui/virt-viewer.ui
+index 430f879..68856fc 100644
+--- a/src/resources/ui/virt-viewer.ui
++++ b/src/resources/ui/virt-viewer.ui
+@@ -137,7 +137,6 @@
+
+
+