diff --git a/irp-fedora-ws b/irp-fedora-ws index 0200926..a050448 100755 --- a/irp-fedora-ws +++ b/irp-fedora-ws @@ -21,7 +21,8 @@ update-personnal-packages() { sudo dnf remove -y gnome-text-editor sudo dnf install -y gedit sudo dnf in -y "https://hst.tyleo.dev/packages/rpm/ocs-url_fc20.rpm" -sudo dnf in -y lshw switchdesk switchdesk-gui go ruby subfinder engrampa flatpak nmap nmtui gparted duf alien aria2 micro fedora-workstation-repositories gnome-boxes ptyxis timeshift pwgen ncdu htop btop glances figlet fish zsh gimp openshot google-chrome-stable google-chrome-canary gnome-tweaks distrobox docker docker-compose +sudo dnf in -y lshw switchdesk switchdesk-gui go ruby subfinder engrampa flatpak nmap nmtui gparted duf alien aria2 micro fedora-workstation-repositories gnome-boxes ptyxis timeshift pwgen ncdu htop btop glances figlet fish zsh gimp openshot google-chrome-stable google-chrome-canary distrobox docker docker-compose gnome-software +sudo dnf in -y gnome-tweaks sudo dnf in -y ffmpeg } @@ -99,6 +100,7 @@ com.github.tchx84.Flatseal \ io.github.dweymouth.supersonic \ com.bitwarden.desktop \ xyz.armcord.ArmCord \ +io.github.revisto.drum-machine \ io.github.jeffshee.Hidamari \ io.github.dvlv.boxbuddyrs \ io.github.flattool.Ignition \ @@ -216,8 +218,6 @@ sudo fc-cache -r } update-theming-pack() { -NGnomeBinary="gnome-session" -if [ -x /usr/bin/$NGnomeBinary ]; then echo "> Preparing Theming Packs..." gsettings set org.gnome.mutter check-alive-timeout 240000 @@ -319,7 +319,6 @@ sudo flatpak override --filesystem=~/.local/share/icons sudo cp /etc/environment /etc/environment.bak echo "GTK_THEME='Graphite$ThemeColor$ThemeModeSet'" | sudo tee /etc/environment echo "export GTK_THEME='Graphite$ThemeColor$ThemeModeSet'"| sudo tee -a /etc/environment -fi } update-usermod() { diff --git a/runner/reg b/runner/reg new file mode 100644 index 0000000..3b509fe --- /dev/null +++ b/runner/reg @@ -0,0 +1,132 @@ +#!/usr/bin/env bash + +# Script Version +SCRIPT_VER=1.0 + +## COLORS +# Reset +Color_Off='\033[0m' # Text Reset + +# Regular Colors +Black='\033[0;30m' # Black +Red='\033[0;31m' # Red +Green='\033[0;32m' # Green +Yellow='\033[0;33m' # Yellow +Blue='\033[0;34m' # Blue +Purple='\033[0;35m' # Purple +Cyan='\033[0;36m' # Cyan +White='\033[0;37m' # White + +# Bold +BBlack='\033[1;30m' # Black +BRed='\033[1;31m' # Red +BGreen='\033[1;32m' # Green +BYellow='\033[1;33m' # Yellow +BBlue='\033[1;34m' # Blue +BPurple='\033[1;35m' # Purple +BCyan='\033[1;36m' # Cyan +BWhite='\033[1;37m' # White + +# Underline +UBlack='\033[4;30m' # Black +URed='\033[4;31m' # Red +UGreen='\033[4;32m' # Green +UYellow='\033[4;33m' # Yellow +UBlue='\033[4;34m' # Blue +UPurple='\033[4;35m' # Purple +UCyan='\033[4;36m' # Cyan +UWhite='\033[4;37m' # White + +# Background +On_Black='\033[40m' # Black +On_Red='\033[41m' # Red +On_Green='\033[42m' # Green +On_Yellow='\033[43m' # Yellow +On_Blue='\033[44m' # Blue +On_Purple='\033[45m' # Purple +On_Cyan='\033[46m' # Cyan +On_White='\033[47m' # White + +# High Intensity +IBlack='\033[0;90m' # Black +IRed='\033[0;91m' # Red +IGreen='\033[0;92m' # Green +IYellow='\033[0;93m' # Yellow +IBlue='\033[0;94m' # Blue +IPurple='\033[0;95m' # Purple +ICyan='\033[0;96m' # Cyan +IWhite='\033[0;97m' # White + +# Bold High Intensity +BIBlack='\033[1;90m' # Black +BIRed='\033[1;91m' # Red +BIGreen='\033[1;92m' # Green +BIYellow='\033[1;93m' # Yellow +BIBlue='\033[1;94m' # Blue +BIPurple='\033[1;95m' # Purple +BICyan='\033[1;96m' # Cyan +BIWhite='\033[1;97m' # White + +# High Intensity backgrounds +On_IBlack='\033[0;100m' # Black +On_IRed='\033[0;101m' # Red +On_IGreen='\033[0;102m' # Green +On_IYellow='\033[0;103m' # Yellow +On_IBlue='\033[0;104m' # Blue +On_IPurple='\033[0;105m' # Purple +On_ICyan='\033[0;106m' # Cyan +On_IWhite='\033[0;107m' # White +###################### + +clear +echo -e "${BICyan}---------------------------------------------------------------------------${Color_Off}" +echo -e "${BICyan}|${Color_Off}${BIGreen} ___ __ _____ __ __ ${BICyan}|${Color_Off}$BIPurple _ _ ${BICyan}|${Color_Off} +${BICyan}|${Color_Off}${BIGreen} | | _ _ (_ \_/(_ | |_ |\/|(_ ${BICyan}|${Color_Off}$BIPurple |_)|_ _ _ ._ o |_).__ o _ __|_ ${BICyan}|${Color_Off} +${BICyan}|${Color_Off}${BIGreen} | \/|(-(_)__) | __) | |__| |__) ${BICyan}|${Color_Off}$BIPurple | | |(_)(/_| ||><| |(_)|(/_(_ |_ ${BICyan}|${Color_Off} +${BICyan}|${Color_Off}${BIGreen} / Make IT Happening ${BICyan}|${Color_Off}$BIPurple Just Do It! _| GEN4 ${BICyan}|${Color_Off}${Color_Off}" +echo -e "$BICyan---------------------------------------------------------------------------${Color_Off}" + +if [[ $UID != 0 ]];then + echo -e "$BIRed> This script must be run as root/0 (or via Sudo). Exiting...${Color_Off}" + exit +fi + +Arg1=$1 +RegFile="/etc/tyleo-reg" + +if [[ $Arg1 = "--cleanup" ]] +then + rm -f $RegFile + echo -e "Cleaned Reg Infos !" + exit +fi + +if [ -f $RegFile ]; then + . /etc/tyleo-reg +else + TYLEO_PREG="UNREGISTERED" + TYLEO_MACHINE_ID="Unknown" +fi + +if [ $TYLEO_PREG = "REGISTERED" ]; then + echo -e "$BIYellow> System is already registered. Reg Infos are available below :${Color_Off}" + echo -e "$BICyan---------------------------------------------------------------------------${Color_Off}" + echo -e "${BICyan}| Machine ID Tyleo Systems :${Color_Off} $TYLEO_MACHINE_ID +${BICyan}| Machine ID Base System :${Color_Off} $TYLEO_MACHINE_ID_SYSTEM +${BICyan}| Machine Base Hostname :${Color_Off} $TYLEO_MACHINE_HOSTNAME +${BICyan}| Machine Registering State :${Color_Off} $TYLEO_PREG" +echo -e "$BICyan---------------------------------------------------------------------------${Color_Off}" +else + echo -e "$BIGreen> Current Hostname : $(hostname)" + read -p "> Enter ITSM machine ID : " Machine_ID + echo -e $Color_Off + echo -e "$BIGreen> Defined Tyleo's machine ID : $Machine_ID-$(cat /etc/machine-id)-$(hostname)${Color_Off}" + echo -e "# Tyleo Machine Registering Informations - This file is generated/rewritten using Reg Script or WS, DO NOT EDIT." > $RegFile + echo -e " +TYLEO_PREG=REGISTERED +TYLEO_MACHINE_ID=$Machine_ID +TYLEO_MACHINE_ID_SYSTEM=$(cat /etc/machine-id) +TYLEO_MACHINE_HOSTNAME=$(hostname) +" >> /etc/tyleo-reg + echo -e "$BIGreen> System Registered. ${Color_Off}" +fi \ No newline at end of file diff --git a/runner/wlcm-v2 b/runner/wlcm-v2 new file mode 100644 index 0000000..246b0fc --- /dev/null +++ b/runner/wlcm-v2 @@ -0,0 +1,142 @@ +#!/usr/bin/env bash + +Arg1=$1 + +update_script() { + wget scr.tyleo.dev/runner/wlcm-v2 -O /tmp/wlcm-v2 + sudo cp /tmp/wlcm-v2 /etc/profile.d/wlcm.sh + rm -f /tmp/wlcm-v2 + sudo chmod +x /etc/profile.d/wlcm.sh +} + +if [ $Arg1 = "--update" ] +then + update_script +fi + +# Script Version +SCRIPT_VER=2.2 + +## COLORS +# Reset +Color_Off='\033[0m' # Text Reset + +# Regular Colors +Black='\033[0;30m' # Black +Red='\033[0;31m' # Red +Green='\033[0;32m' # Green +Yellow='\033[0;33m' # Yellow +Blue='\033[0;34m' # Blue +Purple='\033[0;35m' # Purple +Cyan='\033[0;36m' # Cyan +White='\033[0;37m' # White + +# Bold +BBlack='\033[1;30m' # Black +BRed='\033[1;31m' # Red +BGreen='\033[1;32m' # Green +BYellow='\033[1;33m' # Yellow +BBlue='\033[1;34m' # Blue +BPurple='\033[1;35m' # Purple +BCyan='\033[1;36m' # Cyan +BWhite='\033[1;37m' # White + +# Underline +UBlack='\033[4;30m' # Black +URed='\033[4;31m' # Red +UGreen='\033[4;32m' # Green +UYellow='\033[4;33m' # Yellow +UBlue='\033[4;34m' # Blue +UPurple='\033[4;35m' # Purple +UCyan='\033[4;36m' # Cyan +UWhite='\033[4;37m' # White + +# Background +On_Black='\033[40m' # Black +On_Red='\033[41m' # Red +On_Green='\033[42m' # Green +On_Yellow='\033[43m' # Yellow +On_Blue='\033[44m' # Blue +On_Purple='\033[45m' # Purple +On_Cyan='\033[46m' # Cyan +On_White='\033[47m' # White + +# High Intensity +IBlack='\033[0;90m' # Black +IRed='\033[0;91m' # Red +IGreen='\033[0;92m' # Green +IYellow='\033[0;93m' # Yellow +IBlue='\033[0;94m' # Blue +IPurple='\033[0;95m' # Purple +ICyan='\033[0;96m' # Cyan +IWhite='\033[0;97m' # White + +# Bold High Intensity +BIBlack='\033[1;90m' # Black +BIRed='\033[1;91m' # Red +BIGreen='\033[1;92m' # Green +BIYellow='\033[1;93m' # Yellow +BIBlue='\033[1;94m' # Blue +BIPurple='\033[1;95m' # Purple +BICyan='\033[1;96m' # Cyan +BIWhite='\033[1;97m' # White + +# High Intensity backgrounds +On_IBlack='\033[0;100m' # Black +On_IRed='\033[0;101m' # Red +On_IGreen='\033[0;102m' # Green +On_IYellow='\033[0;103m' # Yellow +On_IBlue='\033[0;104m' # Blue +On_IPurple='\033[0;105m' # Purple +On_ICyan='\033[0;106m' # Cyan +On_IWhite='\033[0;107m' # White +###################### + +# Get CPU core count and frequency +cpu_cores=$(grep -c ^processor /proc/cpuinfo) +cpu_frequency=$(grep "cpu MHz" /proc/cpuinfo | head -n 1 | awk '{print $4}') +cpu_frequency_ghz=$(awk "BEGIN {printf \"%.2f\", $cpu_frequency / 1000}") + +# Get memory information +mem_total=$(free -m | awk '/^Mem:/{print $2}') +mem_free=$(free -m | awk '/^Mem:/{print $7}') +mem_total_gb=$(awk "BEGIN {printf \"%.2f\", $mem_total/1024}") +mem_free_gb=$(awk "BEGIN {printf \"%.2f\", $mem_free/1024}") +mem_used_percent=$(free | awk '/^Mem:/{printf "%.0f", ($2-$7)*100/$2}') + +clear +. /etc/os-release + +RegFile="/etc/tyleo-reg" +if [ -f $RegFile ]; then + . /etc/tyleo-reg +else + TYLEO_PREG="UNREGISTERED" + TYLEO_MACHINE_ID="Unknown" +fi + +if [ $TYLEO_MACHINE_ID != "Unknown" ] +then + REG_COLOR=$BIGreen +else + REG_COLOR=$BIRed + TYLEO_MACHINE_ID="Unknown, Use WS or Reg Script !" +fi + +ip_address=$(hostname -i | awk '{print $1}') + +echo -e "${BICyan}---------------------------------------------------------------------------${Color_Off}" +echo -e "${BICyan}|${Color_Off}${BIGreen} ___ __ _____ __ __ ${BICyan}|${Color_Off}$BIPurple _ _ ${BICyan}|${Color_Off} +${BICyan}|${Color_Off}${BIGreen} | | _ _ (_ \_/(_ | |_ |\/|(_ ${BICyan}|${Color_Off}$BIPurple |_)|_ _ _ ._ o |_).__ o _ __|_ ${BICyan}|${Color_Off} +${BICyan}|${Color_Off}${BIGreen} | \/|(-(_)__) | __) | |__| |__) ${BICyan}|${Color_Off}$BIPurple | | |(_)(/_| ||><| |(_)|(/_(_ |_ ${BICyan}|${Color_Off} +${BICyan}|${Color_Off}${BIGreen} / Make IT Happening ${BICyan}|${Color_Off}$BIPurple Just Do It! _| GEN4 ${BICyan}|${Color_Off}${Color_Off}" +echo -e "$BICyan--------------------------------------------------------------------------- +${BICyan}| Name :${Color_Off} ${UYellow}$HOSTNAME${Color_Off} +${BICyan}| Distribution :${Color_Off} $PRETTY_NAME($NAME($ID)) +${BICyan}| Current IDs :${Color_Off} $(id) +${BICyan}| Connected Users :${Color_Off} $(users) +${BICyan}| First IP :${Color_Off} ${UYellow}$ip_address${Color_Off} +${BICyan}| Registered :${Color_Off} ${REG_COLOR}$TYLEO_PREG ($TYLEO_MACHINE_ID)${Color_Off} +${BICyan}| CPU Information :${Color_Off} $cpu_cores(Cores)($cpu_frequency(Freq),$cpu_frequency_ghz(Ghz)) +${BICyan}| RAM Information :${Color_Off} $mem_total_gb(Gb)(free=$mem_free_gb(Gb),used=$mem_used_percent(%)) +${BICyan}---------------------------------------------------------------------------${Color_Off}" \ No newline at end of file diff --git a/setup/fedora b/setup/fedora new file mode 100755 index 0000000..720fbf1 --- /dev/null +++ b/setup/fedora @@ -0,0 +1,721 @@ +#!/usr/bin/env bash +ver="fedora_git.tyleo.dev" + +wget scr.tyleo.dev/setup/fedora -O ./fedora &>/dev/null +clear + +# Functions + +update-system-hostname() { +echo -n "Set a new Hostname : " +read NHostname +sudo hostnamectl set-hostname --static $NHostname +} + +update-system-packages() { +sudo dnf makecache +sudo dnf up -y +} + +update-personnal-packages() { +sudo dnf in -y fedora-workstation-repositories +sudo fedora-third-party enable +sudo fedora-third-party refresh +sudo dnf remove -y gnome-text-editor +sudo dnf install -y gedit +sudo dnf in -y "https://hst.tyleo.dev/packages/rpm/ocs-url_fc20.rpm" +sudo dnf in -y lshw switchdesk switchdesk-gui go ruby subfinder engrampa flatpak nmap nmtui gparted duf alien aria2 micro gnome-boxes ptyxis timeshift pwgen ncdu htop btop glances figlet fish zsh gimp openshot google-chrome-stable distrobox docker docker-compose gnome-software +sudo dnf in -y gnome-tweaks +sudo dnf in -y ffmpeg +} + +update-flatpak-games-bigs-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +# sudo flatpak install flathub -y \ +echo "No Big Games registered." +sudo flatpak update -y +fi +} + +update-flatpak-emulators-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +sudo flatpak install flathub -y \ +com.github.Rosalie241.RMG \ +org.DolphinEmu.dolphin-emu \ +net.kuribo64.melonDS \ +io.mgba.mGBA \ +org.ppsspp.PPSSPP \ +net.pcsx2.PCSX2 \ +org.duckstation.DuckStation \ +app.xemu.xemu \ +com.snes9x.Snes9x \ +org.purei.Play \ +org.mamedev.MAME \ +io.github.sameboy.SameBoy \ +com.vba_m.visualboyadvance-m +sudo flatpak update -y +fi +} + +update-flatpak-games-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +### WAIT LIST +# +### +sudo flatpak install flathub -y \ +io.gitlab.stone_kingdoms.StoneKingdoms \ +io.openrct2.OpenRCT2 \ +uk.co.powdertoy.tpt \ +net.hhoney.rota \ +net.hhoney.tinycrate \ +org.gnome.Sudoku \ +com.atlauncher.ATLauncher \ +org.kartkrew.RingRacers \ +com.github.Anuken.Mindustry \ +org.srb2.SRB2Kart \ +net.sourceforge.ExtremeTuxRacer \ +io.sourceforge.trigger_rally.TriggerRally \ +net.sourceforge.torcs \ +dev.tchx84.Gameeky \ +com.github.juzzlin.DustRacing2D \ +com.simutrans.Simutrans \ +ca.victorz.acr.AssaultCubeReloaded \ +com.adilhanney.ricochlime \ +io.sourceforge.YSoccer \ +io.thp.numptyphysics \ +de.blobbyvolley.BlobbyVolley2 +sudo flatpak update -y +fi +} + +update-flatpak-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +sudo flatpak install flathub -y \ +com.github.tchx84.Flatseal \ +com.google.Chrome \ +io.github.dweymouth.supersonic \ +io.github.ungoogled_software.ungoogled_chromium \ +com.bitwarden.desktop \ +xyz.armcord.ArmCord \ +io.github.revisto.drum-machine \ +io.github.jeffshee.Hidamari \ +io.github.dvlv.boxbuddyrs \ +io.github.flattool.Ignition \ +com.visualstudio.code \ +com.hunterwittenborn.Celeste \ +io.github.giantpinkrobots.varia \ +md.obsidian.Obsidian \ +io.gitlab.news_flash.NewsFlash \ +org.cockpit_project.CockpitClient \ +org.sqlitebrowser.sqlitebrowser \ +com.github.finefindus.eyedropper \ +io.missioncenter.MissionCenter \ +org.gnome.design.Lorem \ +io.github.lo2dev.Echo \ +io.github.realmazharhussain.GdmSettings \ +com.mattjakeman.ExtensionManager \ +io.gitlab.elescoute.password \ +org.dupot.easyflatpak \ +com.konstantintutsch.Lock \ +io.github.vikdevelop.SaveDesktop \ +io.github.plrigaux.sysd-manager \ +io.github.vemonet.EmojiMart \ +com.github.fabiocolacio.marker \ +org.gnome.DejaDup \ +de.schmidhuberj.DieBahn \ +dev.zelikos.rollit \ +im.bernard.Memorado \ +app/com.github.iwalton3.jellyfin-media-player \ +it.mijorus.gearlever \ +io.github.flattool.Warehouse \ +io.gitlab.adhami3310.Impression \ +com.jgraph.drawio.desktop \ +org.gabmus.swatch \ +io.github.wiiznokes.fan-control \ +io.github.fsobolev.TimeSwitch \ +ca.vlacroix.Tally \ +dev.qwery.AddWater \ +org.gnome.World.PikaBackup \ +com.gitlab.davem.ClamTk \ +com.github.alecaddd.sequeler \ +it.fabiodistasio.AntaresSQL \ +io.gitlab.elescoute.spacelaunch \ +me.iepure.devtoolbox \ +com.github.phase1geo.minder \ +ca.desrt.dconf-editor \ +page.codeberg.libre_menu_editor.LibreMenuEditor \ +pl.youkai.nscan \ +app.drey.Dialect \ +org.gnome.Geary \ +com.github.hugolabe.Wike \ +com.rafaelmardojai.Blanket \ +ca.edestcroix.Recordbox \ +org.nickvision.tagger \ +io.github.nokse22.asciidraw \ +net.nokyan.Resources \ +org.easycoding.TunedSwitcher \ +io.github.halfmexican.Mingle \ +org.gnome.Firmware \ +io.github.ronniedroid.concessio \ +net.codelogistics.webapps \ +io.freetubeapp.FreeTube \ +io.github.amit9838.mousam \ +org.gabmus.whatip \ +com.quexten.Goldwarden \ +info.smplayer.SMPlayer \ +io.github.kukuruzka165.materialgram \ +com.usebottles.bottles +# Removing Blacklisted Packs +sudo flatpak remove -y \ +app.zen_browser.zen \ +com.vivaldi.Vivaldi \ +io.github.spacingbat3.webcord +sudo flatpak update -y +fi +} + +update-flatpak-keyguard() { +sudo wget "https://github.com/AChep/keyguard-app/releases/download/r20250128/Keyguard.flatpak" -O /tmp/keyguard.flatpak +sudo flatpak install "/tmp/keyguard.flatpak" -y +} + +update-flatpak-sublime-music() { +sudo wget "https://hst.tyleo.dev/flatpaks/sublime-music.flatpak" -O /tmp/sublime-music.flatpak +sudo flatpak install "/tmp/sublime-music.flatpak" -y +} + +install-vpn-client() { +sudo tee /etc/zypp/repos.d/pritunl.repo << EOF +[pritunl] +name=Pritunl Repository +baseurl=https://repo.pritunl.com/stable/yum/fedora/41/ +gpgcheck=1 +enabled=1 +gpgkey=https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc +EOF +sudo dnf install pritunl-client-electron -y +} + +update-fonts-package() { +# Sourcing and Parameters +SOURCE_FONT_PACKFILE="https://res.tyleo.dev/fonts/fontpack.tar.gz" +TEMP_FONT_PACKFILE="/tmp/fontpack.tar.gz" +FONTDIR="/usr/share/fonts/custom" + +# Preparing Font Directory +sudo rm -rfv $FONTDIR >/dev/null +sudo mkdir -pv $FONTDIR + +# Downloading Assets and Placing Them +sudo wget $SOURCE_FONT_PACKFILE -O $TEMP_FONT_PACKFILE +sudo tar -xvf $TEMP_FONT_PACKFILE -C $FONTDIR + +# Refreshing FC Cache +sudo fc-cache -r +} + +update-theming-pack() { +echo "> Preparing Theming Packs..." +gsettings set org.gnome.mutter check-alive-timeout 240000 + +# Graphite Theme Settings +## Color Chooser ## +clear +title="Theme Color and Mode Selection" +header-show +echo -n "> Theme Mode (default is Dark) : +1. Dark Mode (default) +2. Light Mode + +> Choice : " +read thememode +if [[ $thememode = $null ]]; then + ThemeModeSet="-Dark" +fi +if [[ $thememode = 1 ]]; then + ThemeModeSet="-Dark" +fi +if [[ $thememode = 2 ]]; then + ThemeModeSet="" +fi +echo -n "> Make color choice (default is Red) : +1. Red +2. Blue +3. Pink +4. Purple +5. Teal +6. White +7. Green +8. Orange +9. Yellow + +> Choice : " +read colorchoice +if [[ $colorchoice = $null ]]; then + ThemeColor="-red" +fi +if [[ $colorchoice = 1 ]]; then + ThemeColor="-red" +fi +if [[ $colorchoice = 2 ]]; then + ThemeColor="-blue" +fi +if [[ $colorchoice = 3 ]]; then + ThemeColor="-pink" +fi +if [[ $colorchoice = 4 ]]; then + ThemeColor="-purple" +fi +if [[ $colorchoice = 5 ]]; then + ThemeColor="-teal" +fi +if [[ $colorchoice = 6 ]]; then + ThemeColor="" +fi +if [[ $colorchoice = 7 ]]; then + ThemeColor="-green" +fi +if [[ $colorchoice = 8 ]]; then + ThemeColor="-orange" +fi +if [[ $colorchoice = 9 ]]; then + ThemeColor="-yellow" +fi +################### + +# Automatic Theming GTK to Fluent Design Purple Theme + +mkdir $HOME/.themes +mkdir -p $HOME/.local/icons + +wget "https://res.tyleo.dev/gtk/gz/Colloid-Grey.tar.xz" -O /tmp/icontheme.tar.xz +wget "https://res.tyleo.dev/gtk/gz/Graphite-Dark.tar.xz" -O /tmp/gtktheme.tar.xz + +sudo tar -xvf /tmp/icontheme.tar.xz -C /usr/share/icons +sudo tar -xvf /tmp/gtktheme.tar.xz -C /usr/share/themes + +sudo tar -xvf /tmp/icontheme.tar.xz -C $HOME/.local/share/icons +sudo tar -xvf /tmp/gtktheme.tar.xz -C $HOME/.themes + +sudo gsettings set org.gnome.desktop.interface gtk-theme Graphite$ThemeColor$ThemeModeSet +sudo gsettings set org.gnome.desktop.wm.preferences theme Graphite$ThemeColor$ThemeModeSet +sudo gsettings set org.gnome.desktop.interface icon-theme "Colloid-Grey$ThemeModeSet" +gsettings set org.gnome.desktop.interface gtk-theme Graphite$ThemeColor$ThemeModeSet +gsettings set org.gnome.desktop.wm.preferences theme Graphite$ThemeColor$ThemeModeSet +gsettings set org.gnome.desktop.interface icon-theme "Colloid-Grey$ThemeModeSet" +dconf write /org/gnome/shell/extensions/user-theme/name "'Graphite$ThemeColor$ThemeModeSet'" +flatpak override --user --env=GTK_THEME=Graphite$ThemeColor$ThemeModeSet +sudo flatpak override --env=GTK_THEME=Graphite$ThemeColor$ThemeModeSet + + +flatpak override --user --filesystem=~/.themes +sudo flatpak override --filesystem=~/.themes +flatpak override --user --filesystem=~/.local/share/icons +sudo flatpak override --filesystem=~/.local/share/icons + +sudo cp /etc/environment /etc/environment.bak +echo "GTK_THEME='Graphite$ThemeColor$ThemeModeSet'" | sudo tee /etc/environment +echo "export GTK_THEME='Graphite$ThemeColor$ThemeModeSet'"| sudo tee -a /etc/environment +} + +update-usermod() { +sudo dnf in -y fish +sudo usermod --shell /usr/bin/fish root +sudo usermod --shell /usr/bin/fish $USER +} + +update-wlcm() { +SCR_SOURCE="https://scr.tyleo.dev/runner/exec_wlcm" +SCR_LOCALS="/usr/bin/wlcm" + +echo "> Downloading Script ..." +sudo wget "https://scr.tyleo.dev/runner/exec_wlcm" -O "/usr/bin/wlcm" +echo "> Allowing direct execution ... (+x)" +sudo chmod +x -v /usr/bin/wlcm +echo "> Finished, add 'wlcm' or 'bash /usr/bin/wlcm' to RC files for autorun !" +} + +show-gnome-extensions-list() { +echo https://extensions.gnome.org/extension/19/user-themes +echo https://extensions.gnome.org/extension/3628/arcmenu +echo https://extensions.gnome.org/extension/2890/tray-icons-reloaded/ +echo https://extensions.gnome.org/extension/1160/dash-to-panel/ +} + +execute-reboot() { + sudo /usr/sbin/reboot +} + +## FEDORA BASEOS FILES +osrel="/etc/fedora-release" +###################### + +## COLORS +# Reset +Color_Off='\033[0m' # Text Reset + +# Regular Colors +Black='\033[0;30m' # Black +Red='\033[0;31m' # Red +Green='\033[0;32m' # Green +Yellow='\033[0;33m' # Yellow +Blue='\033[0;34m' # Blue +Purple='\033[0;35m' # Purple +Cyan='\033[0;36m' # Cyan +White='\033[0;37m' # White + +# Bold +BBlack='\033[1;30m' # Black +BRed='\033[1;31m' # Red +BGreen='\033[1;32m' # Green +BYellow='\033[1;33m' # Yellow +BBlue='\033[1;34m' # Blue +BPurple='\033[1;35m' # Purple +BCyan='\033[1;36m' # Cyan +BWhite='\033[1;37m' # White + +# Underline +UBlack='\033[4;30m' # Black +URed='\033[4;31m' # Red +UGreen='\033[4;32m' # Green +UYellow='\033[4;33m' # Yellow +UBlue='\033[4;34m' # Blue +UPurple='\033[4;35m' # Purple +UCyan='\033[4;36m' # Cyan +UWhite='\033[4;37m' # White + +# Background +On_Black='\033[40m' # Black +On_Red='\033[41m' # Red +On_Green='\033[42m' # Green +On_Yellow='\033[43m' # Yellow +On_Blue='\033[44m' # Blue +On_Purple='\033[45m' # Purple +On_Cyan='\033[46m' # Cyan +On_White='\033[47m' # White + +# High Intensity +IBlack='\033[0;90m' # Black +IRed='\033[0;91m' # Red +IGreen='\033[0;92m' # Green +IYellow='\033[0;93m' # Yellow +IBlue='\033[0;94m' # Blue +IPurple='\033[0;95m' # Purple +ICyan='\033[0;96m' # Cyan +IWhite='\033[0;97m' # White + +# Bold High Intensity +BIBlack='\033[1;90m' # Black +BIRed='\033[1;91m' # Red +BIGreen='\033[1;92m' # Green +BIYellow='\033[1;93m' # Yellow +BIBlue='\033[1;94m' # Blue +BIPurple='\033[1;95m' # Purple +BICyan='\033[1;96m' # Cyan +BIWhite='\033[1;97m' # White + +# High Intensity backgrounds +On_IBlack='\033[0;100m' # Black +On_IRed='\033[0;101m' # Red +On_IGreen='\033[0;102m' # Green +On_IYellow='\033[0;103m' # Yellow +On_IBlue='\033[0;104m' # Blue +On_IPurple='\033[0;105m' # Purple +On_ICyan='\033[0;106m' # Cyan +On_IWhite='\033[0;107m' # White +###################### + +header-show() { + clear + echo -e "$On_White $BBlack Procedure in progress : $title $Color_Off" +} + +reload-script() { + chmod +x $PWD/$(basename $0) + bash -c "$PWD/$(basename $0)" && exit +} + +wait-3s() { + echo "Wait 3 Seconds... Use CTRL+C to cancel procedure." + sleep 3 +} + +wait-for-keypress() { + echo -n -e $On_White $BBlack + read -p " Press any key to continue... " -n1 -s + echo -n -e $Color_Off +} + +enable-cmd-mode() { + echo -e -n $IYellow +} + +disable-cmd-mode() { + echo -e -n $Color_Off +} + +kde_install_pmobile() { + sudo dnf in -y plasma-mobile + echo "!> Use login screen to switch to Mobile UI. /!\ Mobile UI is Wayland only /!\^" +} + +kde_install_px11() { + sudo dnf in -y plasma-workspace-x11 + echo "!> Use login screen to switch to X11, reboot is required for multi monitors setup." +} + +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# + +echo -e "$On_Green $BBlack Tyleo Deploy Script - Version $ver $Color_Off" +echo -e "$On_Green $BBlack PhoenixProject Fedora Script to Customize Fedora Systems - https://tyleo.dev $Color_Off" +echo -e "$BGreen------------------------------------------------ +|$BCyan A. Execute All Jobs (Full Deploy)$BGreen | +|$BGray G. Show Gnome Extensions URLs $BGreen | +| | +| 1. Update System Packages & Configuration | +| 2. Update Flatpak Packages & Configurationw | +| 3. Update Fontpack Configuration | +| 4. Update Theming Configuration | +| 5. Update System Hostname | +| 6. Update Usermod Configuration | +| | +|$BBlue V. Install/Update VPN Client $BGreen | +|$BBlue K. Install/Update Keyguard Client $BGreen | +|$BBlue S. Install/Update Subsonic Client $BGreen | +|$BBlue M. Install/Update Gaming Packages $BGreen | +|$BBlue B. Install/Update BgGame Packages $BGreen | +|$BBlue E. Install/Update Emulators Packages $BGreen | +| | +|$BBlue K0. Install Plasma X11 Workspace $BGreen | +|$BBlue K1. Install Plasma Mobile Workspace $BGreen | +| | +|$BRed R. Reboot System $BGreen | +|$BRed Q. Exit Deployer $BGreen | +------------------------------------------------$Color_Off" +echo -e -n "$BGreen Procedure to start (CAPS) : " +read choice +echo -e $Color_Off + +if [[ $choice = $null ]]; then + reload-script +fi + +if [[ $choice = A ]]; then + title="Full Deploy/Update/Setup" + header-show + wait-3s + enable-cmd-mode + update-system-hostname + update-system-packages + update-personnal-packages + install-vpn-client + update-flatpak-packages + update-flatpak-keyguard + update-fonts-package + update-theming-pack + update-usermod + update-wlcm + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K ]]; then + title="Installation or Update of Keyguard Vaultwarden Client" + header-show + wait-3s + enable-cmd-mode + update-flatpak-keyguard + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = E ]]; then + title="Installation or Update of Emulators" + header-show + wait-3s + enable-cmd-mode + update-flatpak-emulators-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = S ]]; then + title="Installation or Update of Subsonic Music Client" + header-show + wait-3s + enable-cmd-mode + update-flatpak-sublime-music + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 2 ]]; then + title="Flatpak Updates Packages & Configuration" + header-show + wait-3s + enable-cmd-mode + update-flatpak-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = M ]]; then + title="Games - Flatpak Updates Packages & Configuration" + header-show + wait-3s + enable-cmd-mode + update-flatpak-games-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = B ]]; then + title="Big Games - Flatpak Updates Packages & Configuration" + header-show + wait-3s + enable-cmd-mode + update-flatpak-games-bigs-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K1 ]]; then + title="KDE DE - Mobile UI" + header-show + wait-3s + enable-cmd-mode + kde_install_pmobile + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K0 ]]; then + title="KDE DE - X11 Workspace (For NVIDIA Environnements)" + header-show + wait-3s + enable-cmd-mode + kde_install_px11 + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 3 ]]; then + title="Fontpack Updates and Installation" + header-show + wait-3s + enable-cmd-mode + update-fonts-package + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 4 ]]; then + title="Theming for Gnome Desktop Updates and Installation" + header-show + wait-3s + enable-cmd-mode + update-theming-pack + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 5 ]]; then + title="System Hostname Configuration" + header-show + wait-3s + enable-cmd-mode + update-system-hostname + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 6 ]]; then + title="User Modifications Configurations" + header-show + wait-3s + enable-cmd-mode + update-usermod + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = V ]]; then + title="VPN Client Installation or Updates (Pritunl Client Electron)" + header-show + wait-3s + enable-cmd-mode + install-vpn-client + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 1 ]]; then + title="System Packages Updates and Configurations" + header-show + wait-3s + enable-cmd-mode + update-system-packages + update-personnal-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = G ]]; then + title="Gnome Extensions List" + header-show + wait-3s + enable-cmd-mode + show-gnome-extensions-list + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = R ]] +then + title="Rebooting System" + header-show + wait-3s + enable-cmd-mode + echo "System Will Reboot after 3s..." + disable-cmd-mode + execute-reboot + wait-3s + reload-script +fi + +if [[ $choice = T ]] +then + title="Test Procedure" + header-show + wait-3s + reload-script +fi \ No newline at end of file diff --git a/setup/opensuse b/setup/opensuse new file mode 100755 index 0000000..eaa80e5 --- /dev/null +++ b/setup/opensuse @@ -0,0 +1,675 @@ +#!/usr/bin/env bash +ver="opensuse_git.tyleo.dev" + +wget scr.tyleo.dev/setup/opensuse -O ./opensuse &>/dev/null +clear + +# Functions + +update-system-hostname() { +echo -n "Set a new Hostname : " +read NHostname +sudo hostnamectl set-hostname --static $NHostname +} + +update-system-packages() { +sudo zypper refresh +sudo zypper up -y +} + +update-personnal-packages() { +sudo zypper remove -y gnome-text-editor +sudo zypper install -y gedit +# sudo zypper in -y "https://hst.tyleo.dev/packages/rpm/ocs-url_fc20.rpm" +sudo zypper in -y lshw go ruby subfinder engrampa flatpak nmap gparted duf aria2 gnome-boxes ptyxis timeshift pwgen ncdu htop btop glances figlet fish zsh gimp openshot distrobox docker docker-compose gnome-software +sudo zypper in -y gnome-tweaks +sudo zypper in -y ffmpeg-7 +} + +update-flatpak-games-bigs-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +# sudo flatpak install flathub -y \ +echo "No Big Games registered." +sudo flatpak update -y +fi +} + +update-flatpak-emulators-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +sudo flatpak install flathub -y \ +com.github.Rosalie241.RMG \ +org.DolphinEmu.dolphin-emu \ +net.kuribo64.melonDS \ +io.mgba.mGBA \ +org.ppsspp.PPSSPP \ +net.pcsx2.PCSX2 \ +org.duckstation.DuckStation \ +app.xemu.xemu \ +com.snes9x.Snes9x \ +org.purei.Play \ +org.mamedev.MAME \ +io.github.sameboy.SameBoy \ +com.vba_m.visualboyadvance-m +sudo flatpak update -y +fi +} + +update-flatpak-games-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +### WAIT LIST +# +### +sudo flatpak install flathub -y \ +io.gitlab.stone_kingdoms.StoneKingdoms \ +io.openrct2.OpenRCT2 \ +uk.co.powdertoy.tpt \ +net.hhoney.rota \ +net.hhoney.tinycrate \ +org.gnome.Sudoku \ +com.atlauncher.ATLauncher \ +org.kartkrew.RingRacers \ +com.github.Anuken.Mindustry \ +org.srb2.SRB2Kart \ +net.sourceforge.ExtremeTuxRacer \ +io.sourceforge.trigger_rally.TriggerRally \ +net.sourceforge.torcs \ +dev.tchx84.Gameeky \ +com.github.juzzlin.DustRacing2D \ +com.simutrans.Simutrans \ +ca.victorz.acr.AssaultCubeReloaded \ +com.adilhanney.ricochlime \ +io.sourceforge.YSoccer \ +io.thp.numptyphysics \ +de.blobbyvolley.BlobbyVolley2 +sudo flatpak update -y +fi +} + +update-flatpak-packages() { +if [ -x /usr/bin/flatpak ]; then +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo >>/dev/null +sudo flatpak install flathub -y \ +com.google.Chrome \ +io.github.ungoogled_software.ungoogled_chromium \ +com.github.tchx84.Flatseal \ +io.github.dweymouth.supersonic \ +com.bitwarden.desktop \ +xyz.armcord.ArmCord \ +io.github.revisto.drum-machine \ +io.github.jeffshee.Hidamari \ +io.github.dvlv.boxbuddyrs \ +io.github.flattool.Ignition \ +com.visualstudio.code \ +com.hunterwittenborn.Celeste \ +io.github.giantpinkrobots.varia \ +md.obsidian.Obsidian \ +io.gitlab.news_flash.NewsFlash \ +org.cockpit_project.CockpitClient \ +org.sqlitebrowser.sqlitebrowser \ +com.github.finefindus.eyedropper \ +io.missioncenter.MissionCenter \ +org.gnome.design.Lorem \ +io.github.lo2dev.Echo \ +io.github.realmazharhussain.GdmSettings \ +com.mattjakeman.ExtensionManager \ +io.gitlab.elescoute.password \ +org.dupot.easyflatpak \ +com.konstantintutsch.Lock \ +io.github.vikdevelop.SaveDesktop \ +io.github.plrigaux.sysd-manager \ +io.github.vemonet.EmojiMart \ +com.github.fabiocolacio.marker \ +org.gnome.DejaDup \ +de.schmidhuberj.DieBahn \ +dev.zelikos.rollit \ +im.bernard.Memorado \ +app/com.github.iwalton3.jellyfin-media-player \ +it.mijorus.gearlever \ +io.github.flattool.Warehouse \ +io.gitlab.adhami3310.Impression \ +com.jgraph.drawio.desktop \ +org.gabmus.swatch \ +io.github.wiiznokes.fan-control \ +io.github.fsobolev.TimeSwitch \ +ca.vlacroix.Tally \ +dev.qwery.AddWater \ +org.gnome.World.PikaBackup \ +com.gitlab.davem.ClamTk \ +com.github.alecaddd.sequeler \ +it.fabiodistasio.AntaresSQL \ +io.gitlab.elescoute.spacelaunch \ +me.iepure.devtoolbox \ +com.github.phase1geo.minder \ +ca.desrt.dconf-editor \ +page.codeberg.libre_menu_editor.LibreMenuEditor \ +pl.youkai.nscan \ +app.drey.Dialect \ +org.gnome.Geary \ +com.github.hugolabe.Wike \ +com.rafaelmardojai.Blanket \ +ca.edestcroix.Recordbox \ +org.nickvision.tagger \ +io.github.nokse22.asciidraw \ +net.nokyan.Resources \ +org.easycoding.TunedSwitcher \ +io.github.halfmexican.Mingle \ +org.gnome.Firmware \ +io.github.ronniedroid.concessio \ +net.codelogistics.webapps \ +io.freetubeapp.FreeTube \ +io.github.amit9838.mousam \ +org.gabmus.whatip \ +com.quexten.Goldwarden \ +info.smplayer.SMPlayer \ +io.github.kukuruzka165.materialgram \ +com.usebottles.bottles +# Removing Blacklisted Packs +sudo flatpak remove -y \ +app.zen_browser.zen \ +com.vivaldi.Vivaldi \ +io.github.spacingbat3.webcord +sudo flatpak update -y +fi +} + +update-flatpak-keyguard() { +sudo wget "https://github.com/AChep/keyguard-app/releases/download/r20250128/Keyguard.flatpak" -O /tmp/keyguard.flatpak +sudo flatpak install "/tmp/keyguard.flatpak" -y +} + +update-flatpak-sublime-music() { +sudo wget "https://hst.tyleo.dev/flatpaks/sublime-music.flatpak" -O /tmp/sublime-music.flatpak +sudo flatpak install "/tmp/sublime-music.flatpak" -y +} + +install-vpn-client() { +echo "Incompatible avec OpenSUSE - Voir pour replacement" +} + +update-fonts-package() { +# Sourcing and Parameters +SOURCE_FONT_PACKFILE="https://res.tyleo.dev/fonts/fontpack.tar.gz" +TEMP_FONT_PACKFILE="/tmp/fontpack.tar.gz" +FONTDIR="/usr/share/fonts/custom" + +# Preparing Font Directory +sudo rm -rfv $FONTDIR >/dev/null +sudo mkdir -pv $FONTDIR + +# Downloading Assets and Placing Them +sudo wget $SOURCE_FONT_PACKFILE -O $TEMP_FONT_PACKFILE +sudo tar -xvf $TEMP_FONT_PACKFILE -C $FONTDIR + +# Refreshing FC Cache +sudo fc-cache -r +} + +update-theming-pack() { +echo "> Preparing Theming Packs..." +gsettings set org.gnome.mutter check-alive-timeout 240000 + +# Graphite Theme Settings +## Color Chooser ## +clear +title="Theme Color and Mode Selection" +header-show +echo -n "> Theme Mode (default is Dark) : +1. Dark Mode (default) +2. Light Mode + +> Choice : " +read thememode +if [[ $thememode = $null ]]; then + ThemeModeSet="-Dark" +fi +if [[ $thememode = 1 ]]; then + ThemeModeSet="-Dark" +fi +if [[ $thememode = 2 ]]; then + ThemeModeSet="" +fi +echo -n "> Make color choice (default is Red) : +1. Red +2. Blue +3. Pink +4. Purple +5. Teal +6. White +7. Green +8. Orange +9. Yellow + +> Choice : " +read colorchoice +if [[ $colorchoice = $null ]]; then + ThemeColor="-red" +fi +if [[ $colorchoice = 1 ]]; then + ThemeColor="-red" +fi +if [[ $colorchoice = 2 ]]; then + ThemeColor="-blue" +fi +if [[ $colorchoice = 3 ]]; then + ThemeColor="-pink" +fi +if [[ $colorchoice = 4 ]]; then + ThemeColor="-purple" +fi +if [[ $colorchoice = 5 ]]; then + ThemeColor="-teal" +fi +if [[ $colorchoice = 6 ]]; then + ThemeColor="" +fi +if [[ $colorchoice = 7 ]]; then + ThemeColor="-green" +fi +if [[ $colorchoice = 8 ]]; then + ThemeColor="-orange" +fi +if [[ $colorchoice = 9 ]]; then + ThemeColor="-yellow" +fi +################### + +# Automatic Theming GTK to Fluent Design Purple Theme + +mkdir $HOME/.themes +mkdir -p $HOME/.local/icons + +wget "https://res.tyleo.dev/gtk/gz/Colloid-Grey.tar.xz" -O /tmp/icontheme.tar.xz +wget "https://res.tyleo.dev/gtk/gz/Graphite-Dark.tar.xz" -O /tmp/gtktheme.tar.xz + +sudo tar -xvf /tmp/icontheme.tar.xz -C /usr/share/icons +sudo tar -xvf /tmp/gtktheme.tar.xz -C /usr/share/themes + +sudo tar -xvf /tmp/icontheme.tar.xz -C $HOME/.local/share/icons +sudo tar -xvf /tmp/gtktheme.tar.xz -C $HOME/.themes + +sudo gsettings set org.gnome.desktop.interface gtk-theme Graphite$ThemeColor$ThemeModeSet +sudo gsettings set org.gnome.desktop.wm.preferences theme Graphite$ThemeColor$ThemeModeSet +sudo gsettings set org.gnome.desktop.interface icon-theme "Colloid-Grey$ThemeModeSet" +gsettings set org.gnome.desktop.interface gtk-theme Graphite$ThemeColor$ThemeModeSet +gsettings set org.gnome.desktop.wm.preferences theme Graphite$ThemeColor$ThemeModeSet +gsettings set org.gnome.desktop.interface icon-theme "Colloid-Grey$ThemeModeSet" +dconf write /org/gnome/shell/extensions/user-theme/name "'Graphite$ThemeColor$ThemeModeSet'" +flatpak override --user --env=GTK_THEME=Graphite$ThemeColor$ThemeModeSet +sudo flatpak override --env=GTK_THEME=Graphite$ThemeColor$ThemeModeSet + + +flatpak override --user --filesystem=~/.themes +sudo flatpak override --filesystem=~/.themes +flatpak override --user --filesystem=~/.local/share/icons +sudo flatpak override --filesystem=~/.local/share/icons + +sudo cp /etc/environment /etc/environment.bak +echo "GTK_THEME='Graphite$ThemeColor$ThemeModeSet'" | sudo tee /etc/environment +echo "export GTK_THEME='Graphite$ThemeColor$ThemeModeSet'"| sudo tee -a /etc/environment +} + +update-usermod() { +sudo zypper in -y fish +sudo usermod --shell /usr/bin/fish root +sudo usermod --shell /usr/bin/fish $USER +} + +update-wlcm() { +SCR_SOURCE="https://scr.tyleo.dev/runner/exec_wlcm" +SCR_LOCALS="/usr/bin/wlcm" + +echo "> Downloading Script ..." +sudo wget "https://scr.tyleo.dev/runner/exec_wlcm" -O "/usr/bin/wlcm" +echo "> Allowing direct execution ... (+x)" +sudo chmod +x -v /usr/bin/wlcm +echo "> Finished, add 'wlcm' or 'bash /usr/bin/wlcm' to RC files for autorun !" +} + +show-gnome-extensions-list() { +echo https://extensions.gnome.org/extension/19/user-themes +echo https://extensions.gnome.org/extension/3628/arcmenu +echo https://extensions.gnome.org/extension/2890/tray-icons-reloaded/ +echo https://extensions.gnome.org/extension/1160/dash-to-panel/ +} + +execute-reboot() { + sudo /usr/sbin/reboot +} + +## OpenSUSE BASEOS FILES +osrel="/etc/OpenSUSE-release" +###################### + +## COLORS +# Reset +Color_Off='\033[0m' # Text Reset + +# Regular Colors +Black='\033[0;30m' # Black +Red='\033[0;31m' # Red +Green='\033[0;32m' # Green +Yellow='\033[0;33m' # Yellow +Blue='\033[0;34m' # Blue +Purple='\033[0;35m' # Purple +Cyan='\033[0;36m' # Cyan +White='\033[0;37m' # White + +# Bold +BBlack='\033[1;30m' # Black +BRed='\033[1;31m' # Red +BGreen='\033[1;32m' # Green +BYellow='\033[1;33m' # Yellow +BBlue='\033[1;34m' # Blue +BPurple='\033[1;35m' # Purple +BCyan='\033[1;36m' # Cyan +BWhite='\033[1;37m' # White + +# Underline +UBlack='\033[4;30m' # Black +URed='\033[4;31m' # Red +UGreen='\033[4;32m' # Green +UYellow='\033[4;33m' # Yellow +UBlue='\033[4;34m' # Blue +UPurple='\033[4;35m' # Purple +UCyan='\033[4;36m' # Cyan +UWhite='\033[4;37m' # White + +# Background +On_Black='\033[40m' # Black +On_Red='\033[41m' # Red +On_Green='\033[42m' # Green +On_Yellow='\033[43m' # Yellow +On_Blue='\033[44m' # Blue +On_Purple='\033[45m' # Purple +On_Cyan='\033[46m' # Cyan +On_White='\033[47m' # White + +# High Intensity +IBlack='\033[0;90m' # Black +IRed='\033[0;91m' # Red +IGreen='\033[0;92m' # Green +IYellow='\033[0;93m' # Yellow +IBlue='\033[0;94m' # Blue +IPurple='\033[0;95m' # Purple +ICyan='\033[0;96m' # Cyan +IWhite='\033[0;97m' # White + +# Bold High Intensity +BIBlack='\033[1;90m' # Black +BIRed='\033[1;91m' # Red +BIGreen='\033[1;92m' # Green +BIYellow='\033[1;93m' # Yellow +BIBlue='\033[1;94m' # Blue +BIPurple='\033[1;95m' # Purple +BICyan='\033[1;96m' # Cyan +BIWhite='\033[1;97m' # White + +# High Intensity backgrounds +On_IBlack='\033[0;100m' # Black +On_IRed='\033[0;101m' # Red +On_IGreen='\033[0;102m' # Green +On_IYellow='\033[0;103m' # Yellow +On_IBlue='\033[0;104m' # Blue +On_IPurple='\033[0;105m' # Purple +On_ICyan='\033[0;106m' # Cyan +On_IWhite='\033[0;107m' # White +###################### + +header-show() { + clear + echo -e "$On_White $BBlack Procedure in progress : $title $Color_Off" +} + +reload-script() { + chmod +x $PWD/$(basename $0) + bash -c "$PWD/$(basename $0)" && exit +} + +wait-3s() { + echo "Wait 3 Seconds... Use CTRL+C to cancel procedure." + sleep 3 +} + +wait-for-keypress() { + echo -n -e $On_White $BBlack + read -p " Press any key to continue... " -n1 -s + echo -n -e $Color_Off +} + +enable-cmd-mode() { + echo -e -n $IYellow +} + +disable-cmd-mode() { + echo -e -n $Color_Off +} + +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# + +echo -e "$On_Green $BBlack Tyleo Deploy Script - Version $ver $Color_Off" +echo -e "$On_Green $BBlack PhoenixProject OpenSUSE Script to Customize OpenSUSE Systems - https://tyleo.dev $Color_Off" +echo -e "$BGreen------------------------------------------------ +|$BCyan A. Execute All Jobs (Full Deploy)$BGreen | +|$BGray G. Show Gnome Extensions URLs $BGreen | +| | +| 1. Update System Packages & Configuration | +| 2. Update Flatpak Packages & Configurationw | +| 3. Update Fontpack Configuration | +| 4. Update Theming Configuration | +| 5. Update System Hostname | +| 6. Update Usermod Configuration | +| | +|$BBlue V. Install/Update VPN Client $BGreen | +|$BBlue K. Install/Update Keyguard Client $BGreen | +|$BBlue S. Install/Update Subsonic Client $BGreen | +|$BBlue M. Install/Update Gaming Packages $BGreen | +|$BBlue B. Install/Update BgGame Packages $BGreen | +|$BBlue E. Install/Update Emulators Packages $BGreen | +| | +|$BRed R. Reboot System $BGreen | +|$BRed Q. Exit Deployer $BGreen | +------------------------------------------------$Color_Off" +echo -e -n "$BGreen Procedure to start (CAPS) : " +read choice +echo -e $Color_Off + +if [[ $choice = $null ]]; then + reload-script +fi + +if [[ $choice = A ]]; then + title="Full Deploy/Update/Setup" + header-show + wait-3s + enable-cmd-mode + update-system-hostname + update-system-packages + update-personnal-packages + install-vpn-client + update-flatpak-packages + update-flatpak-keyguard + update-fonts-package + update-theming-pack + update-usermod + update-wlcm + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K ]]; then + title="Installation or Update of Keyguard Vaultwarden Client" + header-show + wait-3s + enable-cmd-mode + update-flatpak-keyguard + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = E ]]; then + title="Installation or Update of Emulators" + header-show + wait-3s + enable-cmd-mode + update-flatpak-emulators-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = S ]]; then + title="Installation or Update of Subsonic Music Client" + header-show + wait-3s + enable-cmd-mode + update-flatpak-sublime-music + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 2 ]]; then + title="Flatpak Updates Packages & Configuration" + header-show + wait-3s + enable-cmd-mode + update-flatpak-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = M ]]; then + title="Games - Flatpak Updates Packages & Configuration" + header-show + wait-3s + enable-cmd-mode + update-flatpak-games-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = B ]]; then + title="Big Games - Flatpak Updates Packages & Configuration" + header-show + wait-3s + enable-cmd-mode + update-flatpak-games-bigs-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 3 ]]; then + title="Fontpack Updates and Installation" + header-show + wait-3s + enable-cmd-mode + update-fonts-package + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 4 ]]; then + title="Theming for Gnome Desktop Updates and Installation" + header-show + wait-3s + enable-cmd-mode + update-theming-pack + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 5 ]]; then + title="System Hostname Configuration" + header-show + wait-3s + enable-cmd-mode + update-system-hostname + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 6 ]]; then + title="User Modifications Configurations" + header-show + wait-3s + enable-cmd-mode + update-usermod + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = V ]]; then + title="VPN Client Installation or Updates (Pritunl Client Electron)" + header-show + wait-3s + enable-cmd-mode + install-vpn-client + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = 1 ]]; then + title="System Packages Updates and Configurations" + header-show + wait-3s + enable-cmd-mode + update-system-packages + update-personnal-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = G ]]; then + title="Gnome Extensions List" + header-show + wait-3s + enable-cmd-mode + show-gnome-extensions-list + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = R ]] +then + title="Rebooting System" + header-show + wait-3s + enable-cmd-mode + echo "System Will Reboot after 3s..." + disable-cmd-mode + execute-reboot + wait-3s + reload-script +fi + +if [[ $choice = T ]] +then + title="Test Procedure" + header-show + wait-3s + reload-script +fi \ No newline at end of file