PortValhalla/scripts/test/arch-install.fish

34 lines
1.2 KiB
Fish
Executable file

#!/bin/env fish
set -l dir (status dirname)
set -l container valhalla-test
set -l containerDir "/var/lib/lxc/$container"
set -l valhallaRoot opt/PortValhalla
sudo lxc-stop "$container"
sudo lxc-destroy "$container"
sudo lxc-create "$container" -t download -- --dist archlinux --release current --arch amd64
sudo mkdir -p "$containerDir/rootfs/$valhallaRoot"
begin
printf "%s\n" \
"" \
"# Docker" \
"lxc.apparmor.profile = unconfined" \
"" \
"# Shared Folder" \
"lxc.mount.entry = $(realpath "$dir/../..") $valhallaRoot none bind 0 0" \
"" \
"# VPN" \
"lxc.cgroup2.devices.allow = c 10:200 rwm" \
"lxc.mount.entry = /dev/net dev/net none bind,create=dir 0 0"
end | sudo tee -a "$containerDir/config" >/dev/null
sudo lxc-start "$container"
while not sudo lxc-attach "$container" -- ping -q -c1 5.9.164.112 &>/dev/null
sleep .1
end
sudo lxc-attach "$container" -- systemctl start systemd-networkd-wait-online.service
sudo lxc-attach "$container" -- ln -s (readlink /etc/localtime) /etc/localtime
sudo lxc-attach "$container" -- pacman --noconfirm -Syu fish
sudo lxc-attach "$container" -- "/$valhallaRoot/scripts/arch-install.fish"