Use Nala, install Ansible etc.

This commit is contained in:
2024-06-23 23:32:40 +02:00
parent 04a289dbf2
commit 686476fece

View File

@@ -1,41 +1,49 @@
# Pre-req: Use OS with apt - like Ubuntu, POP_OS!, etc.
sudo apt-get update > /dev/null && sudo apt-get upgrade -y > /dev/null sudo apt-get update > /dev/null && sudo apt-get upgrade -y > /dev/null
sudo apt-get update && sudo apt-get install -y nala # Using Nala on top af APT to have multithreading etc.
sudo nala install -y apt-transport-https ca-certificates cifs-utils cksfv curl curl git gnupg golang-go jq mc nano pipx python3 sshpass unrar unzip wget > /dev/null
# Install missings apps # Install apps from APT
echo "Installing a few more applications from apt..." 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 nala install -y doublecmd-common > /dev/null # Double Commander
sudo apt-get install -y dirmgr > /dev/null sudo nala install -y mc > /dev/null # Midnight Commander
sudo apt-get install -y doublecmd-common > /dev/null sudo nala install -y nextcloud-desktop > /dev/null # Nextcloud Desktop Client
sudo apt-get install -y mc > /dev/null sudo nala install -y notepadqq > /dev/null # NotepadQQ
sudo apt-get install -y nextcloud-desktop > /dev/null sudo nala install -y openscad > /dev/null # OpenSCAD - for drawing 3D
sudo apt-get install -y notepadqq > /dev/null sudo nala install -y rpi-imager > /dev/null # Raspberry Pi Imager
sudo apt-get install -y openscad > /dev/null sudo nala install -y solaar > /dev/null # Solaar - Logitech keyboard/mouse software for Linux
sudo apt-get install -y rpi-imager > /dev/null
sudo apt-get install -y solaar > /dev/null
# Install apps from Snap
echo "Installing applications from Snap..." echo "Installing applications from Snap..."
sudo snap install kubectl --classic sudo snap install slack # Slack
sudo snap install slack
# Flatpak and flathub repo # Flatpak and flathub repo
sudo apt-get install -y flatpak gnome-software-plugin-flatpak > /dev/null sudo nala install -y flatpak gnome-software-plugin-flatpak > /dev/null
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Flatpak applications # Flatpak applications
sudo flatpak install -y com.bitwarden.desktop sudo flatpak install -y com.bitwarden.desktop # Bitwarden client
sudo flatpak install -y com.discordapp.Discord sudo flatpak install -y com.discordapp.Discord # Discord
sudo flatpak install -y com.prusa3d.PrusaSlicer sudo flatpak install -y com.prusa3d.PrusaSlicer # PrusaSlicer
sudo flatpak install -y com.valvesoftware.Steam sudo flatpak install -y com.valvesoftware.Steam # Steam - games
sudo flatpak install -y md.obsidian.Obsidian sudo flatpak install -y md.obsidian.Obsidian # Obsidian - markdown notepad
sudo flatpak install -y net.waterfox.waterfox sudo flatpak install -y net.waterfox.waterfox # Waterfox - browser
sudo flatpak install -y org.deluge_torrent.deluge sudo flatpak install -y org.deluge_torrent.deluge # Deluge - torrent client
sudo flatpak install -y org.remmina.Remmina sudo flatpak install -y org.remmina.Remmina # SSH client
sudo flatpak install -y org.videolan.VLC sudo flatpak install -y org.videolan.VLC # VLC video player
# Docker # Ansible
pipx install --include-deps ansible
#####################################
# Extend APT with more applications #
#####################################
### Docker ###
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 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: # Add Docker's official GPG key:
sudo apt-get update > /dev/null sudo nala update > /dev/null
sudo apt-get install -y ca-certificates curl > /dev/null sudo nala install -y ca-certificates curl > /dev/null
sudo install -m 0755 -d /etc/apt/keyrings 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 curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
@@ -43,25 +51,45 @@ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ "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" | \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update > /dev/null sudo nala update > /dev/null
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo nala install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo groupadd --force docker sudo groupadd --force docker
sudo usermod -aG docker $USER sudo usermod -aG docker $USER
# Helm ### Helm ###
sudo install -m 0755 -d /etc/apt/keyrings sudo install -m 0755 -d /etc/apt/keyrings
sudo apt-get install -y apt-transport-https wget gpg > /dev/null sudo nala install -y apt-transport-https wget gpg > /dev/null
wget -qO- https://baltocdn.com/helm/signing.asc | gpg --dearmor > packages.helm.gpg 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 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 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 rm -f packages.helm.gpg
sudo apt-get update sudo nala update
sudo apt-get install -y helm sudo nala install -y helm
# Minikube ### Minikube ###
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 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 sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
### Kubectl ###
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --batch --yes --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo nala update > /dev/null
sudo nala install -y kubectl
### KubeSeal ###
# Fetch the latest sealed-secrets version using GitHub API
KUBESEAL_VERSION=$(curl -s https://api.github.com/repos/bitnami-labs/sealed-secrets/tags | jq -r '.[0].name' | cut -c 2-)
# Check if the version was fetched successfully
if [ -z "$KUBESEAL_VERSION" ]; then
echo "Failed to fetch the latest KUBESEAL_VERSION"
exit 1
fi
wget "https://github.com/bitnami-labs/sealed-secrets/releases/download/v${KUBESEAL_VERSION}/kubeseal-${KUBESEAL_VERSION}-linux-amd64.tar.gz"
tar -xvzf kubeseal-${KUBESEAL_VERSION}-linux-amd64.tar.gz kubeseal
sudo install -m 755 kubeseal /usr/local/bin/kubeseal && rm kubeseal*
# Lazygit - TUI for Git # Lazygit - TUI for Git
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -sLo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" > /dev/null curl -sLo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" > /dev/null