diff options
author | Maciej Krüger <mkg20001@gmail.com> | 2023-10-24 02:06:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-24 02:06:36 +0200 |
commit | 1ecbbb6e3f22427f61a28d6e2d758966fb5f0287 (patch) | |
tree | 5da56cdab0eacac8bc83bdf0b67a068f3c8d05d6 /nixos/modules/virtualisation | |
parent | 5fb487096d9357584365216e0485c421f50dcba0 (diff) | |
parent | c2ff509e66a2e4b3e2f1a24a20fa4340f34aba49 (diff) | |
download | nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.tar nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.tar.gz nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.tar.bz2 nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.tar.lz nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.tar.xz nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.tar.zst nixlib-1ecbbb6e3f22427f61a28d6e2d758966fb5f0287.zip |
Merge pull request #260595 from adamcstephens/lxc/squashfs
lxc-container: add squashfs image support and release output
Diffstat (limited to 'nixos/modules/virtualisation')
-rw-r--r-- | nixos/modules/virtualisation/lxc-container.nix | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix index 1034c699629d..61d7c4cb73fe 100644 --- a/nixos/modules/virtualisation/lxc-container.nix +++ b/nixos/modules/virtualisation/lxc-container.nix @@ -37,7 +37,6 @@ in { ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system ''; - # TODO: build rootfs as squashfs for faster unpack system.build.tarball = pkgs.callPackage ../../lib/make-system-tarball.nix { extraArgs = "--owner=0"; @@ -64,6 +63,23 @@ in { extraCommands = "mkdir -p proc sys dev"; }; + system.build.squashfs = pkgs.callPackage ../../lib/make-squashfs.nix { + fileName = "nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}"; + + noStrip = true; # keep directory structure + comp = "zstd -Xcompression-level 6"; + + storeContents = [config.system.build.toplevel]; + + pseudoFiles = [ + "/sbin d 0755 0 0" + "/sbin/init s 0555 0 0 ${config.system.build.toplevel}/init" + "/dev d 0755 0 0" + "/proc d 0555 0 0" + "/sys d 0555 0 0" + ]; + }; + system.build.installBootLoader = pkgs.writeScript "install-lxd-sbin-init.sh" '' #!${pkgs.runtimeShell} ${pkgs.coreutils}/bin/ln -fs "$1/init" /sbin/init |