From 4d5837b214bbbd1c2afc39e27282037f6e0a5477 Mon Sep 17 00:00:00 2001 From: TyleoDvDelaware3217 Date: Mon, 21 Apr 2025 06:45:30 +0000 Subject: [PATCH] Update-OpenSUSEWS-1.2.1-InitialStable --- setup/fedora | 169 ++-- setup/opensuse | 1285 +++++++++++++++++++++++++++++ setup/{debian-rl => opensuse-dnf} | 725 ++++++++++++---- 3 files changed, 1928 insertions(+), 251 deletions(-) create mode 100755 setup/opensuse rename setup/{debian-rl => opensuse-dnf} (51%) diff --git a/setup/fedora b/setup/fedora index 5c0c15d..d043b0d 100755 --- a/setup/fedora +++ b/setup/fedora @@ -9,11 +9,17 @@ else exit fi +############################################################################################### +# Vivaldi Replacement Sources +# https://downloads.vivaldi.com/stable/vivaldi-stable-7.3.3635.9-1.x86_64.rpm +# Sourced : https://hst.tyleo.dev/rpm/vivaldi-base.rpm +# Repo is added on RPM install, additionaly, add automatic upgrade to latest just after it. +############################################################################################### Arg1=$1 wget scr.tyleo.dev/setup/fedora -O ./fedora &>/dev/null -ver="3.2.5_fedoraws_gen4.1_git.tyleo.dev" +ver="3.2.7_fedoraws_gen4.1_git.tyleo.dev" clear # Functions @@ -60,25 +66,30 @@ waydroid session stop } open_secure_backup() { - brave-browser --app="https://secure-backup-orion.tyleo.dev" + vivaldi-stable --app="https://secure-backup-orion.tyleo.dev" } open_webgallery() { - brave-browser --app="https://webgallery.tyleo.dev/gallery" + vivaldi-stable --app="https://webgallery.tyleo.dev/gallery" } open_privategallery() { - brave-browser --app="https://privategallery.tyleo.dev/login" + vivaldi-stable --app="https://privategallery.tyleo.dev/login" } open_vaultwarden() { - brave-browser --app="https://vaultwarden.tyleo.dev" + vivaldi-stable --app="https://vaultwarden.tyleo.dev" } get_logo() { wget "https://res.tyleo.dev/gen15/Gen15-LOGO.png" -O $HOME/logo.png } +selinux_disable() { + sed "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config > sudo /etc/selinux/config + echo "Reboot recommended." +} + setup_waydroid() { if [ -x /usr/bin/waydroid ]; then echo "> Waydroid is already installed. No action required, use Waydroid OTA to update it." @@ -243,7 +254,9 @@ io.github.revisto.drum-machine \ io.github.jeffshee.Hidamari \ io.github.dvlv.boxbuddyrs \ io.github.flattool.Ignition \ -net.blix.BlueMail \ +de.capypara.FieldMonitor \ +us.materialio.Materialious \ +org.mozilla.Thunderbird \ org.kde.calligra \ com.hunterwittenborn.Celeste \ io.github.giantpinkrobots.varia \ @@ -312,7 +325,6 @@ com.usebottles.bottles sudo flatpak remove -y \ com.visualstudio.code \ app.zen_browser.zen \ -com.vivaldi.Vivaldi \ io.github.spacingbat3.webcord sudo flatpak update -y fi @@ -363,6 +375,7 @@ install-vpn-client() { # gpgkey=https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc # EOF # sudo dnf install pritunl-client-electron -y +sudo rm /etc/yum.repos.d/pritunl.repo -f sudo dnf remove pritunl-client-electron -y } @@ -383,6 +396,9 @@ sudo tar -xvf $TEMP_FONT_PACKFILE -C $FONTDIR # Refreshing FC Cache sudo fc-cache -r +# Applying Current Font Settings +setup_font + } update-theming-pack() { @@ -444,7 +460,7 @@ mkdir $HOME/.themes mkdir -p $HOME/.local/icons wget "https://res.tyleo.dev/gtk/mc3d/mc3d-icon.tar.xz" -O /tmp/icontheme.tar.xz -wget "https://res.tyleo.dev/gtk/mc3d/Gtk-Mojave-Dark.tar.xz" -O /tmp/gsh-gtktheme-dark.tar.xz +wget "https://res.tyleo.dev/gtk/lavanda/Lavanda-Dark.tar.xz" -O /tmp/gsh-gtktheme-dark.tar.xz wget "https://res.tyleo.dev/gtk/cursor/McMojave-cursors.tar.xz" -O /tmp/cursors.tar.xz # Cursors and Icons are stored in the same directory (System) @@ -461,26 +477,29 @@ sudo tar -xvf /tmp/gsh-gtktheme-dark.tar.xz -C /usr/sh # GTK Theme Extract (User) sudo tar -xvf /tmp/gsh-gtktheme-dark.tar.xz -C $HOME/.themes # Shell & GUI Themes -sudo gsettings set org.gnome.desktop.interface gtk-theme "Mojave-Dark" -sudo gsettings set org.gnome.desktop.wm.preferences theme "Mojave-Dark" +sudo gsettings set org.gnome.desktop.interface gtk-theme "Lavanda-Dark" +sudo gsettings set org.gnome.desktop.wm.preferences theme "Lavanda-Dark" sudo gsettings set org.gnome.desktop.interface icon-theme "MacOS-3D-Icons" -gsettings set org.gnome.desktop.interface gtk-theme "Mojave-Dark" -gsettings set org.gnome.desktop.wm.preferences theme "Mojave-Dark" +gsettings set org.gnome.desktop.interface gtk-theme "Lavanda-Dark" +gsettings set org.gnome.desktop.wm.preferences theme "Lavanda-Dark" gsettings set org.gnome.desktop.interface icon-theme "MacOS-3D-Icons" gsettings set org.gnome.desktop.interface cursor-theme "McMojave-cursors" -dconf write /org/gnome/shell/extensions/user-theme/name "'Mojave-Dark'" -flatpak override --user --env=GTK_THEME=Mojave-Dark -sudo flatpak override --env=GTK_THEME=Mojave-Dark +dconf write /org/gnome/shell/extensions/user-theme/name "'Lavanda-Dark'" +flatpak override --user --env=GTK_THEME=Lavanda-Dark +sudo flatpak override --env=GTK_THEME=Lavanda-Dark flatpak override --user --filesystem=~/.themes sudo flatpak override --filesystem=~/.themes flatpak override --user --filesystem=~/.local/share/icons sudo flatpak override --filesystem=~/.local/share/icons - +if [[ $DESKTOP_SESSION == "gnome" ]]; then sudo cp /etc/environment /etc/environment.bak -echo "GTK_THEME='Mojave-Dark'" | sudo tee /etc/environment -echo "export GTK_THEME='Mojave-Dark'"| sudo tee -a /etc/environment +echo "GTK_THEME='Lavanda-Dark'" | sudo tee /etc/environment +echo "export GTK_THEME='Lavanda-Dark'"| sudo tee -a /etc/environment +else +echo "Gnome is not active, not applying Environments Overrides." +fi } update-usermod() { @@ -739,32 +758,56 @@ if [[ $Arg1 = "--auto" ]]||[[ $Arg1 = "-a" ]]; then exit fi -exterminate_chrome() { - echo "Removing Google Chrome" +remove_chrome() { + if command -v google-chrome >/dev/null 2>&1; then + echo "Removing Google Chrome from system..." sudo killall chrome google-chrome google-chrome-stable sudo dnf remove -y google-chrome-stable sudo rm -fv /etc/yum.repos.d/google-chrome.repo +else + echo "Chrome is missing, right thing." +fi } -setup_brave() { - sudo dnf config-manager addrepo --from-repofile=https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo - sudo dnf config-manager addrepo --from-repofile=https://brave-browser-rpm-beta.s3.brave.com/brave-browser-beta.repo - sudo dnf config-manager addrepo --from-repofile=https://brave-browser-rpm-nightly.s3.brave.com/brave-browser-nightly.repo +remove_brave() { + if command -v brave-browser >/dev/null 2>&1; then + echo "Removing Brave Browser from system..." + sudo killall brave brave-browser brave-browser-beta brave-browser-nightly + sudo dnf remove -y brave-browser brave-browser-beta brave-browser-nightly + sudo rm -fv /etc/yum.repos.d/brave-browser* +else + echo "Brave is missing, right thing." +fi +} + +setup_vivaldi() { +if command -v vivaldi >/dev/null 2>&1; then sudo dnf makecache - sudo dnf in -y brave-browser brave-browser-beta brave-browser-nightly - # Addon for replacing Chrome commands by Brave, allowing seamless transfer. - echo 'brave-browser "$@"' | sudo tee /bin/google-chrome - cp -v /usr/share/applications/brave-browser.desktop /usr/share/applications/google-chrome.desktop + sudo dnf up -y vivaldi-stable +else + echo "[vivaldi] +name=vivaldi +baseurl=https://repo.vivaldi.com/archive/rpm/x86_64 +enabled=1 +gpgcheck=0" | sudo tee /etc/yum.repos.d/vivaldi.repo + sudo dnf in -y vivaldi-stable +fi + # Addon for replacing Chrome commands by Vivaldi, allowing seamless transfer. + sudo rm -fv /bin/google-chrome* + echo 'vivaldi-stable "$@"' | sudo tee /bin/google-chrome + sudo cp -v /usr/share/applications/vivaldi-stable.desktop /usr/share/applications/google-chrome.desktop sudo cp -fv /bin/google-chrome /bin/google-chrome-stable sudo chmod -v +x /bin/google-chrome* } + + setup_font() { # Setup Oxanium Font -gsettings set org.gnome.desktop.interface document-font-name 'SF Pro Display Regular' -gsettings set org.gnome.desktop.interface font-name 'SF Pro Display Regular' -gsettings set org.gnome.desktop.interface monospace-font-name 'JetBrains Mono Regular' -gsettings set org.gnome.desktop.interface text-scaling-factor '1.3' +gsettings set org.gnome.desktop.interface document-font-name 'Comfortaa 13' +gsettings set org.gnome.desktop.interface font-name 'Comfortaa 13' +gsettings set org.gnome.desktop.interface monospace-font-name 'UNISPACE 13' +gsettings set org.gnome.desktop.interface text-scaling-factor '1.35' } @@ -775,39 +818,6 @@ gsettings set org.gnome.desktop.interface text-scaling-factor '1.3' ################################################################################################################# ################################################################################################################# -# show_header -# echo -e "$BCyan------------------------------------------------------------------GENERAL-- -# |$BCyan A | Execute All Jobs (Full Deploy) -a/--auto $BCyan| -# |$BCyan G | Install Gnome Extensions $BCyan| -# |$BCyan W | Install/Update WLCM & RegScript $BCyan| -# |$BCyan R | Register this system -r/--register $BCyan| -# ------------------------------------------------------------------ACTIONS--$Color_Off$BCyan -# |$BIPurple 1 | Update System Packages & Configuration $BCyan| -# |$BIPurple 2 | Update Flatpak Packages & Configurationw $BCyan| -# |$BIPurple 3 | Update Fontpack Configuration $BCyan| -# |$BIPurple 4 | Update Theming Configuration $BCyan| -# |$BIPurple 5 | Update System Hostname $BCyan| -# |$BIPurple 6 | Update Usermod Configuration $BCyan| -# |$BIPurple 7 | Update or Setup Fontpackage to SystemUI $BCyan| -# --------------------------------------------------------------------PACKS--$Color_Off$BCyan -# |$BIYellow V | Install/Update VPN Client $BCyan| -# |$BIYellow K | Install/Update Keyguard Client $BCyan| -# |$BIYellow S | Install/Update Subsonic Client $BCyan| -# |$BIYellow M | Install/Update Gaming Packages $BCyan| -# |$BIYellow B | Install/Update BgGame Packages $BCyan| -# |$BIYellow E | Install/Update Emulators Packages $BCyan| -# |$BIYellow D | Install and Initialize WayDroid OTA (Add H for help only) $BCyan| -# --------------------------------------------------------------KDE-DESKTOP--$Color_Off$BCyan -# |$BBlue K0 | Install Plasma X11 Workspace $BCyan| -# |$BBlue K1 | Install Plasma Mobile Workspace $BCyan| -# |$BBlue K2 | Install XRDP on Plasma Desktop (This enable X11 Support) $BCyan| -# -------------------------------------------------------------------SYSTEM--$Color_Off$BCyan -# |$BRed Q | Reboot System $BCyan| -# ---------------------------------------------------------------------------$Color_Off" -# echo -e -n "$BCyan Procedure to start (CAPS) : " -# read choice -# echo -e $Color_Off - menusizemini="20 70 10" menusizenormal="30 70 22" @@ -827,7 +837,7 @@ choice=$(whiptail --title "Fedora Workstation Setup | v$ver $menumode" --nocance "W" " Install/Update WLCM & RegScript" \ "R" " Register this system (-r/--register)" \ "" "" \ -"Brave" " Install or Update Brave Browser" \ +"Vivaldi" " Install or Update Vivaldi Browser" \ "" "" \ "1" " Update System Packages & Configuration" \ "2" " Update Flatpak Packages & Configuration" \ @@ -837,6 +847,8 @@ choice=$(whiptail --title "Fedora Workstation Setup | v$ver $menumode" --nocance "6" " Update Usermod Configuration" \ "7" " Update or Setup Fontpackage to SystemUI" \ "" "" \ +"SELINUX" " Disable Selinux (Require Reboot)" \ +"" "" \ "V" " Install/Update VPN Client" \ "K" " Install/Update Keyguard Client" \ "S" " Install/Update Subsonic Client" \ @@ -883,14 +895,27 @@ if [[ $choice = 7 ]]; then reload-script fi -if [[ $choice = "Brave" ]]; then - title="Brave Browser Deployment" +if [[ $choice = SELINUX ]]; then + title="Selinux Disabler" show_header header-show wait-3s enable-cmd-mode - exterminate_chrome - setup_brave + selinux_disable + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = "Vivaldi" ]]; then + title="Vivaldi Browser Deployment" + show_header + header-show + wait-3s + enable-cmd-mode + remove_chrome + remove_brave + setup_vivaldi disable-cmd-mode wait-for-keypress reload-script @@ -942,8 +967,8 @@ if [[ $choice = A ]]; then update-system-packages update-personnal-packages install_nautilus - exterminate_chrome - setup_brave + remove_chrome + setup_vivaldi setup_netdata install-vpn-client update-flatpak-packages diff --git a/setup/opensuse b/setup/opensuse new file mode 100755 index 0000000..79e96e1 --- /dev/null +++ b/setup/opensuse @@ -0,0 +1,1285 @@ +#!/usr/bin/env bash + +wget -q --spider https://scr.tyleo.dev + +if [ $? -eq 0 ]; then + echo "> Connected to tyleo.dev domain ok. " +else + echo "> Connect to Internet and Try Again. " + exit +fi + +if command -v whiptail >/dev/null; then + echo "" +else + sudo zypper up -y + sudo zypper in -y newt +fi + +############################################################################################### +# Vivaldi Replacement Sources +# https://downloads.vivaldi.com/stable/vivaldi-stable-7.3.3635.9-1.x86_64.rpm +# Sourced : https://hst.tyleo.dev/rpm/vivaldi-base.rpm +# Repo is added on RPM install, additionaly, add automatic upgrade to latest just after it. +############################################################################################### + +Arg1=$1 + +wget scr.tyleo.dev/setup/opensuse -O ./opensuse &>/dev/null +ver="1.2.1_opensusews_gen4.1" +clear + +# Functions + +update-system-hostname() { +NHostname=$(whiptail --title "Opensuse Workstation Setup | Hostname Updater" --inputbox "Type the new hostname (No Spaces Please)" 8 60 $(hostnamectl hostname --static) 3>&1 1>&2 2>&3) + +if [[ $NHostname = "" ]]|[[ $NHostname = $(hostnamectl hostname --static) ]]; then + echo "No Change Applied." +else + sudo hostnamectl hostname --static "$NHostname" + sudo hostnamectl hostname --pretty "Système $NHostname" +fi + +} + +update-system-packages() { +sudo zypper up -y +} + +get_waydroid_inithelp() { + clear + echo '------------------------------------------------------------------------------------ + Commands to run and URL to register your WayDroid to Google Services Central (GSC) +------------------------------------------------------------------------------------ + +> Run theses commands (order is important) in your shell : + +waydroid session start & +sudo waydroid shell + +> Run this command after starting waydroid shell : + +ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";" +exit + +> Copy the ID printed (only the numbers), then paste on https://www.google.com/android/uncertified website (Google Account must be logged in, automatic within Google Chrome) + +> You can stop session using this commande : + +waydroid session stop +' +} + +open_secure_backup() { + vivaldi-stable --app="https://secure-backup-orion.tyleo.dev" +} + +open_webgallery() { + vivaldi-stable --app="https://webgallery.tyleo.dev/gallery" +} + +open_privategallery() { + vivaldi-stable --app="https://privategallery.tyleo.dev/login" +} + +open_vaultwarden() { + vivaldi-stable --app="https://vaultwarden.tyleo.dev" +} + +get_logo() { + wget "https://res.tyleo.dev/gen15/Gen15-LOGO.png" -O $HOME/logo.png +} + +selinux_disable() { + sed "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config > sudo /etc/selinux/config +} + +packagekit_disable() { + sudo systemctl disable --now packagekit + sudo killall packagekit + sudo killall gnome-software + sudo killall discover + sudo systemctl mask packagekit +} + +setup_waydroid() { + if [ -x /usr/bin/waydroid ]; then + echo "> Waydroid is already installed. No action required, use Waydroid OTA to update it." + else + sudo zypper in -y waydroid + sudo waydroid init -s GAPPS -c "https://ota.waydro.id/system" -v "https://ota.waydro.id/vendor" + get_waydroid_inithelp + fi +} + +inject-wlcm-reg() { + wget scr.tyleo.dev/runner/reg -O /tmp/tyleo_reg + wget scr.tyleo.dev/runner/wlcm-v2 -O /tmp/tyleo_wlcm + echo "/usr/bin/wlcm" > /tmp/wlcm_profile + sudo cp /tmp/tyleo_wlcm /usr/bin/wlcm + sudo cp /tmp/tyleo_reg /usr/bin/reg + sudo chmod +x /usr/bin/reg + sudo chmod +x /usr/bin/wlcm + sudo cp /tmp/wlcm_profile /etc/profile.d/wlcm.sh + sudo chmod +x /etc/profile.d/wlcm.sh +} + +install_nautilus(){ + # sudo zypper install -y dolphin + sudo zypper install -y nautilus +} + +yast_addons() { + sudo zypper install -y yast2-auth-server yast2-aduc yast2-adsi yast2-online-update-configuration yast2-boot-server +} + +opensuse_dep_gmenu() { + if [[ $DESKTOP_SESSION = "gnome" ]]; then + sudo zypper install -y gnome-menus libgnome-menu-3-0 + fi +} + +update-personnal-packages() { +sudo zypper remove -y gnome-text-editor +sudo zypper install -y gedit +sudo zypper install -y yast2-apparmor yast2-online-update-configuration yast2-tune yast2-trans-fr +sudo zypper in -y rsnapshot lshw lshw-gui id3v2 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 discord alsa-firmware sof-firmware +sudo zypper in -y ffmpeg +# YAST Addons +sudo zypper in -y \ +yast2-sudo \ +yast2-nfs-* \ +yast2-vpn \ +yast2-squid \ +yast2-rdp \ +yast2-mail \ +yast2-schema-collection +# Visual Studio Code (RPM Version) +sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc +echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/zypp/repos.d/vscode.repo > /dev/null +sudo zyppey install -y code code-insiders +# YouTube Dler, Updater and Converter +wget hst.tyleo.dev/yt/yt-dlp -O /tmp/yt-dlp +wget hst.tyleo.dev/yt/yt-mp3 -O /tmp/yt-mp3 +wget hst.tyleo.dev/yt/yt-mp4 -O /tmp/yt-mp4 +wget hst.tyleo.dev/yt/yt-update -O /tmp/yt-update +#### SYSTEM INTEGRATION ############## +sudo cp -v /tmp/yt-dlp /bin/yt-dlp +sudo cp -v /tmp/yt-mp3 /bin/yt-mp3 +sudo cp -v /tmp/yt-mp4 /bin/yt-mp4 +sudo cp -v /tmp/yt-update /bin/yt-update +## EXEC +x ########################### +sudo chmod -v +x /bin/yt-dlp +sudo chmod -v +x /bin/yt-mp3 +sudo chmod -v +x /bin/yt-mp4 +sudo chmod -v +x /bin/yt-update +## UPDATE ############################ +sudo /bin/yt-dlp -U +###################################### +# IPConfig4Linux Integration ######### +###################################### +## Get +wget scr.tyleo.dev/runner/ipconfig -O /tmp/ipconfig +## SYSTEM INTEGRATION +sudo cp -v /tmp/ipconfig /bin/ipconfig +## EXEC +x ########################### +sudo chmod +x /bin/ipconfig +###################################### +} + +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 \ +org.ppsspp.PPSSPP \ +net.shadps4.shadPS4 \ +net.rpcs3.RPCS3 \ +net.pcsx2.PCSX2 \ +org.duckstation.DuckStation \ +com.github.Rosalie241.RMG \ +net.kuribo64.melonDS \ +io.mgba.mGBA \ +io.github.ryubing.Ryujinx \ +app.xemu.xemu \ +com.snes9x.Snes9x \ +org.purei.Play \ +org.mamedev.MAME \ +io.github.sameboy.SameBoy \ +com.vba_m.visualboyadvance-m +sudo zypper in -y \ +dolphin-emu +## Blacklisted Emulators (or removed for zypper version) +sudo flatpak remove -y \ +org.DolphinEmu.dolphin-emu +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 \ +io.github.dweymouth.supersonic \ +io.github.ungoogled_software.ungoogled_chromium \ +com.bitwarden.desktop \ +xyz.armcord.ArmCord \ +org.onlyoffice.desktopeditors \ +io.github.revisto.drum-machine \ +io.github.jeffshee.Hidamari \ +io.github.dvlv.boxbuddyrs \ +io.github.flattool.Ignition \ +org.mozilla.Thunderbird \ +org.kde.calligra \ +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 \ +com.visualstudio.code \ +app.zen_browser.zen \ +io.github.spacingbat3.webcord +sudo flatpak update -y +fi +} + +update-flatpak-keyguard() { +sudo wget "https://github.com/AChep/keyguard-app/releases/download/r20250226.1/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 +} + +kde_install_xrdp() { + sudo zypper in -y xrdp plasma-workspace-x11 + echo "> Configuring FirewallD for XRDP Service on 0.0.0.0:3389..." + sudo firewall-cmd --permanent --add-port=3389/tcp + sudo firewall-cmd --reload + echo "> Autorizing XRDP Processes..." + sudo chcon --type=bin_t /usr/sbin/xrdp + sudo chcon --type=bin_t /usr/sbin/xrdp-sesman + echo "> Enabling and Starting XRDP Services Daemons..." + sudo systemctl enable xrdp --now + sudo systemctl enable xrdp-sesman --now +} + +invoke-reg-script() { + wget scr.tyleo.dev/setup/wr -O /tmp/wr + sudo bash /tmp/wr + sudo reg +} + +unreg-reg-script() { + wget scr.tyleo.dev/setup/wr -O /tmp/wr + sudo bash /tmp/wr + sudo reg --cleanup +} + +install-vpn-client() { +# sudo tee /etc/zypp/repos.d/pritunl.repo << EOF +# [pritunl] +# name=Pritunl Repository +# baseurl=https://repo.pritunl.com/stable/yum/opensuse/41/ +# gpgcheck=1 +# enabled=1 +# gpgkey=https://raw.githubusercontent.com/pritunl/pgp/master/pritunl_repo_pub.asc +# EOF +# sudo zypper install pritunl-client-electron -y +sudo rm /etc/zypp/repos.d/pritunl.repo -f +sudo zypper remove -y pritunl-client-electron +} + +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 + +# Applying Current Font Settings +setup_font + +} + +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 "> 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 +#################### +# + +mkdir $HOME/.themes +mkdir -p $HOME/.local/icons + +wget "https://res.tyleo.dev/gtk/mc3d/mc3d-icon.tar.xz" -O /tmp/icontheme.tar.xz +wget "https://res.tyleo.dev/gtk/lavanda/Lavanda-Dark.tar.xz" -O /tmp/gsh-gtktheme-dark.tar.xz +wget "https://res.tyleo.dev/gtk/cursor/McMojave-cursors.tar.xz" -O /tmp/cursors.tar.xz + +# Cursors and Icons are stored in the same directory (System) +sudo tar -xvf /tmp/cursors.tar.xz -C /usr/share/icons # Cursor +sudo tar -xvf /tmp/icontheme.tar.xz -C /usr/share/icons # Icons + +# Cursors and Icons are stored in the same directory (User) +sudo tar -xvf /tmp/cursors.tar.xz -C $HOME/.local/share/icons # Cursor +sudo tar -xvf /tmp/icontheme.tar.xz -C $HOME/.local/share/icons # Icons + +# GTK Theme Extract (System) +sudo tar -xvf /tmp/gsh-gtktheme-dark.tar.xz -C /usr/share/themes # Shell & GUI Themes + +# GTK Theme Extract (User) +sudo tar -xvf /tmp/gsh-gtktheme-dark.tar.xz -C $HOME/.themes # Shell & GUI Themes + +sudo gsettings set org.gnome.desktop.interface gtk-theme "Lavanda-Dark" +sudo gsettings set org.gnome.desktop.wm.preferences theme "Lavanda-Dark" +# sudo gsettings set org.gnome.desktop.interface icon-theme "MacOS-3D-Icons" +gsettings set org.gnome.desktop.interface gtk-theme "Lavanda-Dark" +gsettings set org.gnome.desktop.wm.preferences theme "Lavanda-Dark" +# gsettings set org.gnome.desktop.interface icon-theme "MacOS-3D-Icons" +gsettings set org.gnome.desktop.interface cursor-theme "McMojave-cursors" +dconf write /org/gnome/shell/extensions/user-theme/name "'Lavanda-Dark'" +flatpak override --user --env=GTK_THEME=Lavanda-Dark +sudo flatpak override --env=GTK_THEME=Lavanda-Dark + + +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='Lavanda-Dark'" | sudo tee /etc/environment +echo "export GTK_THEME='Lavanda-Dark'"| 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 +} + +install-gnome-extensions() { +sudo zypper in -y openssl +EXT_LIST=( dash-to-dock@micxgx.gmail.com +user-theme@gnome-shell-extensions.gcampax.github.com +arcmenu@arcmenu.com +trayIconsReloaded@selfmade.pl +extension-list@tu.berry +add-username-toppanel@brendaw.com +gsconnect@andyholmes.github.io +caffeine@patapon.info +drive-menu@gnome-shell-extensions.gcampax.github.com +CoverflowAltTab@palatis.blogspot.com +burn-my-windows@schneegans.github.com +Hide_Activities@shay.shayel.org +quick-settings-tweaks@qwreey +mediacontrols@cliffniff.github.com +tilingshell@ferrarodomenico.com +transparent-top-bar@ftpix.com +no-overview@fthx +compact-quick-settings@gnome-shell-extensions.mariospr.org ) + +for i in "${EXT_LIST[@]}" +do + gnome-extensions uninstall dash-to-panel@jderose9.github.com &>> /dev/null + busctl --user call org.gnome.Shell.Extensions /org/gnome/Shell/Extensions org.gnome.Shell.Extensions InstallRemoteExtension s ${i} & +done +} + +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 "$BIGreen> Starting WS Protocol..., Name : $title" +} + +reload-script() { + chmod +x $PWD/$(basename $0) + bash -c "$PWD/$(basename $0)" && exit +} + +wait-3s() { + echo "> Waiting... Use CTRL+C to cancel procedure." + sleep 0.25 + sleep 0.25 + sleep 0.25 + echo -e " Started !$Color_Off" +} + +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 zypper in -y plasma-mobile + echo "!> Use login screen to switch to Mobile UI. /!\ Mobile UI is Wayland only /!\^" +} + +kde_install_px11() { + sudo zypper in -y plasma-workspace-x11 + echo "!> Use login screen to switch to X11, reboot is required for multi monitors setup." +} + +show_script_version() { + echo -e "$BIWhite Script Version : $ver $Color_Off" + echo -e "$BICyan---------------------------------------------------------------------------" +} + +show_licence(){ + whiptail --title "Licence, parce qu'il en fallait une." --ok-button "OKAY" --msgbox " DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. +---------------------------------------------------------------------------" 20 75 + exit +} + +show_header(){ + 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 [[ $Arg1 = "--version" ]]||[[ $Arg1 = "-v" ]]; then + show_header + show_script_version + exit +fi + +if [[ $Arg1 = "--register" ]]||[[ $Arg1 = "-r" ]]; then + show_header + invoke-reg-script + exit +fi + +if [[ $Arg1 = "--unregister" ]]||[[ $Arg1 = "-u" ]]; then + show_header + unreg-reg-script + exit +fi + +if [[ $Arg1 = "--licence" ]]||[[ $Arg1 = "-l" ]]; then + show_header + show_licence + exit +fi + +if [[ $Arg1 = "--version" ]]||[[ $Arg1 = "-v" ]]; then + show_header + show_script_version + exit +fi + +if [[ $Arg1 = "--help" ]]||[[ $Arg1 = "-h" ]]; then + whiptail --title "Guide de commande rapides" --msgbox " -a/--auto : Déclancher le Deploiement Automatique (Full). + -h/--help : Afficher cette superbe aide faite main. + -r/--register : Enregistrer le système avec le script reg (installe aussi WLCMv2) + -v/--version : Affiche la version du script. Voir git.tyleo.dev pour les détails + -l/--licence : Voir la licence de ce script. Faut croire, qu'il y'en a une." 12 90 + reload +fi + +if [[ $Arg1 = "--auto" ]]||[[ $Arg1 = "-a" ]]; then + show_header + echo "$BICyan > Mode Automatique Invoqué. Lancement de la tâche Full Deploy dans 3 secondes." + sleep 3 + clear + title="Full Deploy/Update/Setup - From CLI (-a/--auto)" + show_header + 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 + inject-wlcm-reg + disable-cmd-mode + wait-for-keypress + reload-script + exit +fi + +remove_chrome() { + if command -v google-chrome >/dev/null 2>&1; then + echo "Removing Google Chrome from system..." + sudo killall chrome google-chrome google-chrome-stable + sudo zypper remove -y google-chrome-stable + sudo rm -fv /etc/zypp/repos.d/google-chrome.repo +else + echo "Chrome is missing, right thing." +fi +} + +remove_brave() { + if command -v brave-browser >/dev/null 2>&1; then + echo "Removing Brave Browser from system..." + sudo killall brave brave-browser brave-browser-beta brave-browser-nightly + sudo zypper remove -y brave-browser brave-browser-beta brave-browser-nightly + sudo rm -fv /etc/zypp/repos.d/brave-browser* +else + echo "Brave is missing, right thing." +fi +} + +setup_nvidia() { + sudo zypper install -y openSUSE-repos-Tumbleweed-NVIDIA + sudo zypper install --force-resolution --auto-agree-with-licenses -y nvidia-common-G06 nvidia-video-G06 nvidia-gl-G06 nvidia-compute-G06 nvidia-compute-utils-G06 +} + +setup_vivaldi() { +if command -v vivaldi >/dev/null 2>&1; then + sudo zypper up -y vivaldi-stable +else + echo "[vivaldi] +name=vivaldi +baseurl=https://repo.vivaldi.com/archive/rpm/x86_64 +enabled=1 +gpgcheck=0" | sudo tee /etc/zypp/repos.d/vivaldi.repo + sudo zypper in -y vivaldi-stable +fi + # Addon for replacing Chrome commands by Vivaldi, allowing seamless transfer. + sudo rm -fv /bin/google-chrome* + echo 'vivaldi-stable "$@"' | sudo tee /bin/google-chrome + sudo cp -v /usr/share/applications/vivaldi-stable.desktop /usr/share/applications/google-chrome.desktop + sudo cp -fv /bin/google-chrome /bin/google-chrome-stable + sudo chmod -v +x /bin/google-chrome* +} + +setup_font() { +# Setup Oxanium Font +gsettings set org.gnome.desktop.interface document-font-name 'Comfortaa 13' +gsettings set org.gnome.desktop.interface font-name 'Comfortaa 13' +gsettings set org.gnome.desktop.interface monospace-font-name 'UNISPACE 13' +gsettings set org.gnome.desktop.interface text-scaling-factor '1.35' + +} + +packagekit_disable +opensuse_dep_gmenu +selinux_disable + +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# +################################################################################################################# + +menusizemini="20 70 10" +menusizenormal="30 70 22" + +if [[ $Arg1 = "--mini" ]]; then + menusize=$menusizemini + menumode="| Mode Mini" +else + menusize=$menusizenormal + menumode="" +fi + +choice=$(whiptail --title "Opensuse Workstation Setup | v$ver $menumode" --nocancel --notags --menu "Choose an option" $menusize \ +"QT" " Quit the Script" \ +"A" " Execute All Jobs (Full Deploy)(-a/--auto)" \ +"" "" \ +"G" " Install Gnome Extensions" \ +"W" " Install/Update WLCM & RegScript" \ +"R" " Register this system (-r/--register)" \ +"" "" \ +"Vivaldi" " Install or Update Vivaldi Browser" \ +"" "" \ +"1" " Update System Packages & Configuration" \ +"2" " Update Flatpak Packages & Configuration" \ +"3" " Update Fontpack Configuration" \ +"4" " Update Theming Configuration" \ +"5" " Update System Hostname" \ +"6" " Update Usermod Configuration" \ +"7" " Update or Setup Fontpackage to SystemUI" \ +"" "" \ +"NVIDIA" " Update or Setup NVIDIA Driver" \ +"" "" \ +"V" " Install/Update VPN Client" \ +"K" " Install/Update Keyguard Client" \ +"S" " Install/Update Subsonic Client" \ +"M" " Install/Update Gaming Packages" \ +"B" " Install/Update BgGame Packages" \ +"E" " Install/Update Emulators Packages" \ +"D" " Install and Initialize WayDroid OTA (Add H for help only)" \ +"K0" " Install Plasma X11 Workspace" \ +"K1" " Install Plasma Mobile Workspace" \ +"K2" " Install XRDP on Plasma Desktop (This enable X11 Support)" \ +"Y1" " Install YaST2 Addons (AD, Auth)" \ +"" "" \ +"SB" " Open Secure Backup" \ +"WB" " Open WebGallery" \ +"PB" " Open PrivateGallery" \ +"VB" " Open Vaultwarden" \ +"DL" " Download Tyleo Logo (Gen15)" \ +"" "" \ +"RN" " Rename System" \ +"" "" \ +"RB" " Reboot Now !" \ +3>&1 1>&2 2>&3) + +if [[ $choice = $null ]]; then + reload-script +fi + +if [[ $choice = "" ]]; then + reload-script +fi + +if [[ $choice = "QT" ]]; then + exit +fi + +if [[ $choice = 7 ]]; then + title="Font deploy" + show_header + header-show + wait-3s + enable-cmd-mode + setup_font + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = Y1 ]]; then + title="YaST Addons for Active Directory LDAP Compatibility" + show_header + header-show + wait-3s + enable-cmd-mode + yast_addons + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = NVIDIA ]]; then + title="NVIDIA Driver Installation" + show_header + header-show + wait-3s + enable-cmd-mode + setup_nvidia + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = "Vivaldi" ]]; then + title="Vivaldi Browser Deployment" + show_header + header-show + wait-3s + enable-cmd-mode + remove_chrome + remove_brave + setup_vivaldi + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = SB ]]; then + open_secure_backup + reload-script +fi + +if [[ $choice = WB ]]; then + open_webgallery + reload-script +fi + +if [[ $choice = PB ]]; then + open_privategallery + reload-script +fi + +if [[ $choice = VB ]]; then + open_vaultwarden + reload-script +fi + +if [[ $choice = DL ]]; then + get_logo + reload-script +fi + +if [[ $choice = RN ]]; then + title="Hostname Update" + show_header + header-show + enable-cmd-mode + update-system-hostname + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = A ]]; then + title="Full Deploy/Update/Setup" + show_header + header-show + wait-3s + enable-cmd-mode + update-system-hostname + update-system-packages + update-personnal-packages + install_nautilus + remove_chrome + setup_vivaldi + install-vpn-client + update-flatpak-packages + update-flatpak-keyguard + update-fonts-package + update-theming-pack + update-usermod + inject-wlcm-reg + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = W ]]; then + title="Registering Script & WLCMv2" + show_header + header-show + wait-3s + enable-cmd-mode + inject-wlcm-reg + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = D ]]; then + title="WayDroid Installation and Ignition (GAPPS)" + show_header + header-show + wait-3s + enable-cmd-mode + setup_waydroid + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = DH ]]; then + title="WayDroid Installation and Ignition (GAPPS)(HELP Only)" + show_header + header-show + wait-3s + enable-cmd-mode + get_waydroid_inithelp + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = R ]]; then + title="Register my system" + show_header + header-show + wait-3s + enable-cmd-mode + invoke-reg-script + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K ]]; then + title="Installation or Update of Keyguard Vaultwarden Client" + show_header + 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" + show_header + 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" + show_header + 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" + show_header + 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" + show_header + 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" + show_header + header-show + wait-3s + enable-cmd-mode + update-flatpak-games-bigs-packages + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K2 ]]; then + title="KDE DE - Remote Desktop Service (XRDP) with X11" + show_header + header-show + wait-3s + enable-cmd-mode + kde_install_xrdp + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K1 ]]; then + title="KDE DE - Mobile UI" + show_header + 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)" + show_header + 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" + show_header + 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" + show_header + 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" + show_header + 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" + show_header + 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)" + show_header + 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" + show_header + header-show + wait-3s + enable-cmd-mode + update-system-packages + update-personnal-packages + install_nautilus + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = G ]]; then + title="Gnome Extensions List" + show_header + header-show + wait-3s + enable-cmd-mode + install-gnome-extensions + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = RB ]] +then + title="Rebooting System" + show_header + 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" + show_header + header-show + wait-3s + reload-script +fi + +$Color_Off diff --git a/setup/debian-rl b/setup/opensuse-dnf similarity index 51% rename from setup/debian-rl rename to setup/opensuse-dnf index feabbaa..58526b1 100755 --- a/setup/debian-rl +++ b/setup/opensuse-dnf @@ -1,22 +1,110 @@ #!/usr/bin/env bash -ver="2.7.0_deb_rhinolinux_git.tyleo.dev" + +wget -q --spider https://scr.tyleo.dev + +if [ $? -eq 0 ]; then + echo "> Connected to tyleo.dev domain ok. " +else + echo "> Connect to Internet and Try Again. " + exit +fi + +############################################################################################### +# Vivaldi Replacement Sources +# https://downloads.vivaldi.com/stable/vivaldi-stable-7.3.3635.9-1.x86_64.rpm +# Sourced : https://hst.tyleo.dev/rpm/vivaldi-base.rpm +# Repo is added on RPM install, additionaly, add automatic upgrade to latest just after it. +############################################################################################### Arg1=$1 -wget scr.tyleo.dev/setup/fedora -O ./fedora &>/dev/null +wget scr.tyleo.dev/setup/opensuse -O ./opensuse &>/dev/null +ver="3.2.7_opensusews_gen4.1_git.tyleo.dev" clear # Functions update-system-hostname() { -echo -n "Set a new Hostname : " -read NHostname -sudo hostnamectl set-hostname --static $NHostname +NHostname=$(whiptail --title "Opensuse Workstation Setup | Hostname Updater" --inputbox "Type the new hostname (No Spaces Please)" 8 60 $(hostnamectl hostname --static) 3>&1 1>&2 2>&3) + +if [[ $NHostname = "" ]]|[[ $NHostname = $(hostnamectl hostname --static) ]]; then + echo "No Change Applied." +else + sudo hostnamectl hostname --static "$NHostname" + sudo hostnamectl hostname --pretty "Système $NHostname" +fi + } update-system-packages() { -sudo apt makecache -sudo apt up -y +sudo dnf makecache +sudo dnf up -y +} + +get_waydroid_inithelp() { + clear + echo '------------------------------------------------------------------------------------ + Commands to run and URL to register your WayDroid to Google Services Central (GSC) +------------------------------------------------------------------------------------ + +> Run theses commands (order is important) in your shell : + +waydroid session start & +sudo waydroid shell + +> Run this command after starting waydroid shell : + +ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";" +exit + +> Copy the ID printed (only the numbers), then paste on https://www.google.com/android/uncertified website (Google Account must be logged in, automatic within Google Chrome) + +> You can stop session using this commande : + +waydroid session stop +' +} + +dnf_opensuse() { + if command -v dnf >/dev/null; then + echo "DNF Already Setup" + else + sudo zypper up -y + sudo zypper in -y dnf + mv -v /etc/yum.repos.d /etc/yum.repos.d.disabled + ln -s /etc/zypp/repos.d /etc/yum.repos.d + sudo dnf makecache + fi +} + +open_secure_backup() { + vivaldi-stable --app="https://secure-backup-orion.tyleo.dev" +} + +open_webgallery() { + vivaldi-stable --app="https://webgallery.tyleo.dev/gallery" +} + +open_privategallery() { + vivaldi-stable --app="https://privategallery.tyleo.dev/login" +} + +open_vaultwarden() { + vivaldi-stable --app="https://vaultwarden.tyleo.dev" +} + +get_logo() { + wget "https://res.tyleo.dev/gen15/Gen15-LOGO.png" -O $HOME/logo.png +} + +setup_waydroid() { + if [ -x /usr/bin/waydroid ]; then + echo "> Waydroid is already installed. No action required, use Waydroid OTA to update it." + else + sudo dnf in -y waydroid + sudo waydroid init -s GAPPS -c "https://ota.waydro.id/system" -v "https://ota.waydro.id/vendor" + get_waydroid_inithelp + fi } inject-wlcm-reg() { @@ -31,19 +119,50 @@ inject-wlcm-reg() { sudo chmod +x /etc/profile.d/wlcm.sh } +install_nautilus(){ + sudo dnf makecache + # sudo dnf install -y dolphin + sudo dnf install -y nautilus +} + update-personnal-packages() { -sudo apt update -sudo apt upgrade -y -wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O /tmp/chrome_latest.deb -sudo apt update -sudo apt install -y /tmp/chrome_latest.deb -rm -f /tmp/chrome_latest.deb -sudo apt remove -y gnome-text-editor -sudo apt install -y gedit -sudo apt install -y "https://hst.tyleo.dev/packages/rpm/ocs-url_fc20.rpm" -sudo apt install -y nala lshw 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 distrobox docker.io docker-compose gnome-software -sudo apt install -y gnome-tweaks -sudo apt install -y ffmpeg +sudo dnf remove -y gnome-text-editor +sudo dnf install -y gedit +sudo dnf in -y --best --allowerasing rsnapshot lshw lshw-gui id3v2 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 dnf in -y gnome-tweaks +sudo dnf in -y ffmpeg +# Visual Studio Code (RPM Version) +sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc +echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null +sudo dnf check-update +sudo dnf install code code-insiders -y +# YouTube Dler, Updater and Converter +wget hst.tyleo.dev/yt/yt-dlp -O /tmp/yt-dlp +wget hst.tyleo.dev/yt/yt-mp3 -O /tmp/yt-mp3 +wget hst.tyleo.dev/yt/yt-mp4 -O /tmp/yt-mp4 +wget hst.tyleo.dev/yt/yt-update -O /tmp/yt-update +#### SYSTEM INTEGRATION ############## +sudo cp -v /tmp/yt-dlp /bin/yt-dlp +sudo cp -v /tmp/yt-mp3 /bin/yt-mp3 +sudo cp -v /tmp/yt-mp4 /bin/yt-mp4 +sudo cp -v /tmp/yt-update /bin/yt-update +## EXEC +x ########################### +sudo chmod -v +x /bin/yt-dlp +sudo chmod -v +x /bin/yt-mp3 +sudo chmod -v +x /bin/yt-mp4 +sudo chmod -v +x /bin/yt-update +## UPDATE ############################ +sudo /bin/yt-dlp -U +###################################### +# IPConfig4Linux Integration ######### +###################################### +## Get +wget scr.tyleo.dev/runner/ipconfig -O /tmp/ipconfig +## SYSTEM INTEGRATION +sudo cp -v /tmp/ipconfig /bin/ipconfig +## EXEC +x ########################### +sudo chmod +x /bin/ipconfig +###################################### } update-flatpak-games-bigs-packages() { @@ -61,19 +180,26 @@ 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.shadps4.shadPS4 \ +net.rpcs3.RPCS3 \ net.pcsx2.PCSX2 \ org.duckstation.DuckStation \ +com.github.Rosalie241.RMG \ +net.kuribo64.melonDS \ +io.mgba.mGBA \ +io.github.ryubing.Ryujinx \ app.xemu.xemu \ com.snes9x.Snes9x \ org.purei.Play \ org.mamedev.MAME \ io.github.sameboy.SameBoy \ com.vba_m.visualboyadvance-m +sudo dnf in -y \ +dolphin-emu +## Blacklisted Emulators (or removed for DNF version) +sudo flatpak remove -y \ +org.DolphinEmu.dolphin-emu sudo flatpak update -y fi } @@ -121,11 +247,12 @@ io.github.dweymouth.supersonic \ io.github.ungoogled_software.ungoogled_chromium \ com.bitwarden.desktop \ xyz.armcord.ArmCord \ +org.onlyoffice.desktopeditors \ io.github.revisto.drum-machine \ io.github.jeffshee.Hidamari \ io.github.dvlv.boxbuddyrs \ io.github.flattool.Ignition \ -com.visualstudio.code \ +org.mozilla.Thunderbird \ org.kde.calligra \ com.hunterwittenborn.Celeste \ io.github.giantpinkrobots.varia \ @@ -192,15 +319,15 @@ io.github.kukuruzka165.materialgram \ com.usebottles.bottles # Removing Blacklisted Packs sudo flatpak remove -y \ +com.visualstudio.code \ 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 wget "https://github.com/AChep/keyguard-app/releases/download/r20250226.1/Keyguard.flatpak" -O /tmp/keyguard.flatpak sudo flatpak install "/tmp/keyguard.flatpak" -y } @@ -209,8 +336,14 @@ sudo wget "https://hst.tyleo.dev/flatpaks/sublime-music.flatpak" -O /tmp/sublime sudo flatpak install "/tmp/sublime-music.flatpak" -y } -install_xrdp() { - sudo apt install xrdp xorgxrdp -y +kde_install_xrdp() { + sudo dnf in xrdp plasma-workspace-x11 -y + echo "> Configuring FirewallD for XRDP Service on 0.0.0.0:3389..." + sudo firewall-cmd --permanent --add-port=3389/tcp + sudo firewall-cmd --reload + echo "> Autorizing XRDP Processes..." + sudo chcon --type=bin_t /usr/sbin/xrdp + sudo chcon --type=bin_t /usr/sbin/xrdp-sesman echo "> Enabling and Starting XRDP Services Daemons..." sudo systemctl enable xrdp --now sudo systemctl enable xrdp-sesman --now @@ -229,15 +362,17 @@ unreg-reg-script() { } install-vpn-client() { -sudo tee /etc/apt/sources.list.d/pritunl.list << EOF -deb https://repo.pritunl.com/stable/apt noble main -EOF - -sudo apt --assume-yes install gnupg -gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A -gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A | sudo tee /etc/apt/trusted.gpg.d/pritunl.asc -sudo apt update -sudo apt install pritunl-client-electron -y +# sudo tee /etc/yum.repos.d/pritunl.repo << EOF +# [pritunl] +# name=Pritunl Repository +# baseurl=https://repo.pritunl.com/stable/yum/opensuse/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 +sudo rm /etc/yum.repos.d/pritunl.repo -f +sudo dnf remove pritunl-client-electron -y } update-fonts-package() { @@ -256,6 +391,10 @@ sudo tar -xvf $TEMP_FONT_PACKFILE -C $FONTDIR # Refreshing FC Cache sudo fc-cache -r + +# Applying Current Font Settings +setup_font + } update-theming-pack() { @@ -267,89 +406,83 @@ gsettings set org.gnome.mutter check-alive-timeout 240000 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 +#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 +#################### +# 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 +wget "https://res.tyleo.dev/gtk/mc3d/mc3d-icon.tar.xz" -O /tmp/icontheme.tar.xz +wget "https://res.tyleo.dev/gtk/lavanda/Lavanda-Dark.tar.xz" -O /tmp/gsh-gtktheme-dark.tar.xz +wget "https://res.tyleo.dev/gtk/cursor/McMojave-cursors.tar.xz" -O /tmp/cursors.tar.xz -sudo tar -xvf /tmp/icontheme.tar.xz -C /usr/share/icons -sudo tar -xvf /tmp/gtktheme.tar.xz -C /usr/share/themes +# Cursors and Icons are stored in the same directory (System) +sudo tar -xvf /tmp/cursors.tar.xz -C /usr/share/icons # Cursor +sudo tar -xvf /tmp/icontheme.tar.xz -C /usr/share/icons # Icons -sudo tar -xvf /tmp/icontheme.tar.xz -C $HOME/.local/share/icons -sudo tar -xvf /tmp/gtktheme.tar.xz -C $HOME/.themes +# Cursors and Icons are stored in the same directory (User) +sudo tar -xvf /tmp/cursors.tar.xz -C $HOME/.local/share/icons # Cursor +sudo tar -xvf /tmp/icontheme.tar.xz -C $HOME/.local/share/icons # Icons -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 +# GTK Theme Extract (System) +sudo tar -xvf /tmp/gsh-gtktheme-dark.tar.xz -C /usr/share/themes # Shell & GUI Themes + +# GTK Theme Extract (User) +sudo tar -xvf /tmp/gsh-gtktheme-dark.tar.xz -C $HOME/.themes # Shell & GUI Themes + +sudo gsettings set org.gnome.desktop.interface gtk-theme "Lavanda-Dark" +sudo gsettings set org.gnome.desktop.wm.preferences theme "Lavanda-Dark" +sudo gsettings set org.gnome.desktop.interface icon-theme "MacOS-3D-Icons" +gsettings set org.gnome.desktop.interface gtk-theme "Lavanda-Dark" +gsettings set org.gnome.desktop.wm.preferences theme "Lavanda-Dark" +gsettings set org.gnome.desktop.interface icon-theme "MacOS-3D-Icons" +gsettings set org.gnome.desktop.interface cursor-theme "McMojave-cursors" +dconf write /org/gnome/shell/extensions/user-theme/name "'Lavanda-Dark'" +flatpak override --user --env=GTK_THEME=Lavanda-Dark +sudo flatpak override --env=GTK_THEME=Lavanda-Dark flatpak override --user --filesystem=~/.themes @@ -358,29 +491,50 @@ 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 +echo "GTK_THEME='Lavanda-Dark'" | sudo tee /etc/environment +echo "export GTK_THEME='Lavanda-Dark'"| sudo tee -a /etc/environment } update-usermod() { -sudo apt install -y fish +sudo dnf in -y fish sudo usermod --shell /usr/bin/fish root sudo usermod --shell /usr/bin/fish $USER } -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/ +install-gnome-extensions() { +sudo dnf in openssl -y +EXT_LIST=( dash-to-dock@micxgx.gmail.com +user-theme@gnome-shell-extensions.gcampax.github.com +arcmenu@arcmenu.com +trayIconsReloaded@selfmade.pl +extension-list@tu.berry +add-username-toppanel@brendaw.com +gsconnect@andyholmes.github.io +caffeine@patapon.info +drive-menu@gnome-shell-extensions.gcampax.github.com +CoverflowAltTab@palatis.blogspot.com +burn-my-windows@schneegans.github.com +Hide_Activities@shay.shayel.org +quick-settings-tweaks@qwreey +mediacontrols@cliffniff.github.com +tilingshell@ferrarodomenico.com +transparent-top-bar@ftpix.com +no-overview@fthx +compact-quick-settings@gnome-shell-extensions.mariospr.org ) + +for i in "${EXT_LIST[@]}" +do + gnome-extensions uninstall dash-to-panel@jderose9.github.com &>> /dev/null + busctl --user call org.gnome.Shell.Extensions /org/gnome/Shell/Extensions org.gnome.Shell.Extensions InstallRemoteExtension s ${i} & +done } execute-reboot() { sudo /usr/sbin/reboot } -## FEDORA BASEOS FILES -osrel="/etc/fedora-release" +## opensuse BASEOS FILES +osrel="/etc/opensuse-release" ###################### ## COLORS @@ -469,15 +623,10 @@ reload-script() { } wait-3s() { - echo "> Waiting 3 Seconds... Use CTRL+C to cancel procedure." - sleep 1 - header-show - echo "> Waiting 2 Seconds... Use CTRL+C to cancel procedure." - sleep 1 - header-show - echo "> Waiting 1 Seconds... Use CTRL+C to cancel procedure." - sleep 1 - header-show + echo "> Waiting... Use CTRL+C to cancel procedure." + sleep 0.25 + sleep 0.25 + sleep 0.25 echo -e " Started !$Color_Off" } @@ -495,15 +644,23 @@ 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." +} + show_script_version() { echo -e "$BIWhite Script Version : $ver $Color_Off" echo -e "$BICyan---------------------------------------------------------------------------" } show_licence(){ - clear - show_header - echo " DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + whiptail --title "Licence, parce qu'il en fallait une." --ok-button "OKAY" --msgbox " DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar @@ -515,8 +672,8 @@ show_licence(){ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. You just DO WHAT THE FUCK YOU WANT TO." - echo -e "$BICyan---------------------------------------------------------------------------" + 0. You just DO WHAT THE FUCK YOU WANT TO. +---------------------------------------------------------------------------" 20 75 exit } @@ -560,16 +717,12 @@ if [[ $Arg1 = "--version" ]]||[[ $Arg1 = "-v" ]]; then fi if [[ $Arg1 = "--help" ]]||[[ $Arg1 = "-h" ]]; then - show_header - echo -e "$BIYellow Guide du Débutant, non je déconne, je suis un expert. ------------------------------------------------------------------------------------ - -a/--auto : Déclancher le Deploiement Automatique (Full). - -h/--help : Afficher cette superbe aide faite main. + whiptail --title "Guide de commande rapides" --msgbox " -a/--auto : Déclancher le Deploiement Automatique (Full). + -h/--help : Afficher cette superbe aide faite main. -r/--register : Enregistrer le système avec le script reg (installe aussi WLCMv2) - -v/--version : Affiche la version du script. Voir git.tyleo.dev pour les détails - -l/--licence : Voir la licence de ce script. Faut croire, qu'il y'en a une. ------------------------------------------------------------------------------------$Color_Off" - exit + -v/--version : Affiche la version du script. Voir git.tyleo.dev pour les détails + -l/--licence : Voir la licence de ce script. Faut croire, qu'il y'en a une." 12 90 + reload fi if [[ $Arg1 = "--auto" ]]||[[ $Arg1 = "-a" ]]; then @@ -578,6 +731,7 @@ if [[ $Arg1 = "--auto" ]]||[[ $Arg1 = "-a" ]]; then sleep 3 clear title="Full Deploy/Update/Setup - From CLI (-a/--auto)" + show_header header-show wait-3s enable-cmd-mode @@ -597,6 +751,56 @@ if [[ $Arg1 = "--auto" ]]||[[ $Arg1 = "-a" ]]; then exit fi +remove_chrome() { + if command -v google-chrome >/dev/null 2>&1; then + echo "Removing Google Chrome from system..." + sudo killall chrome google-chrome google-chrome-stable + sudo dnf remove -y google-chrome-stable + sudo rm -fv /etc/yum.repos.d/google-chrome.repo +else + echo "Chrome is missing, right thing." +fi +} + +remove_brave() { + if command -v brave-browser >/dev/null 2>&1; then + echo "Removing Brave Browser from system..." + sudo killall brave brave-browser brave-browser-beta brave-browser-nightly + sudo dnf remove -y brave-browser brave-browser-beta brave-browser-nightly + sudo rm -fv /etc/yum.repos.d/brave-browser* +else + echo "Brave is missing, right thing." +fi +} + +setup_vivaldi() { +if command -v vivaldi >/dev/null 2>&1; then + sudo dnf makecache + sudo dnf up -y vivaldi-stable +else + sudo dnf in -y "https://hst.tyleo.dev/rpm/vivaldi-base.rpm" + sudo dnf makecache + sudo dnf up -y vivaldi-stable +fi + # Addon for replacing Chrome commands by Vivaldi, allowing seamless transfer. + sudo rm -fv /bin/google-chrome* + echo 'vivaldi-stable "$@"' | sudo tee /bin/google-chrome + sudo cp -v /usr/share/applications/vivaldi-stable.desktop /usr/share/applications/google-chrome.desktop + sudo cp -fv /bin/google-chrome /bin/google-chrome-stable + sudo chmod -v +x /bin/google-chrome* +} + +setup_font() { +# Setup Oxanium Font +gsettings set org.gnome.desktop.interface document-font-name 'Comfortaa 13' +gsettings set org.gnome.desktop.interface font-name 'Comfortaa 13' +gsettings set org.gnome.desktop.interface monospace-font-name 'UNISPACE 13' +gsettings set org.gnome.desktop.interface text-scaling-factor '1.35' + +} + +dnf_opensuse + ################################################################################################################# ################################################################################################################# ################################################################################################################# @@ -604,48 +808,144 @@ fi ################################################################################################################# ################################################################################################################# -show_header -echo -e "$BCyan------------------------------------------------------------------GENERAL-- -|$BCyan A | Execute All Jobs (Full Deploy $BCyan| -|$BCyan G | Show Gnome Extensions URLs $BCyan| -|$BCyan W | Install/Update WLCM & RegScript $BCyan| -|$BCyan R | Register this system $BCyan| -------------------------------------------------------------------ACTIONS--$Color_Off$BCyan -|$BIPurple 1 | Update System Packages & Configuration $BCyan| -|$BIPurple 2 | Update Flatpak Packages & Configurationw $BCyan| -|$BIPurple 3 | Update Fontpack Configuration $BCyan| -|$BIPurple 4 | Update Theming Configuration $BCyan| -|$BIPurple 5 | Update System Hostname $BCyan| -|$BIPurple 6 | Update Usermod Configuration $BCyan| ---------------------------------------------------------------------PACKS--$Color_Off$BCyan -|$BIYellow V | Install/Update VPN Client $BCyan| -|$BIYellow K | Install/Update Keyguard Client $BCyan| -|$BIYellow S | Install/Update Subsonic Client $BCyan| -|$BIYellow M | Install/Update Gaming Packages $BCyan| -|$BIYellow B | Install/Update BgGame Packages $BCyan| -|$BIYellow E | Install/Update Emulators Packages $BCyan| ---------------------------------------------------------------KDE-DESKTOP--$Color_Off$BCyan -|$BBlue K2 | Install XRDP Service $BCyan| --------------------------------------------------------------------SYSTEM--$Color_Off$BCyan -|$BRed Q | Reboot System $BCyan| ----------------------------------------------------------------------------$Color_Off" -echo -e -n "$BCyan Procedure to start (CAPS) : " -read choice -echo -e $Color_Off +menusizemini="20 70 10" +menusizenormal="30 70 22" + +if [[ $Arg1 = "--mini" ]]; then + menusize=$menusizemini + menumode="| Mode Mini" +else + menusize=$menusizenormal + menumode="" +fi + +choice=$(whiptail --title "Opensuse Workstation Setup | v$ver $menumode" --nocancel --notags --menu "Choose an option" $menusize \ +"QT" " Quit the Script" \ +"A" " Execute All Jobs (Full Deploy)(-a/--auto)" \ +"" "" \ +"G" " Install Gnome Extensions" \ +"W" " Install/Update WLCM & RegScript" \ +"R" " Register this system (-r/--register)" \ +"" "" \ +"Vivaldi" " Install or Update Vivaldi Browser" \ +"" "" \ +"1" " Update System Packages & Configuration" \ +"2" " Update Flatpak Packages & Configuration" \ +"3" " Update Fontpack Configuration" \ +"4" " Update Theming Configuration" \ +"5" " Update System Hostname" \ +"6" " Update Usermod Configuration" \ +"7" " Update or Setup Fontpackage to SystemUI" \ +"" "" \ +"V" " Install/Update VPN Client" \ +"K" " Install/Update Keyguard Client" \ +"S" " Install/Update Subsonic Client" \ +"M" " Install/Update Gaming Packages" \ +"B" " Install/Update BgGame Packages" \ +"E" " Install/Update Emulators Packages" \ +"D" " Install and Initialize WayDroid OTA (Add H for help only)" \ +"K0" " Install Plasma X11 Workspace" \ +"K1" " Install Plasma Mobile Workspace" \ +"K2" " Install XRDP on Plasma Desktop (This enable X11 Support)" \ +"" "" \ +"SB" " Open Secure Backup" \ +"WB" " Open WebGallery" \ +"PB" " Open PrivateGallery" \ +"VB" " Open Vaultwarden" \ +"DL" " Download Tyleo Logo (Gen15)" \ +"" "" \ +"RN" " Rename System" \ +"" "" \ +"RB" " Reboot Now !" \ +3>&1 1>&2 2>&3) if [[ $choice = $null ]]; then reload-script fi +if [[ $choice = "" ]]; then + reload-script +fi + +if [[ $choice = "QT" ]]; then + exit +fi + +if [[ $choice = 7 ]]; then + title="Font deploy" + show_header + header-show + wait-3s + enable-cmd-mode + setup_font + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = "Vivaldi" ]]; then + title="Vivaldi Browser Deployment" + show_header + header-show + wait-3s + enable-cmd-mode + remove_chrome + remove_brave + setup_vivaldi + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = SB ]]; then + open_secure_backup + reload-script +fi + +if [[ $choice = WB ]]; then + open_webgallery + reload-script +fi + +if [[ $choice = PB ]]; then + open_privategallery + reload-script +fi + +if [[ $choice = VB ]]; then + open_vaultwarden + reload-script +fi + +if [[ $choice = DL ]]; then + get_logo + reload-script +fi + +if [[ $choice = RN ]]; then + title="Hostname Update" + show_header + header-show + enable-cmd-mode + update-system-hostname + disable-cmd-mode + wait-for-keypress + reload-script +fi + if [[ $choice = A ]]; then title="Full Deploy/Update/Setup" + show_header header-show wait-3s enable-cmd-mode update-system-hostname update-system-packages update-personnal-packages -# install-vpn-client + install_nautilus + remove_chrome + setup_vivaldi + install-vpn-client update-flatpak-packages update-flatpak-keyguard update-fonts-package @@ -659,6 +959,7 @@ fi if [[ $choice = W ]]; then title="Registering Script & WLCMv2" + show_header header-show wait-3s enable-cmd-mode @@ -668,8 +969,33 @@ if [[ $choice = W ]]; then reload-script fi +if [[ $choice = D ]]; then + title="WayDroid Installation and Ignition (GAPPS)" + show_header + header-show + wait-3s + enable-cmd-mode + setup_waydroid + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = DH ]]; then + title="WayDroid Installation and Ignition (GAPPS)(HELP Only)" + show_header + header-show + wait-3s + enable-cmd-mode + get_waydroid_inithelp + disable-cmd-mode + wait-for-keypress + reload-script +fi + if [[ $choice = R ]]; then title="Register my system" + show_header header-show wait-3s enable-cmd-mode @@ -681,6 +1007,7 @@ fi if [[ $choice = K ]]; then title="Installation or Update of Keyguard Vaultwarden Client" + show_header header-show wait-3s enable-cmd-mode @@ -692,6 +1019,7 @@ fi if [[ $choice = E ]]; then title="Installation or Update of Emulators" + show_header header-show wait-3s enable-cmd-mode @@ -703,6 +1031,7 @@ fi if [[ $choice = S ]]; then title="Installation or Update of Subsonic Music Client" + show_header header-show wait-3s enable-cmd-mode @@ -714,6 +1043,7 @@ fi if [[ $choice = 2 ]]; then title="Flatpak Updates Packages & Configuration" + show_header header-show wait-3s enable-cmd-mode @@ -725,6 +1055,7 @@ fi if [[ $choice = M ]]; then title="Games - Flatpak Updates Packages & Configuration" + show_header header-show wait-3s enable-cmd-mode @@ -736,6 +1067,7 @@ fi if [[ $choice = B ]]; then title="Big Games - Flatpak Updates Packages & Configuration" + show_header header-show wait-3s enable-cmd-mode @@ -746,11 +1078,36 @@ if [[ $choice = B ]]; then fi if [[ $choice = K2 ]]; then - title="Service - Remote Desktop Service (XRDP) with X11" + title="KDE DE - Remote Desktop Service (XRDP) with X11" + show_header header-show wait-3s enable-cmd-mode - install_xrdp + kde_install_xrdp + disable-cmd-mode + wait-for-keypress + reload-script +fi + +if [[ $choice = K1 ]]; then + title="KDE DE - Mobile UI" + show_header + 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)" + show_header + header-show + wait-3s + enable-cmd-mode + kde_install_px11 disable-cmd-mode wait-for-keypress reload-script @@ -758,6 +1115,7 @@ fi if [[ $choice = 3 ]]; then title="Fontpack Updates and Installation" + show_header header-show wait-3s enable-cmd-mode @@ -769,6 +1127,7 @@ fi if [[ $choice = 4 ]]; then title="Theming for Gnome Desktop Updates and Installation" + show_header header-show wait-3s enable-cmd-mode @@ -780,6 +1139,7 @@ fi if [[ $choice = 5 ]]; then title="System Hostname Configuration" + show_header header-show wait-3s enable-cmd-mode @@ -791,6 +1151,7 @@ fi if [[ $choice = 6 ]]; then title="User Modifications Configurations" + show_header header-show wait-3s enable-cmd-mode @@ -802,6 +1163,7 @@ fi if [[ $choice = V ]]; then title="VPN Client Installation or Updates (Pritunl Client Electron)" + show_header header-show wait-3s enable-cmd-mode @@ -813,11 +1175,13 @@ fi if [[ $choice = 1 ]]; then title="System Packages Updates and Configurations" + show_header header-show wait-3s enable-cmd-mode update-system-packages update-personnal-packages + install_nautilus disable-cmd-mode wait-for-keypress reload-script @@ -825,18 +1189,20 @@ fi if [[ $choice = G ]]; then title="Gnome Extensions List" + show_header header-show wait-3s enable-cmd-mode - show-gnome-extensions-list + install-gnome-extensions disable-cmd-mode wait-for-keypress reload-script fi -if [[ $choice = Q ]] +if [[ $choice = RB ]] then title="Rebooting System" + show_header header-show wait-3s enable-cmd-mode @@ -850,6 +1216,7 @@ fi if [[ $choice = T ]] then title="Test Procedure" + show_header header-show wait-3s reload-script