Setting up apt repos.
This commit is contained in:
125
apt-repos.sh
Executable file
125
apt-repos.sh
Executable file
@@ -0,0 +1,125 @@
|
||||
# This script expects an OS that is based on Debian in at least package management
|
||||
usage="$(basename "$0") [-h] [-s] [-n hostname] -- my script for initializing new Linux installs
|
||||
|
||||
where:
|
||||
-h, ? show this help text
|
||||
-s, --server set server flag to only install server components, default
|
||||
-n, --name [hostname] set the hostname to the argument"
|
||||
|
||||
# A few repos need the i386 arch
|
||||
sudo dpkg --add-architecture i386
|
||||
|
||||
# Some packages need these
|
||||
sudo apt install -y wget gnupg lsb-release apt-transport-https ca-certificates software-properties-common
|
||||
|
||||
# A few packages store their keys in specific location that doesn't exist at first
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
|
||||
# A repos don't support virgnia (Mint codename), only recognizing Jammy (Ubuntu)
|
||||
distro=jammy
|
||||
|
||||
# A POSIX variable
|
||||
OPTIND=1 # Reset in case getopts has been used previously in the shell.
|
||||
client=true
|
||||
|
||||
# Some POSIX getopts goodness for portability
|
||||
while getopts "h?sn:" opt; do
|
||||
case "$opt" in
|
||||
h|\?)
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
s|server) client=false
|
||||
;;
|
||||
n|name)
|
||||
sudo hostnamectl set-hostname $OPTARG
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# shift $(($OPTIND - 1))
|
||||
|
||||
if [ $client ]
|
||||
then
|
||||
# Brave 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
|
||||
|
||||
# Signal Desktop Client
|
||||
# NOTE: These instructions only work for 64-bit Debian-based
|
||||
# Linux distributions such as Ubuntu, Mint etc.
|
||||
# 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
|
||||
|
||||
# Mullvad
|
||||
sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
|
||||
echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list
|
||||
|
||||
# VS Codium
|
||||
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
|
||||
| gpg --dearmor \
|
||||
| sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
|
||||
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
|
||||
| sudo tee /etc/apt/sources.list.d/vscodium.list
|
||||
|
||||
# Wine
|
||||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
||||
|
||||
# Nicotine for Soulseek
|
||||
sudo add-apt-repository ppa:nicotine-team/stable
|
||||
|
||||
# Solaar - Logitech management software
|
||||
sudo add-apt-repository ppa:solaar-unifying/stable
|
||||
|
||||
# AppImage Launcher
|
||||
sudo add-apt-repository ppa:appimagelauncher-team/stable
|
||||
|
||||
# Virtual Box
|
||||
deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $distro contrib
|
||||
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor
|
||||
|
||||
# Librewolf
|
||||
sudo apt install -y wget gnupg lsb-release apt-transport-https ca-certificates
|
||||
wget -O- https://deb.librewolf.net/keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/librewolf.gpg
|
||||
sudo cat << EOF > /etc/apt/sources.list.d/librewolf.sources
|
||||
Types: deb
|
||||
URIs: https://deb.librewolf.net
|
||||
Suites: $distro
|
||||
Components: main
|
||||
Architectures: amd64
|
||||
Signed-By: /usr/share/keyrings/librewolf.gpg
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [ !client ]
|
||||
then
|
||||
# Docker
|
||||
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 \
|
||||
$distro stable" | \
|
||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
fi
|
||||
|
||||
# Update or none of this will show up
|
||||
sudo apt update
|
||||
|
||||
if [ $client ]
|
||||
then
|
||||
# Apps that don't need anything besides the parent package call
|
||||
sudo apt install -y brave-browser signal-desktop mullvad-vpn codium librewolf solaar appimagelauncher
|
||||
# Wine has some recommends, install that with its own command
|
||||
sudo apt install --install-recommends winehq-stable
|
||||
else
|
||||
# Docker just has a lot
|
||||
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
fi
|
||||
@@ -5,6 +5,9 @@
|
||||
# ln -sv “~/.dotfiles/runcom/.inputrc” ~
|
||||
# ln -sv “~/.dotfiles/git/.gitconfig” ~
|
||||
|
||||
# Setup our apt repos
|
||||
./apt-repos.sh
|
||||
|
||||
# Install a retro looking font that I like to use in my terminal
|
||||
./install-fonts.sh
|
||||
|
||||
|
||||
Reference in New Issue
Block a user