mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-07-16 05:49:49 +00:00
23301f98b3
- Refactored `is_backports_enabled()` to dynamically detect backports using `DEBIAN_CODENAME` instead of hardcoded strings, improving script portability. - Added support for standalone classic backports files (`/etc/apt/sources.list.d/debian-backports.list`) and deb822 format (`*.sources`) to ensure consistent detection across different repository configurations. - Resolved Mesa and Kernel backports detection bugs, ensuring correct dialogue prompts and preventing false error messages during installation. - Implemented smart rounding for zram memory allocation to the nearest Gigabyte for optimized performance. - Enhanced Whiptail manual input validation for zram to block empty, non-numeric, or zero values. - Introduced a dedicated `software_centers.sh` module for the modular and clean installation of GNOME Software and Plasma Discover. - Added smart desktop environment detection (GTK/QT) to automatically suggest and install the optimal software center. - Implemented a two-phase installation flow for software centers (Base Store -> Optional Flatpak support) with static consistency warnings based on the detected desktop environment. - update README.md
68 lines
2.1 KiB
Bash
68 lines
2.1 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=$(whiptail --title "Extra Software" --menu \
|
|
"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" "Media Players" \
|
|
"5" "Multimedia & Design" \
|
|
"6" "Code Editors & IDEs" \
|
|
"7" "Servers & Dev Tools" \
|
|
"8" "Security & Networking" \
|
|
"9" "Software Centers" \
|
|
"10" "System Tools" \
|
|
"11" "Fetch / System Info" \
|
|
"12" "Back to main menu" \
|
|
3>&1 1>&2 2>&3)
|
|
|
|
[ -z "$cat_choice" ] && return
|
|
clear
|
|
|
|
case "$cat_choice" in
|
|
0) _quick_install ;;
|
|
1) _cat_customization ;;
|
|
2) _cat_download ;;
|
|
3) _cat_internet ;;
|
|
4) _cat_players ;;
|
|
5) _cat_design ;;
|
|
6) _cat_programming ;;
|
|
7) _cat_dev ;;
|
|
8) _cat_security ;;
|
|
9) _cat_software_centers ;;
|
|
10) _cat_general ;;
|
|
11) _cat_fetch ;;
|
|
12) return ;;
|
|
esac
|
|
clear
|
|
done
|
|
}
|