setup: add browser/IDE modules and lynx to core packages

New optional modules (browsers): chromium, firefox, zen-browser,
nyxt, librewolf, min-browser.
New optional modules (editors/IDEs): vscodium, zed, geany,
codeblocks, kate.
Add lynx to default core packages.

All 11 modules wired into both install-modules.sh and tui-install.sh
(the archiso-embedded installer) with consistent count_steps,
checklist, summary, and dispatch entries. Every module path verified
to exist; all scripts pass bash -n syntax check.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
The_miro 2026-05-18 14:23:43 +02:00
parent ecd272cdce
commit d05eb3ad89
14 changed files with 126 additions and 0 deletions

View File

@ -130,6 +130,17 @@ count_steps() {
[[ "$sel" == *"python"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"chromium"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"firefox-browser"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"zen-browser"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"nyxt"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"librewolf"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"min-browser"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"vscodium"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"zed-ide"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$sel" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 ))
}
[[ $EUID -eq 0 ]] && die "Run as your normal user (not root)."
@ -203,6 +214,19 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \
"python" "Python tools pyright · pipx · pynvim" off \
"zfs" "ZFS zfs-dkms kernel module" off \
"wprs" "WPRS wprs-git (AUR)" off \
\
"chromium" "Chromium open-source browser (official)" off \
"firefox-browser" "Firefox Mozilla browser (official)" off \
"zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \
"nyxt" "Nyxt keyboard-driven browser (AUR)" off \
"librewolf" "LibreWolf hardened Firefox fork (AUR)" off \
"min-browser" "Min minimal Electron browser (AUR)" off \
\
"vscodium" "VSCodium telemetry-free VS Code (AUR)" off \
"zed-ide" "Zed high-performance Rust IDE (official)" off \
"geany" "Geany lightweight IDE + plugins (official)" off \
"codeblocks" "Code::Blocks C/C++ IDE (official)" off \
"kate" "Kate KDE advanced text editor (official)" off \
3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; }
[[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; }
@ -254,6 +278,17 @@ SUMMARY=""
[[ "$SELECTED" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n"
[[ "$SELECTED" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n"
[[ "$SELECTED" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n"
[[ "$SELECTED" == *"chromium"* ]] && SUMMARY+=" ✦ Chromium\n"
[[ "$SELECTED" == *"firefox-browser"* ]] && SUMMARY+=" ✦ Firefox\n"
[[ "$SELECTED" == *"zen-browser"* ]] && SUMMARY+=" ✦ Zen Browser\n"
[[ "$SELECTED" == *"nyxt"* ]] && SUMMARY+=" ✦ Nyxt\n"
[[ "$SELECTED" == *"librewolf"* ]] && SUMMARY+=" ✦ LibreWolf\n"
[[ "$SELECTED" == *"min-browser"* ]] && SUMMARY+=" ✦ Min Browser\n"
[[ "$SELECTED" == *"vscodium"* ]] && SUMMARY+=" ✦ VSCodium\n"
[[ "$SELECTED" == *"zed-ide"* ]] && SUMMARY+=" ✦ Zed IDE\n"
[[ "$SELECTED" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n"
[[ "$SELECTED" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n"
[[ "$SELECTED" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n"
dialog --backtitle "$BACKTITLE" \
--title " Confirm " \
@ -309,6 +344,17 @@ DE_DIR="$MODULES/Desktop-Environments"
[[ "$SELECTED" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh"
[[ "$SELECTED" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh"
[[ "$SELECTED" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh"
[[ "$SELECTED" == *"chromium"* ]] && run_module "Chromium" "$APPS/chromium.sh"
[[ "$SELECTED" == *"firefox-browser"* ]] && run_module "Firefox" "$APPS/firefox.sh"
[[ "$SELECTED" == *"zen-browser"* ]] && run_module "Zen Browser" "$APPS/zen-browser.sh"
[[ "$SELECTED" == *"nyxt"* ]] && run_module "Nyxt" "$APPS/nyxt.sh"
[[ "$SELECTED" == *"librewolf"* ]] && run_module "LibreWolf" "$APPS/librewolf.sh"
[[ "$SELECTED" == *"min-browser"* ]] && run_module "Min Browser" "$APPS/min-browser.sh"
[[ "$SELECTED" == *"vscodium"* ]] && run_module "VSCodium" "$APPS/vscodium.sh"
[[ "$SELECTED" == *"zed-ide"* ]] && run_module "Zed IDE" "$APPS/zed.sh"
[[ "$SELECTED" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh"
[[ "$SELECTED" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh"
[[ "$SELECTED" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh"
dialog --backtitle "$BACKTITLE" \
--title " Done " \

View File

@ -9,6 +9,7 @@ sudo pacman -Syu --noconfirm --needed \
e2fsprogs fail2ban fastfetch fd fdupes ffmpeg firefox flatpak fzf \
gcc git glib2 greetd-tuigreet grub \
hdparm htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware lshw lsof \
lynx \
man-db mc nano neovim networkmanager \
onefetch openbsd-netcat openssh parted pciutils pipewire \
python python-pip qrencode ripgrep rsync ruby-pkg-config rust rustup \

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
sudo pacman -S --noconfirm --needed chromium

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
sudo pacman -S --noconfirm --needed codeblocks

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
sudo pacman -S --noconfirm --needed firefox

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
sudo pacman -S --noconfirm --needed geany geany-plugins

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
sudo pacman -S --noconfirm --needed kate

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
yay -S --answerdiff None --answerclean All --noconfirm librewolf-bin

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
yay -S --answerdiff None --answerclean All --noconfirm min

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
yay -S --answerdiff None --answerclean All --noconfirm nyxt

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
yay -S --answerdiff None --answerclean All --noconfirm vscodium-bin

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
sudo pacman -S --noconfirm --needed zed

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail
yay -S --answerdiff None --answerclean All --noconfirm zen-browser-bin

View File

@ -135,6 +135,17 @@ count_steps() {
[[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"chromium"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"firefox-browser"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"zen-browser"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"nyxt"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"librewolf"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"min-browser"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"vscodium"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"zed-ide"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 ))
[[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 ))
}
# ── Preflight ─────────────────────────────────────────────────────────────────
@ -241,6 +252,19 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \
"python" "Python tools pyright · pipx · pynvim" off \
"zfs" "ZFS zfs-dkms kernel module" off \
"wprs" "WPRS wprs-git (AUR)" off \
\
"chromium" "Chromium open-source browser (official)" off \
"firefox-browser" "Firefox Mozilla browser (official)" off \
"zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \
"nyxt" "Nyxt keyboard-driven browser (AUR)" off \
"librewolf" "LibreWolf hardened Firefox fork (AUR)" off \
"min-browser" "Min minimal Electron browser (AUR)" off \
\
"vscodium" "VSCodium telemetry-free VS Code (AUR)" off \
"zed-ide" "Zed high-performance Rust IDE (official)" off \
"geany" "Geany lightweight IDE + plugins (official)" off \
"codeblocks" "Code::Blocks C/C++ IDE (official)" off \
"kate" "Kate KDE advanced text editor (official)" off \
3>&1 1>&2 2>&3) || SELECTED_APPS=""
# ── Confirmation ──────────────────────────────────────────────────────────────
@ -294,6 +318,17 @@ if [[ -n "$SELECTED_APPS" ]]; then
[[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n"
[[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n"
[[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n"
[[ "$SELECTED_APPS" == *"chromium"* ]] && SUMMARY+=" ✦ Chromium\n"
[[ "$SELECTED_APPS" == *"firefox-browser"* ]] && SUMMARY+=" ✦ Firefox\n"
[[ "$SELECTED_APPS" == *"zen-browser"* ]] && SUMMARY+=" ✦ Zen Browser\n"
[[ "$SELECTED_APPS" == *"nyxt"* ]] && SUMMARY+=" ✦ Nyxt\n"
[[ "$SELECTED_APPS" == *"librewolf"* ]] && SUMMARY+=" ✦ LibreWolf\n"
[[ "$SELECTED_APPS" == *"min-browser"* ]] && SUMMARY+=" ✦ Min Browser\n"
[[ "$SELECTED_APPS" == *"vscodium"* ]] && SUMMARY+=" ✦ VSCodium\n"
[[ "$SELECTED_APPS" == *"zed-ide"* ]] && SUMMARY+=" ✦ Zed IDE\n"
[[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n"
[[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n"
[[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n"
fi
dialog --backtitle "$BACKTITLE" \
@ -363,6 +398,17 @@ fi
[[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh"
[[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh"
[[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh"
[[ "$SELECTED_APPS" == *"chromium"* ]] && run_module "Chromium" "$APPS/chromium.sh"
[[ "$SELECTED_APPS" == *"firefox-browser"* ]] && run_module "Firefox" "$APPS/firefox.sh"
[[ "$SELECTED_APPS" == *"zen-browser"* ]] && run_module "Zen Browser" "$APPS/zen-browser.sh"
[[ "$SELECTED_APPS" == *"nyxt"* ]] && run_module "Nyxt" "$APPS/nyxt.sh"
[[ "$SELECTED_APPS" == *"librewolf"* ]] && run_module "LibreWolf" "$APPS/librewolf.sh"
[[ "$SELECTED_APPS" == *"min-browser"* ]] && run_module "Min Browser" "$APPS/min-browser.sh"
[[ "$SELECTED_APPS" == *"vscodium"* ]] && run_module "VSCodium" "$APPS/vscodium.sh"
[[ "$SELECTED_APPS" == *"zed-ide"* ]] && run_module "Zed IDE" "$APPS/zed.sh"
[[ "$SELECTED_APPS" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh"
[[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh"
[[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh"
# ── Done ──────────────────────────────────────────────────────────────────────
dialog --backtitle "$BACKTITLE" \