Last active
March 8, 2024 08:43
-
-
Save patvdleer/156e623d40d64ab3c4f4f32b54d39793 to your computer and use it in GitHub Desktop.
install_script.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt install -y \ | |
nemo ncdu htop curl tmux \ | |
ca-certificates \ | |
build-essential \ | |
openssh-server \ | |
git git-lfs \ | |
aptitude \ | |
openconnect network-manager-openconnect-gnome network-manager-openconnect \ | |
python3-gpg \ | |
gramps \ | |
jq nmap \ | |
gpgv2 gnupg \ | |
vlc inkscape \ | |
gparted mtools dosfstools squashfs-tools exfatprogs \ | |
gnome-shell-extension-manager \ | |
printer-driver-dymo \ | |
gedit-plugins \ | |
adb \ | |
wget gpg \ | |
apt-transport-https \ | |
linux-headers-$(uname -r) linux-modules-extra-$(uname -r) | |
# set Nemo as default instead of Nautilus | |
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search | |
gsettings set org.gnome.shell.extensions.ding use-nemo true | |
#Tmux | |
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm | |
echo ' | |
# List of plugins | |
set -g @plugin 'tmux-plugins/tpm' | |
set -g @plugin 'tmux-plugins/tmux-sensible' | |
set -g @plugin 'tmux-plugins/tmux-logging' | |
set -g @plugin 'tmux-plugins/tmux-pain-control' | |
set -g history-limit 50000 | |
# Initialize TMUX plugin manager (keep at bottom) | |
run '~/.tmux/plugins/tpm/tpm' | |
' | tee ~/.tmux.conf | |
tmux source ~/.tmux.conf | |
# Python | |
sudo ln -s /usr/bin/python3 /usr/bin/python | |
# Python PIP | |
wget https://bootstrap.pypa.io/get-pip.py | |
sudo -H python get-pip.py | |
rm get-pip.py | |
# Git easy commit | |
# From https://github.com/ngerakines/commitment/issues/69#issuecomment-91053061 | |
git config --global alias.yolo '!git add -A && git commit -m "$(curl --silent --fail https://whatthecommit.com/index.txt)"' | |
# TransIP - Stack Storage | |
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/transip-stack.gpg] https://filehosting-client.transip.nl/packages/stack-ubuntu-22.04/ ./' | sudo tee /etc/apt/sources.list.d/stack-client.list | |
sudo wget -O /usr/share/keyrings/transip-stack.gpg https://filehosting-client.transip.nl/transip-stack.gpg | |
# OneDrive | |
wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list | |
# VirtualBox | |
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian jammy contrib' | sudo tee /etc/apt/sources.list.d/virtualbox.list | |
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg | |
# Signal | |
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 | |
wget -O- https://updates.signal.org/desktop/apt/keys.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/signal-desktop-keyring.gpg | |
# Docker | |
sudo install -m 0755 -d /etc/apt/keyrings | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
sudo chmod a+r /etc/apt/keyrings/docker.gpg | |
echo \ | |
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ | |
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ | |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
# Spotify | |
curl -sS https://download.spotify.com/debian/pubkey_7A3A762FAFD4A51F.gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg | |
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list | |
# Vysor | |
echo 'deb [arch=amd64, trusted=yes] https://nuts.vysor.io/apt ./' | sudo tee /etc/apt/sources.list.d/vysor.list | |
# ROCm | |
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null | |
## ROCm | |
# ROCm repositories for jammy | |
# Kernel driver repository for jammy | |
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF' | |
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/6.0/ubuntu jammy main | |
EOF | |
# ROCm repository for jammy | |
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.0 jammy main" \ | |
| sudo tee --append /etc/apt/sources.list.d/rocm.list | |
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \ | |
| sudo tee /etc/apt/preferences.d/rocm-pin-600 | |
# VSCode | |
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | |
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg | |
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' | |
rm -f packages.microsoft.gpg | |
# Firefox | |
sudo add-apt-repository -y -n ppa:mozillateam/ppa | |
# FlatPak | |
sudo add-apt-repository -y -n ppa:flatpak/stable | |
# OBS | |
sudo add-apt-repository -y -n ppa:obsproject/obs-studio | |
# DBeaver | |
sudo add-apt-repository -y -n ppa:serge-rider/dbeaver-ce | |
# ZFS | |
sudo add-apt-repository -y -n https://github.com/mikefarah/yq/ppa:zfs-native/stable | |
# CKB for Corsair | |
sudo add-apt-repository -y -n ppa:tatokis/ckb-next | |
# CoreCtrl and AMDGPU | |
sudo add-apt-repository -y -n ppa:ernstp/mesarc | |
# KiCad v7 + v8 | |
sudo add-apt-repository -y -n ppa:kicad/kicad-7.0-releases | |
sudo add-apt-repository -y -n ppa:kicad/kicad-8.0-releases | |
# NodeJS | |
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - | |
# Pin Firefox PPA | |
echo ' | |
Package: * | |
Pin: release o=LP-PPA-mozillateam | |
Pin-Priority: 1001 | |
Package: firefox | |
Pin: version 1:1snap1-0ubuntu2 | |
Pin-Priority: -1 | |
' | sudo tee /etc/apt/preferences.d/mozilla-firefox | |
# Pin CoreCtrl PPA | |
echo ' | |
# Never prefer packages from the ernstp repository | |
Package: * | |
Pin: release o=LP-PPA-ernstp-mesarc | |
Pin-Priority: 1 | |
# Allow upgrading only corectrl from LP-PPA-ernstp-mesarc | |
Package: corectrl | |
Pin: release o=LP-PPA-ernstp-mesarc | |
Pin-Priority: 500 | |
' | sudo tee /etc/apt/preferences.d/corectrl | |
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox | |
# Somu key | |
echo ' | |
# Notify ModemManager this device should be ignored | |
ACTION!="add|change|move", GOTO="mm_usb_device_blacklist_end" | |
SUBSYSTEM!="usb", GOTO="mm_usb_device_blacklist_end" | |
ENV{DEVTYPE}!="usb_device", GOTO="mm_usb_device_blacklist_end" | |
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", ENV{ID_MM_DEVICE_IGNORE}="1" | |
LABEL="mm_usb_device_blacklist_end" | |
# Solo bootloader + firmware access | |
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", TAG+="uaccess" | |
SUBSYSTEM=="tty", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", TAG+="uaccess" | |
# ST DFU access | |
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess" | |
# U2F Zero | |
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess" | |
' | sudo tee /etc/udev/rules.d/70-solokeys-access.rules | |
# AppImageLauncher | |
sudo add-apt-repository -y ppa:appimagelauncher-team/stable | |
sudo snap remove firefox | |
sudo apt install \ | |
firefox \ | |
corectrl \ | |
dbeaver-ce docker-compose-plugin \ | |
ckb-next \ | |
appimagelauncher \ | |
stack-client stack-client-nemo \ | |
docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \ | |
flatpak gnome-software-plugin-flatpak \ | |
ffmpeg obs-studio \ | |
vysor \ | |
kicad \ | |
nodejs npm \ | |
code \ | |
signal-desktop | |
# docker for my user | |
sudo usermod -aG docker $USER | |
# NPM - Yarn | |
sudo npm install -g yarn | |
# Arduino | |
sudo adduser $USER dialout | |
sudo adduser $USER plugdev | |
echo 'SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="arduino arduino_$attr{serial}"' > /etc/udev/rules.d/09-local.rules | |
echo 'SUBSYSTEMS=="usb", ATTRS{product}=="ARDUINO NANO", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="arduino arduino_nano_$attr{serial}"' >> /etc/udev/rules.d/09-local.rules | |
echo '#Google Inc. Nexus/Pixel Device (SDK)' >> /etc/udev/rules.d/51-android.rules | |
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", GROUP="plugdev", SYMLINK+="android%n"' >> /etc/udev/rules.d/51-android.rules | |
echo '#Arduino UNO' >> /etc/udev/rules.d/09-local.rules | |
echo 'SUBSYSTEMS=="usb", ATTRS{idProduct}=="0043", ATTRS{idVendor}=="2341", SYMLINK+="arduino arduino_uno_$attr{serial}"' >> /etc/udev/rules.d/09-local.rules | |
# PlatformIO | |
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules | |
sudo udevadm control --reload-rules | |
# Flatpak repo | |
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
# docker-compose | |
sudo -H pip install docker-compose | |
# onedrive | |
sudo apt install --no-install-recommends --no-install-suggests onedrive | |
# Prep/fix for steam | |
sudo dpkg --remove libgl1-amber-dri | |
sudo apt install --fix-broken --no-install-recommends | |
# ROCm | |
# # sudo apt install rocm-hip-sdk | |
# # sudo apt install rocm-dkms | |
# sudo apt install amdgpu-dkms | |
# sudo apt install rocm-hip-libraries | |
sudo usermod -a -G render,video $LOGNAME | |
# sudo tee --append /etc/ld.so.conf.d/rocm.conf <<EOF | |
# /opt/rocm/lib | |
# /opt/rocm/lib64 | |
# EOF | |
# echo 'export PATH=$PATH:/opt/rocm-5.3.2/bin:/opt/rocm-5.2.1/opencl/bin' >> ~/.bashrc | |
# Krita | |
flatpak install flathub org.kde.krita | |
# Nano | |
curl https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh | sh | |
# Bitwarden-CLI | |
# via API https://vault.bitwarden.com/#/settings/security/security-keys | |
wget -qO- "https://vault.bitwarden.com/download/?app=cli&platform=linux" | zcat >> bw | |
sudo install -D -o root -g root -m 755 bw /usr/bin/bw | |
# YQ - https://github.com/mikefarah/yq | |
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && chmod +x /usr/bin/yq | |
# FlameShot - custom screenshot tool | |
# sudo apt install flameshot | |
# gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']" | |
# gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'flameshot' | |
# gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command '/usr/bin/flameshot gui' | |
# gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Primary>Print' | |
# Dive - https://github.com/wagoodman/dive | |
echo 'alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"' >> ~/.bashrc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment