Files
elementaryos-setup-script/elementary-setup.sh
Kurtis Andrews 77b689124e Updated
Added more software
2023-02-02 19:25:20 +10:00

229 lines
11 KiB
Bash

#!/bin/bash
### Vargs ElementaryOS script ###
### Check for sudo access ###
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi
### Variables ###
user_home=$(sudo -u $SUDO_USER sh -c 'echo $HOME')
### Colours ###
ESC=$(printf '\033') RESET="${ESC}[0m" BLACK="${ESC}[30m" RED="${ESC}[31m"
GREEN="${ESC}[32m" YELLOW="${ESC}[33m" BLUE="${ESC}[34m" MAGENTA="${ESC}[35m"
CYAN="${ESC}[36m" WHITE="${ESC}[37m" DEFAULT="${ESC}[39m"
### Color Functions ###
# function $text
greenprint() { printf "${GREEN}%s${RESET}\n" "$1"; }
blueprint() { printf "${BLUE}%s${RESET}\n" "$1"; }
redprint() { printf "${RED}%s${RESET}\n" "$1"; }
yellowprint() { printf "${YELLOW}%s${RESET}\n" "$1"; }
magentaprint() { printf "${MAGENTA}%s${RESET}\n" "$1"; }
cyanprint() { printf "${CYAN}%s${RESET}\n" "$1"; }
### Depriv ###
depriv() {
if [[ $SUDO_USER ]]; then
sudo -u "$SUDO_USER" -- "$@"
else
"$@"
fi
}
### Global Funcions ###
vs_exit() { exit 0; }
vs_fail() { exit 1; }
### Logo ###
vs_logo() { echo -e "\x20\x20\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\n\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\n\e[48;5;34m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;10m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;12m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\e[48;5;16m\x20\x20\e[m\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\e[48;5;16m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\n\x20\x20\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\e[48;5;34m\x20\x20\e[m\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20"; }
### Main Menu ###
init() {
clear;
vs_logo;
echo -ne "
$(greenprint "ElementaryOS Setup Script")
$(yellowprint '1)') Jolnir (6.1)
$(yellowprint '2)') Horus (7)
$(redprint '0)') Exit
Choose an version: "
read -r ans
case $ans in
1)
start_jolnir
;;
2)
start_horus
;;
*)
vs_fail
;;
esac
}
start_jolnir() {
echo $(greenprint "Performing apt and flatpak updates")
apt update
apt upgrade
flatpak update
echo $(greenprint "Install drivers")
ubuntu-drivers autoinstall
echo $(greenprint "Installing Nala")
install_nala_jolnir
echo $(greenprint "Installing Chromium")
install_chromium
echo $(greenprint "Launching Extensions")
chromium_extensions
echo $(greenprint "Installing fish shell")
install_fish
echo $(greenprint "Installing wireguard and wiregui")
install_wiregui
echo $(greenprint "Installing Gnome Disks")
install_gnome_disks
echo $(greenprint "Installing Simple Scan")
install_simple_scan
echo $(greenprint "Installing sshch")
install_sshch
echo $(greenprint "Installing Appimage Launcher")
install_appimage_launcher
echo $(greenprint "Adding Flathub")
add_flathub
echo $(greenprint "Installing flathub apps")
echo $(greenprint "Installing Bitwarden")
install_bitwarden
echo $(greenprint "Installing Bottles")
install_bottles
echo $(greenprint "Installing Connections")
install_connections
echo $(greenprint "Installing Fondo")
install_fondo
echo $(greenprint "Installing VSCode")
install_vscode
echo $(greenprint "Installing Webcord")
install_webcord
echo $(greenprint "Installing WhatIP")
install_whatip
echo $(greenprint "Installing Insomnia")
install_insomnia
echo $(greenprint "Installing SteamLink")
install_steamlink
echo $(greenprint "Installing Libre Office")
install_libre_office
echo $(greenprint "Installing Gimp")
install_gimp
}
install_gimp() {
depriv flatpak install flathub org.gimp.GIMP
}
install_libre_office() {
depriv flatpak install flathub org.libreoffice.LibreOffice
}
install_steamlink() {
depriv flatpak install flathub com.valvesoftware.SteamLink
}
install_insomnia() {
depriv flatpak install appcenter com.github.manexim.insomnia
}
install_whatip() {
depriv flatpak install flathub org.gabmus.whatip
}
install_webcord() {
depriv flatpak install flathub io.github.spacingbat3.webcord
}
install_vscode() {
depriv flatpak install flathub com.visualstudio.code
}
install_fondo() {
depriv flatpak install appcenter com.github.calo001.fondo
}
install_appimage_launcher() {
nala install -y software-properties-common
add-apt-repository ppa:appimagelauncher-team/stable
nala update
nala install -y appimagelauncher
}
install_connections() {
depriv flatpak install flathub org.gnome.Connections
}
install_bottles() {
depriv flatpak install flathub com.usebottles.bottles
}
install_bitwarden() {
depriv flatpak install flathub com.bitwarden.desktop
}
add_flathub() {
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
}
install_sshch() {
nala install -y python3-pip
depriv pip3 install sshch
}
install_simple_scan() {
nala install -y simple-scan
}
install_gnome_disks() {
nala install -y gnome-disks
}
install_wiregui() {
nala install -y wireguard
wget -P /tmp/ https://github.com/Devsfy/wiregui/releases/download/1.8.1/wiregui_1.8.1_amd64.deb
nala install -y /tmp/wiregui_1.8.1_amd64.deb
rm /tmp/wiregui_1.8.1_amd64.deb
}
install_fish() {
nala install -y fish
depriv chsh -s /usr/bin/fish
depriv mkdir -p ${user_home}/.local/bin
depriv mkdir -p ${user_home}/.local/fish
depriv "SETUVAR fish_user_paths:${user_home}/\x2elocal/bin" > ${user_home}/.local/fish/fish_variables
}
install_chromium() {
nala install -y software-properties-common
add-apt-repository ppa:saiarcot895/chromium-beta
nala update
nala install -y chromium-browser
}
chromium_extensions() {
depriv chromium-browser https://chrome.google.com/webstore/detail/nngceckbapebfimnlniiiahkandclblb >/dev/null 2>/dev/null
depriv chromium-browser https://chrome.google.com/webstore/detail/fnaicdffflnofjppbagibeoednhnbjhg >/dev/null 2>/dev/null
depriv chromium-browser https://chrome.google.com/webstore/detail/cjpalhdlnbpafiamejdnhcphjbkeiagm >/dev/null 2>/dev/null
}
install_nala_jolnir() {
echo "deb http://deb.volian.org/volian/ scar main" | tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list
wget -O /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg https://deb.volian.org/volian/scar.key
apt update
apt install nala-legacy
nala fetch
nala update
}
init