Skip to content

Instantly share code, notes, and snippets.

@GridexX
Last active October 2, 2024 14:21
Show Gist options
  • Save GridexX/2fe9cf4483804dad2ffeaa1337fdefc9 to your computer and use it in GitHub Desktop.
Save GridexX/2fe9cf4483804dad2ffeaa1337fdefc9 to your computer and use it in GitHub Desktop.
Convenient script to install all required packages

Install packages

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment