Files
setup-ubuntu/setup-ubuntu.sh
2024-06-22 01:01:54 +02:00

144 lines
7.3 KiB
Bash

sudo apt-get update > /dev/null && sudo apt-get upgrade -y > /dev/null
# Install missings apps
echo "Installing a few more applications from apt..."
sudo apt-get install -y apt-transport-https ca-certificates cifs-utils cksfv curl git gnupg mc nano pipx python3 sshpass unrar unzip wget > /dev/null
sudo apt-get install -y dirmgr > /dev/null
sudo apt-get install -y doublecmd-common > /dev/null
sudo apt-get install -y mc > /dev/null
sudo apt-get install -y nextcloud-desktop > /dev/null
sudo apt-get install -y notepadqq > /dev/null
sudo apt-get install -y openscad > /dev/null
sudo apt-get install -y rpi-imager > /dev/null
sudo apt-get install -y solaar > /dev/null
echo "Installing applications from Snap..."
sudo snap install kubectl --classic
sudo snap install slack
# Flatpak and flathub repo
sudo apt-get install -y flatpak gnome-software-plugin-flatpak > /dev/null
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Flatpak applications
sudo flatpak install -y com.bitwarden.desktop
sudo flatpak install -y com.discordapp.Discord
sudo flatpak install -y com.prusa3d.PrusaSlicer
sudo flatpak install -y com.valvesoftware.Steam
sudo flatpak install -y md.obsidian.Obsidian
sudo flatpak install -y net.waterfox.waterfox
sudo flatpak install -y org.deluge_torrent.deluge
sudo flatpak install -y org.remmina.Remmina
sudo flatpak install -y org.videolan.VLC
# Docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update > /dev/null
sudo apt-get install -y ca-certificates curl > /dev/null
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update > /dev/null
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo groupadd --force docker
sudo usermod -aG docker $USER
# Helm
sudo install -m 0755 -d /etc/apt/keyrings
sudo apt-get install -y apt-transport-https wget gpg > /dev/null
wget -qO- https://baltocdn.com/helm/signing.asc | gpg --dearmor > packages.helm.gpg
sudo install -D -o root -g root -m 644 packages.helm.gpg /etc/apt/keyrings/packages.helm.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/packages.helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm.list > /dev/null
rm -f packages.helm.gpg
sudo apt-get update
sudo apt-get install -y helm
# Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
# Lazygit - TUI for Git
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
# Lazydocker - TUI for Docker
LAZYDOCKER_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazydocker/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -sLo lazydocker.tar.gz "https://github.com/jesseduffield/lazydocker/releases/latest/download/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz"
tar -xf lazydocker.tar.gz lazydocker
sudo install lazydocker /usr/local/bin
rm lazydocker.tar.gz lazydocker
# K9s - TUI for Kubernetes
K9S_VERSION=$(curl -s "https://api.github.com/repos/derailed/k9s/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -sLo k9s_linux_amd64.deb "https://github.com/derailed/k9s/releases/download/v${K9S_VERSION}/k9s_linux_amd64.deb" > /dev/null
sudo apt-get install -y ./k9s_linux_amd64.deb > /dev/null
rm k9s_linux_amd64.deb
# Google Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install -y ./google-chrome-stable_current_amd64.deb
rm google-chrome-stable_current_amd64.deb
# Teamviewer
sudo install -m 0755 -d /etc/apt/keyrings
sudo apt-get install -y apt-transport-https wget gpg > /dev/null
wget -qO- https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc | gpg --dearmor > packages.teamviewer.gpg
sudo install -D -o root -g root -m 644 packages.teamviewer.gpg /etc/apt/keyrings/packages.teamviewer.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/packages.teamviewer.gpg] http://linux.teamviewer.com/deb stable main" | sudo tee /etc/apt/sources.list.d/teamviewer.list > /dev/null
rm -f packages.teamviewer.gpg
sudo apt-get update > /dev/null
sudo apt-get install -y teamviewer > /dev/null
# Unrarall
wget -O unrarall https://raw.githubusercontent.com/arfoll/unrarall/master/unrarall
sudo chmod 0777 unrarall
sudo chown root:root unrarall
sudo mv unrarall /usr/bin/unrarall
# VSCode
sudo install -m 0755 -d /etc/apt/keyrings
sudo apt-get install -y apt-transport-https wget gpg > /dev/null
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
rm -f packages.microsoft.gpg
sudo apt-get update > /dev/null
sudo apt-get install -y code > /dev/null
# Install VSCode extensions
echo "Install more VSCode extensions.."
code --install-extension esbenp.prettier-vscode > /dev/null
code --install-extension golang.go > /dev/null
code --install-extension ms-azuretools.vscode-docker > /dev/null
code --install-extension ms-python.debugpy > /dev/null
code --install-extension ms-python.python > /dev/null
code --install-extension ms-python.vscode-pylance > /dev/null
code --install-extension ms-vscode-remote.remote-containers > /dev/null
code --install-extension ms-vscode-remote.remote-ssh > /dev/null
code --install-extension ms-vscode-remote.remote-ssh-edit > /dev/null
code --install-extension ms-vscode-remote.remote-wsl > /dev/null
code --install-extension ms-vscode-remote.vscode-remote-extensionpack > /dev/null
code --install-extension ms-vscode.remote-explorer > /dev/null
code --install-extension ms-vscode.remote-server > /dev/null
code --install-extension rangav.vscode-thunder-client > /dev/null
code --install-extension redhat.ansible > /dev/null
code --install-extension redhat.java > /dev/null
code --install-extension redhat.vscode-commons > /dev/null
code --install-extension redhat.vscode-microprofile > /dev/null
code --install-extension redhat.vscode-quarkus > /dev/null
code --install-extension redhat.vscode-xml > /dev/null
code --install-extension redhat.vscode-yaml > /dev/null
code --install-extension vscjava.vscode-java-debug > /dev/null
# OpenRA - Red Alert Engine
sudo snap install openra
# CrossFTP
wget -O /tmp/crossftp.deb https://www.crossftp.com/crossftp_1.99.9.deb && sudo apt-get install -y /tmp/crossftp.deb && rm /tmp/crossftp.deb