229 lines
11 KiB
Bash
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 |