cagevnc/build/root/install.sh

53 lines
1.1 KiB
Bash

#!/bin/bash
# exit script if return code != 0
set -e
# build scripts
####
# download build scripts from github
curl --connect-timeout 5 --max-time 600 --retry 5 --retry-delay 0 --retry-max-time 60 -o /tmp/scripts-master.zip -L https://github.com/binhex/scripts/archive/master.zip
# unzip build scripts
unzip /tmp/scripts-master.zip -d /tmp
# move shell scripts to /root
mv /tmp/scripts-master/shell/arch/docker/*.sh /usr/local/bin/
# detect image arch
####
OS_ARCH=$(cat /etc/os-release | grep -P -o -m 1 "(?=^ID\=).*" | grep -P -o -m 1 "[a-z]+$")
if [[ ! -z "${OS_ARCH}" ]]; then
if [[ "${OS_ARCH}" == "arch" ]]; then
OS_ARCH="x86-64"
else
OS_ARCH="aarch64"
fi
echo "[info] OS_ARCH defined as '${OS_ARCH}'"
else
echo "[warn] Unable to identify OS_ARCH, defaulting to 'x86-64'"
OS_ARCH="x86-64"
fi
# pacman packages
####
# define pacman packages
pacman_packages="mesa mesa-libgl wayvnc seatd xorg-xwayland noto-fonts gnu-free-fonts"
# install pre-reqs
pacman -S --needed $pacman_packages --noconfirm
# install locally built cage
pacman -U --noconfirm /tmp/cage/*.pkg.tar.zst
# env vars
####
# TODO
mkdir -p /config
# cleanup
cleanup.sh