{ lib , pkgs }: # assumes nspawn-tarball.nix is mixed into it nixosConfiguration: let hostname = nixosConfiguration.config.networking.hostName; setup = pkgs.substituteAll { src = ./setup-nspawn.sh; isExecutable = true; inherit hostname; }; inherit (nixosConfiguration.config.system.build) tarball; in pkgs.runCommandNoCC "nspawn-setup-${hostname}.sh" { nativeBuildInputs = with pkgs; [ makeself ]; } '' mkdir -p archive/ ln -s ${setup} archive/setup.sh ln -s ${tarball}/* archive/nixos-${hostname}.tar makeself --follow archive/ $out setup-nixos-nspawn-${hostname} ./setup.sh ''