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:
@@ -28,7 +28,8 @@ MIRROR_URL='https://mirrors.logal.dev/archlinux/$repo/os/$arch'
|
||||
# Paths
|
||||
CA_CERTS_DIR="${SCRIPT_DIR}/files/certs"
|
||||
CONFIG_SRC_DIR="${SCRIPT_DIR}/files/etc"
|
||||
HOME_CONFIG_DIR="${SCRIPT_DIR}/files/home"
|
||||
HOME_SKEL_DIR="${SCRIPT_DIR}/files/home-skel"
|
||||
HOME_SKEL_DESKTOP_DIR="${SCRIPT_DIR}/files/home-skel-desktop"
|
||||
MOUNT_POINT="/mnt"
|
||||
|
||||
# Base packages to install with pacstrap
|
||||
@@ -51,4 +52,6 @@ BASE_PACKAGES=(
|
||||
iptables-nft
|
||||
openssh
|
||||
usbguard
|
||||
7zip
|
||||
fwupd
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user