You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.2 KiB

#!/usr/bin/env bash
# CONSTANTS
# FUNCTIONS
function halt_on_error {
>&2 echo "ERROR: $1"
exit ${2:-1}
}
function assert_root {
[ "$(id -u)" -ne 0 ] && halt_on_error 'root privilege required!' 1
}
function assert_proxmox {
grep -q ^ID=debian /etc/os-release || halt_on_error 'distro debian required!' 2
command -v pct >/dev/null || halt_on_error 'command `pct` not found!' 3
command -v curl >/dev/null || halt_on_error 'command `curl` not found!' 4
}
function install_miaou_bash {
if [[ ! -d /opt/miaou-bash ]]; then
echo 'installing miaou-bash...'
curl https://git.artcode.re/miaou/miaou-bash/raw/branch/main/install.sh | sudo bash -s
fi
}
function install_miaou_proxmox {
if [[ ! -d /opt/miaou-proxmox ]]; then
echo 'installing miaou-proxmox...'
git clone https://git.artcode.re/miaou/miaou-proxmox.git /opt/miaou-proxmox
else
cd /opt/miaou-proxmox
git pull
cd - >/dev/null
fi
status=$(append_or_replace '^PATH=\$PATH:/opt/miaou-proxmox/bin' 'PATH=$PATH:/opt/miaou-proxmox/bin' $HOME/.bashrc)
[[ $status == 'appended' ]] && echo 'successfully installed! please run `source $HOME/.bashrc`'
}
# MAIN
set Eue
assert_root
assert_proxmox
install_miaou_bash
install_miaou_proxmox