Files
debianito-post-install/modules/extras.sh
T
stornic56 0e24e8f9ae System-Wide Refactor & Critical Fixes
- Resolved NVIDIA driver management issues by expanding package detection patterns (including nvidia-open and nvidia-kernel-open-dkms), enhancing purge process to ensure clean uninstallation of v590/595 drivers, and adding conditional skip for manage menu when no driver is installed.  
- Enhanced Firefox variant selection in internet.sh using exact token matching (grep -qx) instead of substring search to prevent incorrect removal or unintended ESR/Firefox conflicts. 
- New XFCE install option with 4 options
- Restructured Desktop Environment into two-level menu system with dispatcher and Xfce sub-menu for scalability, enabling future additions like GNOME/KDE without disrupting existing flows.  
- Added Polkit rules in desktop_display.sh to grant suspend permissions without password prompts on laptops, including idempotent group (backlight) creation and user membership management with || true fallbacks.  
- Enforced LC_ALL=C LANGUAGE=C environment variables for all dpkg-reconfigure commands across System Preferences and utils.sh to ensure native dialogues run consistently in English.  
- Fixed kernel backports menu option availability to only appear on Debian 13, preventing errors on Debian 12 where backports repositories are EOL.  
- Improved ZRAM module initialization sequence by ensuring swapoff and zram module removal occur before writing new configuration files to prevent race conditions during system setup.
2026-08-17 23:50:39 -05:00

71 lines
2.2 KiB
Bash

#!/usr/bin/env bash
# extras.sh — Dispatcher: loads extras category modules and shows submenu
_EXTRAS_DIR="${MODULES_DIR}/extras"
_load_extras() {
[ -n "${_EXTRAS_LOADED:-}" ] && return
[ -f "${_EXTRAS_DIR}/_helpers.sh" ] && source "${_EXTRAS_DIR}/_helpers.sh"
shopt -s nullglob
for _mod in "${_EXTRAS_DIR}"/*/*.sh "${_EXTRAS_DIR}"/*/*/*.sh; do
[ -f "$_mod" ] || continue
source "$_mod"
done
shopt -u nullglob
unset _mod
_EXTRAS_LOADED=1
}
install_extras() {
_load_extras
echo -e "${YELLOW}Extra software installation...${NC}"
if _is_headless; then
_msg "Headless Mode" "No graphical display detected.\n\nOnly terminal-friendly packages will be shown.\nGUI applications (browsers, media players, design tools)\nwill be skipped automatically." 12 60
fi
while true; do
local cat_choice
cat_choice=$(_menu "Install Programs and Software" \
"Select a category:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
"0" "Essential Pack" \
"1" "Customization System" \
"2" "Download & Network" \
"3" "Internet (Browsers, Email, VPN)" \
"4" "Communication" \
"5" "Media Players" \
"6" "Multimedia & Design" \
"7" "Code Editors & IDEs" \
"8" "Servers & Dev Tools" \
"9" "Security & Networking" \
"10" "Software Center & Flatpak" \
"11" "Office & Productivity" \
"12" "System Tools" \
"13" "Fetch / System Info" \
"14" "Back to main menu")
[ -z "$cat_choice" ] && return
clear
case "$cat_choice" in
0) _quick_install ;;
1) _cat_customization ;;
2) _cat_download ;;
3) _cat_internet ;;
4) _cat_communication ;;
5) _cat_players ;;
6) _cat_design ;;
7) _cat_programming ;;
8) _cat_dev ;;
9) _cat_security ;;
10) _cat_software_centers ;;
11) _cat_office ;;
12) _cat_general ;;
13) _cat_fetch ;;
14) return ;;
esac
clear
done
}