{ pkgs , ownLib , dir , rebuildarg , moreargs , diskId , gitRoot , previousDiskId ? "" }: let mntRootVol="/mnt/${diskId}-root"; in rec { diskMount = pkgs.writeScript "script" '' #!/usr/bin/env bash set -xe echo Mounting ${diskId} sudo cryptsetup luksOpen ${ownLib.disk.bootLuksDevice diskId} ${ownLib.disk.luksName diskId} sleep 1 sudo vgchange -ay ${ownLib.disk.volumeGroup diskId} sudo mkdir -p /mnt sudo mkdir ${mntRootVol} sudo mount ${ownLib.disk.rootFsDevice diskId} ${mntRootVol} sudo mount ${ownLib.disk.rootFsDevice diskId} ${mntRootVol}/nixos/home -o subvol=home sudo mount ${ownLib.disk.bootFsDevice diskId} ${mntRootVol}/nixos/boot ''; diskUmount = pkgs.writeScript "script" '' #!/usr/bin/env bash set -xe umount -R ${mntRootVol} rmdir ${mntRootVol} vgchange -an ${ownLib.disk.volumeGroup diskId} cryptsetup luksClose ${ownLib.disk.luksName diskId} sync ''; diskInstall = pkgs.writeScript "script" '' #!/usr/bin/env bash set -xe pushd ${gitRoot}/${dir} export NIXOS_CONFIG="$PWD"/configuration.nix [[ -e "''${NIXOS_CONFIG}" ]] [[ -e "${mntRootVol}/nixos" ]] sudo -E $SHELL <