Skip to content

Instantly share code, notes, and snippets.

@AntoineLemaire
Created September 1, 2023 19:44
Show Gist options
  • Save AntoineLemaire/a3d0cc27b3e0c7720bdcb3f90db7c0a3 to your computer and use it in GitHub Desktop.
Save AntoineLemaire/a3d0cc27b3e0c7720bdcb3f90db7c0a3 to your computer and use it in GitHub Desktop.
My Linux Mint install script with all I need
#!/bin/bash
NODE_VERSION=12.13.1
GITHUB_EMAIL=
GITHUB_USERNAME=
NGROK_AUTH_TOKEN=
mkdir -p ~/Install
cd ~/Install
# Sysctl conf
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.d/10.vm.conf # For Elasticsearch
echo "fs.inotify.max_user_watches = 524288" | sudo tee -a /etc/sysctl.d/10.fs.conf # For PhpStorm
sudo sysctl -p --system
sudo timedatectl set-local-rtc 0 --adjust-system-clock
# Disable apache on start
sudo update-rc.d apache2 disable
# Offset Time with dualboot windows
sudo timedatectl set-local-rtc 1 --adjust-system-clock
# Pritunl
sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt jammy main
EOF
sudo apt --assume-yes install gnupg
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A | sudo tee /etc/apt/trusted.gpg.d/pritunl.asc
# Stripe CLI
curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor | sudo tee /usr/share/keyrings/stripe.gpg
echo "deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main" | sudo tee -a /etc/apt/sources.list.d/stripe.list
# Yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# Google Chrome
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
# PHP
sudo add-apt-repository -y ppa:ondrej/php
# 32bits libs
sudo dpkg --add-architecture i386
# Lutris
sudo add-apt-repository -y ppa:lutris-team/lutris
sudo apt update
sudo apt upgrade -y
# Remove unwanted sofware/packages
sudo apt remove -y xed hexchat fonts-noto-color-emoji
sudo apt install -y zsh \
pv \
npm \
nodejs \
yarn \
git \
htop
# Customisation
sudo apt install -y arc-theme \
fonts-noto-color-emoji
# Software
sudo apt install -y guake \
xfce4-clipman \
flameshot \
gparted \
gimp \
google-chrome-stable \
vlc \
filezilla \
telegram-desktop \
gedit \
gedit-plugins \
baobab
# Work
sudo apt install -y docker-compose \
docker.io \
pritunl-client-electron \
stripe \
php7.4 \
php7.4-dom
# Games
sudo apt install -y steam \
lutris
# Install correct emoji
mkdir -p ~/.config/fontconfig/conf.d/
touch ~/.config/fontconfig/conf.d/99-emoji.conf
cat > ~/.config/fontconfig/conf.d/99-emoji.conf <<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="append" binding="strong">
<string>Bitstream Vera Serif</string>
<string>Noto Color Emoji</string>
</edit>
</match>
<!-- Add emoji generic family -->
<alias binding="strong">
<family>emoji</family>
<default><family>Noto Color Emoji</family></default>
</alias>
<!-- Aliases for the other emoji fonts -->
<alias binding="strong">
<family>Apple Color Emoji</family>
<prefer><family>Noto Color Emoji</family></prefer>
</alias>
<alias binding="strong">
<family>Segoe UI Emoji</family>
<prefer><family>Noto Color Emoji</family></prefer>
</alias>
<alias binding="strong">
<family>Emoji One</family>
<prefer><family>Noto Color Emoji</family></prefer>
</alias>
</fontconfig>
EOT
# Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
# n Node version manager
sudo npm install -g n
sudo n $NODE_VERSION
# PHP-CS-Fixer
/usr/local/bin/composer global require friendsofphp/php-cs-fixer
wget https://github.com/powerline/fonts/raw/master/DroidSansMono/Droid%20Sans%20Mono%20for%20Powerline.otf
sudo mv Droid\ Sans\ Mono\ for\ Powerline.otf /usr/local/share/fonts
sudo fc-cache -f -v
# Git global
echo "/.idea/" > ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
git config --global user.email $GITHUB_EMAIL
git config --global user.name $GITHUB_USERNAME
# Symfony
wget https://get.symfony.com/cli/installer -O - | bash
export PATH="$HOME/.symfony/bin:$PATH"
# Discord
wget https://discord.com/api/download\?platform\=linux\&format\=deb -O discord.deb
sudo apt install -y ./discord.deb
rm discord.deb
# Snap
sudo rm /etc/apt/preferences.d/nosnap.pref
sudo apt install -y snapd
sudo snap install phpstorm --classic
sudo snap install postman
sudo snap install ngrok
sudo snap install chromium
sudo snap install slack
sudo snap install dbeaver-ce
sudo snap install mailspring
sudo snap install redisinsight
sudo snap install cura-slicer
sudo snap install kubectx
ngrok authtoken $NGROK_AUTH_TOKEN
# Teamviewer
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo apt install -y ./teamviewer_amd64.deb
rm teamviewer_amd64.deb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment