From 317240c66f83c4d353416d0315f2bdd004712cab Mon Sep 17 00:00:00 2001 From: jschantli Date: Wed, 7 Oct 2026 19:17:33 -0700 Subject: [PATCH] Add Work Mode to install everything minus gaming packages and kernels --- postinstall.sh | 100 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 69 insertions(+), 31 deletions(-) diff --git a/postinstall.sh b/postinstall.sh index 25e63d3..493e81d 100644 --- a/postinstall.sh +++ b/postinstall.sh @@ -660,36 +660,70 @@ show_menu() { echo "====================================================" echo "1. Install Everything (Recommended)" echo "2. Install Everything (No CachyOS Kernel)" - echo "3. Optimize DNF" - echo "4. Install Fonts" - echo "5. Add Repositories (RPM Fusion)" - echo "6. Install Software (DNF & Flatpak)" - echo "7. Install CachyOS Kernel" - echo "8. Install LinuxToys" - echo "9. Install Shell Environment (Starship, MyBash)" - echo "10. Install GNOME Extensions" - echo "11. Install Discord" - echo "12. Install 1Password" - echo "13. Install Private Internet Access (PIA)" - echo "14. Install Topgrade" - echo "15. Install Antigravity App, IDE, and CLI" - echo "16. Install P03 Kernel (experimental, not in Install Everything)" + echo "3. Install Everything for Work (No Gaming, No Custom Kernels)" + echo "4. Optimize DNF" + echo "5. Install Fonts" + echo "6. Add Repositories (RPM Fusion)" + echo "7. Install Software (DNF & Flatpak)" + echo "8. Install CachyOS Kernel" + echo "9. Install LinuxToys" + echo "10. Install Shell Environment (Starship, MyBash)" + echo "11. Install GNOME Extensions" + echo "12. Install Discord" + echo "13. Install 1Password" + echo "14. Install Private Internet Access (PIA)" + echo "15. Install Topgrade" + echo "16. Install Antigravity App, IDE, and CLI" + echo "17. Install P03 Kernel (experimental, not in Install Everything)" echo "0. Exit" echo "====================================================" - read -p "Enter your choice [0-16]: " choice + read -p "Enter your choice [0-17]: " choice +} + +enable_work_mode() { + log_info "Work Mode selected: Removing gaming-related packages from installation list..." + + local new_dnf=() + for p in "${DNF_PACKAGES[@]}"; do + if [[ "$p" != "steam" && "$p" != "lutris" ]]; then + new_dnf+=("$p") + fi + done + DNF_PACKAGES=("${new_dnf[@]}") + + local new_flatpak=() + for p in "${FLATPAK_PACKAGES[@]}"; do + if [[ "$p" != "com.usebottles.bottles" && "$p" != "io.github.fastrizwaan.WineZGUI" && "$p" != "com.vysp3r.ProtonPlus" && "$p" != "io.github.kolunmi.Bazaar" ]]; then + new_flatpak+=("$p") + fi + done + FLATPAK_PACKAGES=("${new_flatpak[@]}") + + local new_ext=() + for p in "${GNOME_EXTENSIONS[@]}"; do + if [[ "$p" != "add-to-steam@pupper.space" && "$p" != "gamemodeshellextension@trsnaqe.com" && "$p" != "bazaar-integration@kolunmi.github.io" ]]; then + new_ext+=("$p") + fi + done + GNOME_EXTENSIONS=("${new_ext[@]}") } # Run every installation step. Pass "skip_kernel" to leave out CachyOS. run_all() { + if [ "$1" = "work_mode" ]; then + enable_work_mode + fi optimize_dnf install_fonts install_repos install_software - install_discord + if [ "$1" != "work_mode" ]; then + install_discord + fi install_1password install_PIA install_topgrade - if [ "$1" != "skip_kernel" ]; then + if [ "$1" != "skip_kernel" ] && [ "$1" != "work_mode" ]; then install_cachyos fi install_linuxtoys @@ -735,20 +769,24 @@ while true; do run_all skip_kernel break ;; - 3) optimize_dnf ;; - 4) install_fonts ;; - 5) install_repos ;; - 6) install_software ;; - 7) install_cachyos ;; - 8) install_linuxtoys ;; - 9) install_shell_env ;; - 10) install_gnome_extensions ;; - 11) install_discord ;; - 12) install_1password ;; - 13) install_PIA ;; - 14) install_topgrade ;; - 15) install_antigravity ;; - 16) install_p03 ;; + 3) + run_all work_mode + break + ;; + 4) optimize_dnf ;; + 5) install_fonts ;; + 6) install_repos ;; + 7) install_software ;; + 8) install_cachyos ;; + 9) install_linuxtoys ;; + 10) install_shell_env ;; + 11) install_gnome_extensions ;; + 12) install_discord ;; + 13) install_1password ;; + 14) install_PIA ;; + 15) install_topgrade ;; + 16) install_antigravity ;; + 17) install_p03 ;; 0) log_info "Exiting..." print_summary