Files
debianito-post-install/modules/extras.sh
T
stornic56 872f92d6b4 add Java JDK/JRE selection and patches
- Created dedicated `extras/java.sh` module for modular Temurin/Adoptium repository handling and isolated GPG key management.
- Implemented selective JRE/JDK installation paths: Gaming (Minecraft) vs Development environments with version control selectors.
- Enhanced user group membership logic (`_ensure_sudo_group`) to auto-configure administrative privileges on fresh installs.
- Introduced maintenance-friendly passwordless sudo for `apt`, `systemctl`, and shutdown commands via `/etc/sudoers.d/`.
- Added home directory ownership repair utility to fix root-owned files in user directories after improper `sudo` usage.
- Enabled visual password feedback (`pwfeedback`) toggle for enhanced terminal usability during authentication prompts.
- Refactored Debian 13/Trixie repository sourcing logic to ensure idempotency and prevent backports/duplicate sources conflicts.
- Updated Bullseye legacy modules (extras.sh, repos.sh) to exclude deprecated packages (`hx`, `vscodium`) and enforce Firefox ESR defaults.
- Cleaned repository configurations by removing obsolete `bullseye-updates` source entries to prevent dependency conflicts.
- Implemented NVTOP conditional detection logic ensuring display only on active Nvidia drivers or supported architectures (Trixie/Bookworm).
- Corrected `/modules/bullseye/extras.sh` menu mappings (Programming, Dev Tools) and verified package lists excluding incompatible tools (`hx`, `vscodium`).
- Integrated ClamAV security module with daemon state management and background scan execution flows in all Security menus.
- update README.md
2026-06-13 19:21:55 -05:00

66 lines
2.0 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" "System Tools" \
"10" "Fetch / System Info" \
"11" "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_general ;;
10) _cat_fetch ;;
11) return ;;
esac
clear
done
}