mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-09-14 06:02:35 +00:00
0e24e8f9ae
- 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.
41 lines
1.4 KiB
Bash
41 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# system_prefs.sh — System Preferences: time, locale, keyboard, audio
|
|
|
|
_prefs_date_time() {
|
|
echo -e "${YELLOW}Current system date/time:${NC} $(date '+%Y-%m-%d %H:%M')"
|
|
echo -e "${YELLOW}Timezone:${NC} $(timedatectl show -p Timezone --value 2>/dev/null || echo unknown)"
|
|
|
|
if _confirm "Timezone" "Change the system timezone (dpkg-reconfigure tzdata)?"; then
|
|
sudo env LC_ALL=C LANGUAGE=C dpkg-reconfigure tzdata || true
|
|
echo -e "${GREEN}Timezone: $(timedatectl show -p Timezone --value 2>/dev/null)${NC}"
|
|
fi
|
|
_ensure_time_synced
|
|
}
|
|
|
|
_prefs_locale_keyboard() {
|
|
sudo env LC_ALL=C LANGUAGE=C dpkg-reconfigure locales || true
|
|
sudo env LC_ALL=C LANGUAGE=C dpkg-reconfigure keyboard-configuration || true
|
|
echo -e "${GREEN}Language, locales and keyboard configured.${NC}"
|
|
}
|
|
|
|
_prefs_audio() { _prefs_audio_menu; }
|
|
|
|
_system_preferences_menu() {
|
|
while true; do
|
|
local choice
|
|
choice=$(_menu "System Preferences" "Select a preference group:" \
|
|
$TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
|
|
"1" "Date, Time & Timezone" \
|
|
"2" "Language, Locales & Keyboard" \
|
|
"3" "Audio & Sound Stack" \
|
|
"4" "Back to main menu")
|
|
[ -z "$choice" ] && return
|
|
clear
|
|
case "$choice" in
|
|
1) _prefs_date_time ;;
|
|
2) _prefs_locale_keyboard ;;
|
|
3) _prefs_audio ;;
|
|
4) return ;;
|
|
esac
|
|
done
|
|
} |