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> |