Files
dotfiles/install.sh
2024-05-27 00:02:36 +01:00

87 lines
2.8 KiB
Bash
Executable File

#! /bin/bash
source scripts/bash-tui-toolkit.bash
# export LOG_LEVEL="$LOG_DEBUG"
echo "Updating Debian..."
sudo apt install nala -y
sudo nala update
sudo nala upgrade
echo
echo "-------------------------------------"
echo "--- Trude's Dotfiles Install Tool ---"
echo "-------------------------------------"
if [ $? == 0 ]; then
show_success "System updated."
else
show_error "Update failed."
exit 1
fi
echo
main_menu_opts=("Install Trude's Dotfiles" "Install GNOME (desktop)" "Install GitHub CLI" "Install Google Chrome" "Install Ollama" "Install VSCode")
main_menu=$(checkbox "Press SPACE to select and ENTER to continue." "${main_menu_opts[@]}")
log "$LOG_DEBUG" "Menu opts: $main_menu"
if [[ ${main_menu[@]} =~ 0 ]]; then # Install Dotfiles
sudo nala install htop fzf tmux git stow vim wget
# Clone repo if needed
if [ $(pwd) != "$HOME/cros" ]; then
cd $HOME
git clone https://github.com/TrudeEH/dotfiles --depth=1
cd cros
fi
# Link dotfiles
stow -v -t $HOME dotfiles --adopt
git diff
git reset --hard
# Reload Fonts
fc-cache -fv
fi
if [[ ${main_menu[@]} =~ 1 ]]; then # GNOME
sudo nala install gnome-core
sudo rm -rf /etc/network/interfaces #Fix Wifi settings bug
dconf load / < ./settings.dconf
fi
if [[ ${main_menu[@]} =~ 2 ]]; then # Github CLI
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo nala update \
&& sudo nala install gh -y
if [ $? == 0 ]; then
show_success "GitHub CLI Installed."
else
show_error "Failed to install Github CLI."
fi
fi
if [[ ${main_menu[@]} =~ 3 ]]; then # Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo nala install ./google-chrome-stable_current_amd64.deb
rm ./google-chrome-stable_current_amd64.deb
fi
if [[ ${main_menu[@]} =~ 4 ]]; then # Ollama
curl -fsSL https://ollama.com/install.sh | sh
fi
if [[ ${main_menu[@]} =~ 5 ]]; then # VSCode
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/keyrings/microsoft-archive-keyring.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo rm microsoft.gpg
sudo nala update
sudo nala install code
fi