Initial work for the server toolkit + CasaOS installer
This commit is contained in:
85
server.sh
Normal file
85
server.sh
Normal file
@@ -0,0 +1,85 @@
|
||||
#! /bin/bash
|
||||
|
||||
if ! command -v dialog; then
|
||||
sudo apt-get install dialog -y
|
||||
fi
|
||||
|
||||
# Set dialog colors
|
||||
cp -f dotfiles/.dialogrc $HOME/.dialogrc
|
||||
|
||||
BACKTITLE="Trude's Linux Server Toolkit"
|
||||
dialog --erase-on-exit \
|
||||
--backtitle "$BACKTITLE" \
|
||||
--checklist "Use the arrow keys and SPACE to select, then press ENTER." 30 90 5 \
|
||||
"1" "Update OS" "on"\
|
||||
"2" "Copy Dotfiles" "on"\
|
||||
"3" "Install CasaOS UI" "off" 2> choice.tmp
|
||||
main_menu=$( cat choice.tmp )
|
||||
rm choice.tmp
|
||||
|
||||
for selection in $main_menu; do
|
||||
if [ "$selection" = "1" ]; then
|
||||
# --- UPDATE OS ---
|
||||
|
||||
dialogUpdate() {
|
||||
dialog --backtitle "$BACKTITLE" --title "Update Debian and Packages" \
|
||||
--mixedgauge "Updating..." \
|
||||
0 0 $1 \
|
||||
"Update repos" "$2" \
|
||||
"Update distro" "$3" \
|
||||
"Update packages" "$4" \
|
||||
"Clean up " "$5"
|
||||
}
|
||||
|
||||
dialogUpdate 0 7 4 4 4
|
||||
|
||||
sudo apt-get update &> /dev/null
|
||||
dialogUpdate 15 5 7 4 4
|
||||
|
||||
sudo apt-get dist-upgrade -y &> /dev/null
|
||||
dialogUpdate 35 5 5 7 4DWM
|
||||
|
||||
sudo apt-get upgrade -y &> /dev/null
|
||||
dialogUpdate 80 5 5 5 7
|
||||
|
||||
sudo apt-get clean &> /dev/null
|
||||
sudo apt-get autoremove -y &> /dev/null
|
||||
dialogUpdate 100 5 5 5 5
|
||||
fi
|
||||
|
||||
if [ "$selection" = "2" ]; then
|
||||
# Neovim
|
||||
dialog --erase-on-exit \
|
||||
--backtitle "$BACKTITLE" \
|
||||
--title "Install/Update Neovim?" \
|
||||
--yesno "Nvim will be compiled from source. This may take a long time, depending on your device." 10 40
|
||||
|
||||
if [ "$?" -eq 0 ]; then
|
||||
# NVIM has to be compiled from source to support arm64 and i386 devices, for example.
|
||||
sudo apt install -y ninja-build gettext cmake unzip curl build-essential
|
||||
git clone https://github.com/neovim/neovim --depth 1
|
||||
cd neovim
|
||||
git checkout stable
|
||||
make CMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
sudo make install
|
||||
cd ..
|
||||
rm -rf neovim
|
||||
fi
|
||||
|
||||
echo "Installing utilities..."
|
||||
sudo apt install -y htop fzf git wget curl bash-completion tmux
|
||||
|
||||
echo "Copying dotfiles..."
|
||||
cp -vrf dotfiles/.* $HOME
|
||||
cp -vrf dotfiles/* $HOME
|
||||
|
||||
echo "Loading fonts..."
|
||||
fc-cache -f
|
||||
fi
|
||||
|
||||
if [ "$selection" = "3" ]; then
|
||||
# --- Install CasaOS ---
|
||||
sudo apt install -y curl
|
||||
curl -fsSL https://get.casaos.io | sudo bash
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user