mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-07-16 05:49:49 +00:00
63ef2e7343
- Replaced the restrictive head -n1 hardware parsing with a dynamic while read loop. The script now fully detects and registers multiple coexisting GPUs (Intel+Nvidia / AMD+Nvidia). - Rewrote install_gpu_drivers() in modules/gpu.sh from a mutually exclusive case block to independent, sequential if conditions. Laptops now install both integrated firmware (Intel/AMD with non-free VA-API acceleration) and dedicated graphics stacks (Nvidia driver + 32-bit libs for Steam) seamlessly in a single pass. - Improved Nvidia Kepler architecture guards under Debian 13 (Trixie). The script now safely skips missing legacy Nvidia packages without aborting or crashing the remaining Intel/AMD configurations. - Added nvme-cli utility installation across all Debian versions. For Bookworm and Trixie, it features dynamic hardware validation via lsblk transport filtering and interactive, real-time SMART log viewing with an execution screen-pause. - Created a brand new standalone module (modules/extras/dev/jellyfin.sh) to cleanly inject Jellyfin Media Server across Debian 11, 12, and 13 using its official setup script, protected by strict SHA256 checksum validations and guaranteed error-cleanup. - Added OpenRGB to the Gaming menu for Debian 12 and 13. Implemented secure curl downloads with an emulated Chrome User-Agent to bypass Codeberg bot blocks, complete with automatic i2c-dev module configuration, user groups provisioning, and udev permission rules execution. - Standardized menu headers across 15 separate files using a centralized readonly SCROLL_HINT=" [↑↓]" variable, replacing messy hardcoded strings with clean, uniform Whiptail instructions. - 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${SCROLL_HINT}:" $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
|
|
}
|