This script installs the following packages for a Debian based system:
- Oh-my-zsh with p10k theme and plugins
- Golang
- Nvm
- Deno
- Docker
Important
To execute the script, run the following command:
chmod +x install.sh
./install.sh
#!/bin/bash | |
# This file is used to install a lot of program into a new VM and use for programming | |
# Update the system | |
sudo apt update -y | |
sudo apt upgrade -y | |
# Install needed program | |
sudo apt install git curl jq direnv zsh unzip python-pip -y | |
# Make the default zsh shell | |
sudo chsh -s $(which zsh) | |
#Install go | |
cd /tmp | |
wget https://go.dev/dl/go1.23.1.linux-amd64.tar.gz | |
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.1.linux-amd64.tar.gz | |
# export PATH=$PATH:/usr/local/go/bin | |
# Install oh-my-zsh | |
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" | |
# Install powerlevel10k | |
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k | |
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | |
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting | |
# Thhe font doesn't need to be installed as it need to be changed in the terminal setting | |
# # Download the Fira Code Font | |
# wget https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip | |
# # Extract a Zip File with tar | |
# unzip Fira_Code_v6.2.zip -d Fira_Code_v6.2 | |
# # Install each font | |
# # Copy all the content in the ttf folder into a ~/.font directory | |
# mkdir ~/.fonts | |
# cp -r Fira_Code_v6.2/ttf ~/.fonts | |
# Change the ZSH Plugin | |
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting colorize nvm docker docker-compose golang kubectl nvm npm deno python terraform themes)/g' ~/.zshrc | |
# Change The ZSH Theme | |
source ~/.zshrc | |
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.zshrc | |
# Install nvm | |
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash | |
# Install deno | |
curl -fsSL https://deno.land/install.sh | sh | |
# Install docker | |
curl -fsSL https://get.docker.com -o get-docker.sh | |
sudo sh ./get-docker.sh | |
# add the user to the docker group | |
sudo usermod -aG docker $USER | |
sudo chmod 666 /var/run/docker.sock | |
# Install yt-dlp with mvregex | |
# To install YT-DLP with dependencies | |
python3 -m venv yt-dlp | |
# Activate the virtual environment | |
source yt-dlp/bin/activate | |
# Install YT-DLP and ffmpeg | |
pip install yt-dlp ffmpeg | |
# Then run the command to download songs | |
# By default download for m4a but if it doesn't exist, dowload mp3 instead | |
yt-dlp --embed-thumbnail --no-simulate -f "m4a" -o "playlist/%(title)s - %(uploader)s.%(ext)s" --list-formats --extract-audio <URL> |