Skip to content

Instantly share code, notes, and snippets.

@CristianoFIlho
Last active July 2, 2024 03:17
Show Gist options
  • Save CristianoFIlho/95008b4e4305b92ec9ae582835665280 to your computer and use it in GitHub Desktop.
Save CristianoFIlho/95008b4e4305b92ec9ae582835665280 to your computer and use it in GitHub Desktop.
pop_os Shell Script
#!/bin/bash
# Check if the script is being run as root
if [ "$EUID" -ne 0 ]; then
echo "Please, run this script as administrator (root)."
exit 1
fi
# Function to check and install a package if it's not already installed
check_and_install() {
package=$1
if ! dpkg -l | grep -q "^ii $package "; then
sudo apt-get install -y $package
fi
}
# Check and install required packages
check_and_install wget
check_and_install curl
check_and_install flatpak
check_and_install gnome-tweaks
check_and_install neofetch
check_and_install snapd
check_and_install software-properties-common
# Add Flathub repository if not already added
if ! flatpak remote-list | grep -q flathub; then
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
fi
# Install Flatpak packages
flatpak install flathub -y \
com.github.atom \
com.github.debauchee.barrier \
com.calibre_ebook.calibre \
org.fcitx.Fcitx \
com.github.alainm23.minder \
io.gitlab.mosh.mosh \
com.valvesoftware.Steam \
org.libreoffice.LibreOffice \
com.timeshift.TimeShift \
org.freedesktop.Platform.VulkanLayer.TLP \
org.gnome.Tweaks \
org.gnome.Extensions \
com.github.variety_variety \
org.virtualbox.VirtualBox \
org.videolan.VLC \
com.visualstudio.code
# Remove fcitx-ui-classic and install fcitx-ui-qimpanel
sudo apt-get remove fcitx-ui-classic -y
sudo apt-get install fcitx-ui-qimpanel -y
# Download and install Google Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get -f install -y
rm google-chrome-stable_current_amd64.deb
# Clone and install Nerd Fonts
git clone https://github.com/ryanoasis/nerd-fonts.git
sudo ./nerd-fonts/install.sh
# Clone Ventoy USB tool
git clone https://github.com/ventoy/Ventoy.git
# Set up xpadneo
git clone https://github.com/atar-axis/xpadneo.git
sudo apt-get install dkms linux-headers-$(uname -r) -y
sudo ./xpadneo/install.sh
# Download and install Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
chmod +x Anaconda3-2020.11-Linux-x86_64.sh
./Anaconda3-2020.11-Linux-x86_64.sh
conda config --set changeps1 False
# Start tlp
sudo tlp start
# Install additional Flatpaks
flatpak install flathub -y \
com.getpostman.Postman \
com.github.alainm23.planner \
com.github.gijsgoudzwaard.image-optimizer \
com.spotify.Client \
com.valvesoftware.Steam.Utility.MangoHud \
io.dbeaver.DBeaverCommunity \
nl.hjdskes.gcolor3
# Install JDK 17, Maven, Node.js, and NVM
sudo apt-get install -y openjdk-17-jdk maven nodejs npm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install and configure ZSH
sudo apt-get install zsh -y
chsh -s /bin/zsh
zsh
# Install Oh-my-zsh! -> https://ohmyz.sh/
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install Spaceship Prompt
# https://github.com/spaceship-prompt/spaceship-prompt
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
# Install the plugins for Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install Zsh Autosuggestions
# https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# Install Zsh Syntax Highlighting
# https://github.com/zsh-users/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Activate the plugins of Zsh
echo "plugins=(
# other plugins...
git
sudo
jump
zsh-autosuggestions
zsh-syntax-highlighting
)" >> ~/.zshrc
# Font optional (https://github.com/pdf/ubuntu-mono-powerline-ttf)
mkdir -p ~/.fonts
git clone https://github.com/pdf/ubuntu-mono-powerline-ttf.git ~/.fonts/ubuntu-mono-powerline-ttf
fc-cache -vf
# Restart the terminal
exec zsh
# Run following commands to update packages
sudo apt-get update -y && sudo apt-get upgrade -y
# Install additional packages
sudo apt-get install git curl make gcc perl wget zlib1g-dev bzip2 libbz2-dev libreadline-dev sqlite3 libsqlite3-dev libssl-dev xz-utils liblzma-dev libffi-dev findutils -y
# Install Python 3.12 and development packages
sudo apt-get install python3.12-full python3.12-dev -y
# Install Pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
source ~/.zshrc
# Reboot
sudo reboot
# Alacritty config
code ~/.config/alacritty/alacritty.yml
window:
opacity: 0.8
# Install extension Scheduler76System
sudo apt-get install gnome-shell-extension-pop-shell xprop
# Additional drivers
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo ubuntu-drivers autoinstall
# Install Lutris and Steam Vulkan
flatpak install flathub net.lutris.Lutris -y && flatpak install flathub com.valvesoftware.Steam com.valvesoftware.Steam.CompatibilityTool.Boxtron com.valvesoftware.Steam.Utility.protontricks com.valvesoftware.SteamLink org.freedesktop.Platform.VulkanLayer.MangoHud org.freedesktop.Platform.VulkanLayer.vkBasalt com.valvesoftware.Steam.Utility.gamescope -y
# Install Notion
sudo snap install notion-snap-reborn
# Install Android Studio
sudo snap install android-studio --classic
# Install LaTEx
sudo apt-get install texlive-full
# Install VLC
flatpak install flathub org.videolan.VLC
# Install OBS Studio
flatpak install flathub com.obsproject.Studio
# Install BleachBit
flatpak install flathub org.bleachbit.BleachBit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment