Migrated desktop environment from XFCE to KDE Plasma with simplified profiles.

- Replaced XFCE with KDE Plasma and SDDM display manager.
- Reduced profiles from seven to four (minimal, server, basic, office).
- Split home skeleton files into home-skel and home-skel-desktop directories.
- Added display name prompt during user setup.
- Added 7zip and fwupd to base packages.
This commit is contained in:
2026-01-17 23:02:10 -05:00
parent 63833f6da3
commit 14f7b610bb
32 changed files with 224 additions and 727 deletions

View File

@@ -16,52 +16,95 @@
# profiles.conf - Profile and desktop environment package definitions
#
# Defines XFCE packages and installation profiles. Adding a new profile
# Defines KDE packages and installation profiles. Adding a new profile
# requires only adding entries here - no code changes needed.
#===============================================================================
# DESKTOP ENVIRONMENT PACKAGES
#===============================================================================
# XFCE base packages
XFCE_PACKAGES=(
lightdm
lightdm-gtk-greeter
lightdm-gtk-greeter-settings
thunar
thunar-archive-plugin
gvfs
xfce4-panel
xfce4-power-manager
xfce4-session
xfce4-settings
xfce4-terminal
xfdesktop
xfwm4
papirus-icon-theme
xfce4-battery-plugin
xfce4-notifyd
xfce4-whiskermenu-plugin
xfce4-screensaver
xfce4-screenshooter
mousepad
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
# KDE Plasma base packages
KDE_PACKAGES=(
# Display manager
sddm
# Core Plasma
plasma-desktop
plasma-workspace
plasma-pa
powerdevil
kscreen
# Multimedia backend
phonon-qt6-vlc
vlc-plugin-ffmpeg
ffmpeg
# System settings
systemsettings
kinfocenter
sddm-kcm
kde-gtk-config
breeze-gtk
# Essential applications
konsole
dolphin
kate
ark
spectacle
gwenview
kcalc
# Browser and media
chromium
haruna
elisa
okular
# File management
filelight
kfind
# Text and diff tools
kompare
# Security
plasma-vault
kleopatra
kwalletmanager
# Accessibility
kmousetool
# Network analysis
wireshark-qt
# Utilities
kcolorchooser
kcharselect
kalarm
sweeper
kdialog
# Thumbnails and previews
kdegraphics-thumbnailers
ffmpegthumbs
markdownpart
svgpart
# Audio
pipewire
pipewire-alsa
pipewire-pulse
pipewire-jack
wireplumber
pavucontrol
xfce4-pulseaudio-plugin
ristretto
webp-pixbuf-loader
libopenraw
xarchiver
7zip
xreader
# Fonts
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
)
#===============================================================================
@@ -69,12 +112,12 @@ XFCE_PACKAGES=(
#===============================================================================
# Profile registry - order determines menu numbering
PROFILES=(minimal server minimal_desktop htpc htpc_gaming office dev)
PROFILES=(minimal server basic office)
# Each profile defines:
# PROFILE_<key>_NAME - Display name
# PROFILE_<key>_DESC - Description shown in menu
# PROFILE_<key>_XFCE - Whether to install XFCE (true/false)
# PROFILE_<key>_KDE - Whether to install KDE (true/false)
# PROFILE_<key>_PACKAGES - Package array
# PROFILE_<key>_SERVICES - Services to enable array
@@ -83,7 +126,7 @@ PROFILES=(minimal server minimal_desktop htpc htpc_gaming office dev)
#---------------------------------------------------------------------------
PROFILE_minimal_NAME="Minimal"
PROFILE_minimal_DESC="Base Arch Linux system, no additional packages."
PROFILE_minimal_XFCE=false
PROFILE_minimal_KDE=false
PROFILE_minimal_PACKAGES=()
PROFILE_minimal_SERVICES=()
@@ -92,7 +135,7 @@ PROFILE_minimal_SERVICES=()
#---------------------------------------------------------------------------
PROFILE_server_NAME="Server"
PROFILE_server_DESC="Adds Restic, Docker, and Docker Compose."
PROFILE_server_XFCE=false
PROFILE_server_KDE=false
PROFILE_server_PACKAGES=(
restic
docker
@@ -101,92 +144,42 @@ PROFILE_server_PACKAGES=(
PROFILE_server_SERVICES=(docker.service)
#---------------------------------------------------------------------------
# Profile: Minimal Desktop
# Profile: Basic Desktop
#---------------------------------------------------------------------------
PROFILE_minimal_desktop_NAME="Minimal Desktop"
PROFILE_minimal_desktop_DESC="XFCE 4 with no additional applications."
PROFILE_minimal_desktop_XFCE=true
PROFILE_minimal_desktop_PACKAGES=()
PROFILE_minimal_desktop_SERVICES=()
#---------------------------------------------------------------------------
# Profile: Home Theater PC
#---------------------------------------------------------------------------
PROFILE_htpc_NAME="Home Theater PC"
PROFILE_htpc_DESC="XFCE 4 with Chromium and VLC media player."
PROFILE_htpc_XFCE=true
PROFILE_htpc_PACKAGES=(
chromium
vlc
vlc-plugin-ffmpeg
)
PROFILE_htpc_SERVICES=()
#---------------------------------------------------------------------------
# Profile: Home Theater PC with Gaming
#---------------------------------------------------------------------------
PROFILE_htpc_gaming_NAME="Home Theater PC with Gaming"
PROFILE_htpc_gaming_DESC="XFCE 4 with Chromium, VLC media player, and Dolphin."
PROFILE_htpc_gaming_XFCE=true
PROFILE_htpc_gaming_PACKAGES=(
dolphin-emu
chromium
vlc
vlc-plugin-ffmpeg
)
PROFILE_htpc_gaming_SERVICES=()
PROFILE_basic_NAME="Basic Desktop"
PROFILE_basic_DESC="KDE Plasma with Chromium and multimedia applications."
PROFILE_basic_KDE=true
PROFILE_basic_PACKAGES=()
PROFILE_basic_SERVICES=()
#---------------------------------------------------------------------------
# Profile: Office Workstation
#---------------------------------------------------------------------------
PROFILE_office_NAME="Office Workstation"
PROFILE_office_DESC="XFCE 4 with a full suite of desktop applications aimed at general office work."
PROFILE_office_XFCE=true
PROFILE_office_DESC="KDE Plasma with office and productivity applications."
PROFILE_office_KDE=true
PROFILE_office_PACKAGES=(
chromium
vlc
vlc-plugin-ffmpeg
hunspell-en_us
# Office and documents
libreoffice-fresh
keepassxc
qalculate-gtk
ffmpeg
hunspell-en_us
ghostwriter
marknote
# Graphics and multimedia
gimp
syncthing
kdenlive
kid3
tenacity
git
# Communication
neochat
tokodon
akregator
# Utilities
keepassxc
syncthing
gnucash
git
)
PROFILE_office_SERVICES=()
#---------------------------------------------------------------------------
# Profile: Software Development Workstation
#---------------------------------------------------------------------------
PROFILE_dev_NAME="Software Development Workstation"
PROFILE_dev_DESC="XFCE 4 with a suite of software development applications."
PROFILE_dev_XFCE=true
PROFILE_dev_PACKAGES=(
chromium
vlc
vlc-plugin-ffmpeg
hunspell-en_us
libreoffice-fresh
keepassxc
qalculate-gtk
ffmpeg
gimp
syncthing
tenacity
git
docker
docker-compose
python
python-virtualenv
pycharm-community-edition
jdk-openjdk
intellij-idea-community-edition
go
code
wireshark-qt
)
PROFILE_dev_SERVICES=(docker.service)