computer-setup-info/environment/SetupLinux.sh
2024-09-19 11:16:46 -07:00

241 lines
7.9 KiB
Bash

#!/bin/bash
set -ex
# Ensure repositories are enabled
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo add-apt-repository restricted
# Add dell drivers for focal fossa XPS 13
sudo sh -c 'cat > /etc/apt/sources.list.d/focal-dell.list << EOF
deb http://dell.archive.canonical.com/updates/ focal-dell public
# deb-src http://dell.archive.canonical.com/updates/ focal-dell public
deb http://dell.archive.canonical.com/updates/ focal-oem public
# deb-src http://dell.archive.canonical.com/updates/ focal-oem public
deb http://dell.archive.canonical.com/updates/ focal-somerville public
# deb-src http://dell.archive.canonical.com/updates/ focal-somerville public
deb http://dell.archive.canonical.com/updates/ focal-somerville-melisa public
# deb-src http://dell.archive.canonical.com/updates focal-somerville-melisa public
EOF'
sudo apt update -qq
# Install general utilities
sudo apt install git curl xclip htop openssh-server sshfs vim neofetch file gnome-tweaks
sudo apt autoremove
# Setup Development tools
## Add build essentials
sudo apt install build-essential -y
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# Install SDK Man
curl -s "https://get.sdkman.io" | bash
# Install ZSH
sudo apt install zsh
# Install zimfw
echo "Check if zimfw is installed"
if [ -d "$HOME/.zim" ]; then
echo "zimfw is already installed"
else
echo "Installing zimfw"
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
fi
# Install Linux Brew
echo "Check if brew is installed"
if which brew >/dev/nul; then
echo "brew is already installed"
else
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# Add Homebrew to your PATH in /home/bshellnu/.profile:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/bshellnu/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
brew install gcc
fi
# Install NVM
echo "Check if nvm is installed"
if [ -d "$HOME/.nvm" ]; then
echo "nvm is already installed"
else
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
fi
# Install Node Versions
if command -v nvm >/dev/null; then
echo "Installing LTS Node Version"
nvm install --lts
nvm use --lts
fi
source ~/.zshrc
# Install NPM Utilities
npm install -g npm-check-updates
npm install -g tldr
npm install -g trash-cli
# Docker
echo "Checking if docker is installed"
if command -v docker >/dev/null; then
echo "Docker is already installed"
else
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
fi
# Install Applications
## Coding
### Node Version Manager
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
## Browser
sudo apt install curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser
## Multimedia
flatpak install flathub com.plexamp.Plexamp
## Mail
sudo apt-get install evolution
## Social
### Signal
# 1. Install our official public software signing key:
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
# 2. Add our repository to your list of repositories:
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
sudo tee /etc/apt/sources.list.d/signal-xenial.list
# 3. Update your package database and install Signal:
sudo apt update && sudo apt install signal-desktop
## Others
flatpak install flathub com.anydesk.Anydesk
flatpak install flathub com.bitwarden.desktop
flatpak install flathub org.filezillaproject.Filezilla
flatpak install flathub org.qbittorrent.qBittorrent
# Yubico
flatpak install flathub com.yubico.yubioath
sudo apt update && sudo apt install -y gnupg2 gnupg-agent scdaemon pcscd
# Sublime Text
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
# VS Codium
## Install https://vscodium.com/#install
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg
echo 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list
sudo apt update && sudo apt install codium
## VSCode Extensions
### Auto Complete
codium --install-extension formulahendry.auto-close-tag
codium --install-extension formulahendry.auto-rename-tag
### Debuggers
codium --install-extension msjsdiag.debugger-for-chrome
### Formaters
codium --install-extension aaron-bond.better-comments
codium --install-extension tombonnike.vscode-status-bar-format-toggle
codium --install-extension esbenp.prettier-vscode
### Icons
codium --install-extension vscode-icons-team.vscode-icons
### Linters
codium --install-extension streetsidesoftware.code-spell-checker
codium --install-extension dbaeumer.vscode-eslint
### Other
codium --install-extension CoenraadS.bracket-pair-colorizer-2
codium --install-extension naumovs.color-highlight
codium --install-extension donjayamanne.githistory
codium --install-extension wix.vscode-import-cost
codium --install-extension Orta.vscode-jest
codium --install-extension christian-kohler.npm-intellisense
codium --install-extension techer.open-in-browser
codium --install-extension christian-kohler.path-intellisense
codium --install-extension 2gua.rainbow-brackets
codium --install-extension siegebell.scope-info
codium --install-extension ardenivanov.svelte-intellisense
### Programming Languages
codium --install-extension PeterJausovec.vscode-docker
codium --install-extension mikestead.dotenv
codium --install-extension Prisma.vscode-graphql
codium --install-extension Prisma.prisma
codium --install-extension mechatroner.rainbow-csv
codium --install-extension mrmlnc.vscode-scss
codium --install-extension svelte.svelte-vscode
codium --install-extension jpoissonnier.vscode-styled-components
codium --install-extension redhat.vscode-yaml
### Snippets
codium --install-extension dsznajder.es7-react-js-snippets
codium --install-extension kumar-harsh.graphql-for-vscode
codium --install-extension fivethree.vscode-svelte-snippets
### Themes
codium --install-extension teabyii.ayu
codium --install-extension wesbos.theme-cobalt2
codium --install-extension Loader be5invis.vscode-custom-css
codium --install-extension RobbOwen.synthwave-vscode
# Gotta reboot now:
sudo apt update -qq && sudo apt upgrade -y && sudo apt autoremove -y
echo $'\n'$"Ready for REBOOT"