move cascade-installer to cascade-local
This commit is contained in:
parent
3c9c9c94d9
commit
cfb3dbec84
|
@ -1,63 +0,0 @@
|
|||
final: prev: {
|
||||
cascade-installer = prev.writeShellApplication {
|
||||
name="cascade-installer";
|
||||
runtimeInputs = with final; [ bash git parted util-linux jq ];
|
||||
text=''
|
||||
usage() {
|
||||
1>&2 echo "usage: cascade-installer HOSTNAME BLOCKDEVTONUKE PROFILE"
|
||||
}
|
||||
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ];then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
HOSTNAME="$1"
|
||||
BLOCKDEVTONUKE="$2"
|
||||
PROFILE="$3"
|
||||
|
||||
if ! [ -d /usr/src/cascade/profiles/"$PROFILE" ];then
|
||||
1>&2 echo "profile $PROFILE does not exist. possible options:"
|
||||
(cd /usr/src/cascade/profiles/ && 1>&2 printf " %s\n" [a-zA-Z0-9]*)
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p /mnt
|
||||
|
||||
# if the block device has children...
|
||||
if lsblk -J "$BLOCKDEVTONUKE" | jq -e '.blockdevices[]|.children' > /dev/null ; then
|
||||
1>&2 echo "$BLOCKDEVTONUKE still has partitions. please clear the block device before installing"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
parted "$BLOCKDEVTONUKE" -- mklabel gpt
|
||||
parted "$BLOCKDEVTONUKE" -- mkpart primary 512MiB -2GiB
|
||||
parted "$BLOCKDEVTONUKE" -- mkpart primary linux-swap -2GiB 100%
|
||||
parted "$BLOCKDEVTONUKE" -- mkpart ESP fat32 1MiB 512MiB
|
||||
parted "$BLOCKDEVTONUKE" -- set 3 esp on
|
||||
parted "$BLOCKDEVTONUKE" -- name 1 nixos
|
||||
parted "$BLOCKDEVTONUKE" -- name 2 nixos-swap
|
||||
parted "$BLOCKDEVTONUKE" -- name 3 ESP
|
||||
|
||||
sync
|
||||
sleep 3
|
||||
|
||||
BLK_NIXOS="$(lsblk -OJ "$BLOCKDEVTONUKE" | jq -r '.blockdevices[].children[]|select(.partlabel == "nixos")|.name')"
|
||||
BLK_SWAP="$(lsblk -OJ "$BLOCKDEVTONUKE" | jq -r '.blockdevices[].children[]|select(.partlabel == "nixos-swap")|.name')"
|
||||
BLK_ESP="$(lsblk -OJ "$BLOCKDEVTONUKE" | jq -r '.blockdevices[].children[]|select(.partlabel == "ESP")|.name')"
|
||||
mkfs.xfs -L nixos "$BLK_NIXOS"
|
||||
mkswap -L nixos-swap "$BLK_SWAP"
|
||||
mkfs.fat -F 32 -n BOOT "$BLK_ESP"
|
||||
|
||||
mount "$BLK_NIXOS" /mnt
|
||||
mkdir -p /mnt/boot /mnt/etc/nixos
|
||||
sed -e '
|
||||
s#[(] *toString ../profiles/.*[)]#(toString /usr/src/cascade/profiles/'"$PROFILE"')#
|
||||
s#networking.hostName = "nixos";#networking.hostName = "'"$HOSTNAME"'";#
|
||||
' < /usr/src/cascade/hosts/_basic.nix > /etc/nixos/configuration.nix
|
||||
|
||||
swapon "$BLK_SWAP"
|
||||
nixos-install
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user