33 lines
777 B
Nix
33 lines
777 B
Nix
{ lib
|
|
, pkgs
|
|
}:
|
|
|
|
# this assumes github:tfc/nspawn-nixos nspawn-tarball.nix is mixed into it
|
|
nixosConfiguration:
|
|
|
|
let
|
|
|
|
hostname = nixosConfiguration.config.networking.hostName;
|
|
inherit (nixosConfiguration.config.nixpkgs) system;
|
|
|
|
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}/tarball/nixos-system-${system}.tar.xz archive/nixos-${hostname}.tar.xz
|
|
|
|
echo tarball: ${tarball}
|
|
makeself --nocomp --follow archive/ $out "setup-nixos-nspawn-${hostname}" ./setup.sh
|
|
''
|