summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorMaciej Krüger <mkg20001@gmail.com>2021-04-28 04:25:21 +0200
committerMaciej Krüger <mkg20001@gmail.com>2021-11-03 07:49:50 +0100
commitd262f6f59361fbc9c232b8ed5483d3258b42497d (patch)
tree9d2210f7b97bed0378e869bf34df132c2c86c5d7 /nixos
parent7667f641c94d5d1780d8f920ea5352ab504b0960 (diff)
downloadnixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.tar
nixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.tar.gz
nixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.tar.bz2
nixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.tar.lz
nixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.tar.xz
nixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.tar.zst
nixpkgs-d262f6f59361fbc9c232b8ed5483d3258b42497d.zip
virtualisation.lxc-container: overwrite tarball for lxd
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/virtualisation/lxc-container.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix
index e47bd59dc01..a6f82e4436f 100644
--- a/nixos/modules/virtualisation/lxc-container.nix
+++ b/nixos/modules/virtualisation/lxc-container.nix
@@ -7,6 +7,34 @@ with lib;
     ../profiles/docker-container.nix # FIXME, shouldn't include something from profiles/
   ];
 
+  system.build.tarball = mkForce (pkgs.callPackage ../../lib/make-system-tarball.nix {
+    extraArgs = "--owner=0";
+
+    storeContents = [
+      config.system.build.toplevel
+    ];
+
+    contents = [
+      {
+        source = pkgs.writeText "metadata.yaml" ''
+          architecture: ${builtins.elemAt (builtins.match "^([a-z0-9_]+).+" (toString pkgs.system)) 0}
+          creation_date: 0
+          properties:
+            description: NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} ${pkgs.system}
+            os: nixos
+            release: ${config.system.nixos.codeName}
+        '';
+        target = "/metadata.yaml";
+      }
+      {
+        source = config.system.build.toplevel + "/init";
+        target = "/sbin/init";
+      }
+    ];
+
+    extraCommands = "mkdir -p proc sys dev";
+  });
+
   # Allow the user to login as root without password.
   users.users.root.initialHashedPassword = mkOverride 150 "";