Improve code and use KDE instead of XFCE

This commit is contained in:
julien
2026-06-29 16:11:42 +02:00
parent e6218c9972
commit 2c0c9944bc
10 changed files with 63 additions and 395 deletions
+55 -71
View File
@@ -4,6 +4,8 @@
# To be executed before rebooting within a chroot.
#
set -euo pipefail
# Desktop or server ?
echo
echo "Type desktop or server depending on what you want to do."
@@ -17,17 +19,20 @@ read -p "> " bios_or_uefi
################################################################################
### Bootloader
# BIOS
if [[ $bios_or_uefi = bios ]]; then
echo "Enter the disk id where you want the bootloader to be installed. (eg. sda)"
read -p "> " grub_disk
grub-install --modules=part_gpt /dev/$grub_disk
fi
# UEFI
if [[ $bios_or_uefi = uefi ]]; then
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
fi
case "$bios_or_uefi" in
bios)
echo "Enter the disk id where you want the bootloader to be installed. (eg. sda)"
read -p "> " grub_disk
grub-install --modules=part_gpt "/dev/$grub_disk"
;;
uefi)
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
;;
*)
echo "Invalid choice."
exit 1
;;
esac
# Generate grub menu
grub-mkconfig -o /boot/grub/grub.cfg
@@ -40,70 +45,56 @@ echo
echo "Enter your UTF-8 locale or let empty for keeping default one. (eg. fr_FR)"
read -p "> " utf8_locale
if [[ -n $utf8_locale ]]; then
sed -i 's/export LANG=en_US.UTF-8/export LANG='$utf8_locale'.UTF-8/g' /etc/profile.d/lang.sh
# sed -i 's/export LANG=en_US.UTF-8/export LANG='$utf8_locale'.UTF-8/g' /etc/profile.d/lang.sh
sed -i "s/^export LANG=.*/export LANG=${utf8_locale}.UTF-8/" /etc/profile.d/lang.sh
fi
# Slackpkg mirror
sed -i '/# https:\/\/mirrors.slackware.com\/slackware\/slackware64-15.0\//s/^# //g' /etc/slackpkg/mirrors
sed -i '/# https:\/\/mirrors.slackware.com\/slackware\/slackware64-current\//s/^# //g' /etc/slackpkg/mirrors
slackpkg update gpg
# Slackpkg blacklist
sed -i '/#\[0-9\]+_SBo/s/^#//g' /etc/slackpkg/blacklist
echo "e/" >> /etc/slackpkg/blacklist
# Install Sbotools
cd /tmp
wget https://slackbuilds.org/slackbuilds/15.0/system/sbotools.tar.gz
tar -xvzf sbotools.tar.gz
cd sbotools
wget https://pghvlaans.github.io/sbotools/downloads/sbotools-3.8.1.tar.gz
./sbotools.SlackBuild
cd
# Use generic kernel
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r | bash ### The old tool
geninitrd
grub-mkconfig -o /boot/grub/grub.cfg
# Copy bash config
cp etc/skel/.bash_profile /root
cp etc/skel/.bashrc /root
cp etc/skel/.bash_profile /etc/skel
cp etc/skel/.bashrc /etc/skel
################################################################################
### Usage specific configuration
# Desktop configuration
if [[ $desktop_or_server = desktop ]]; then
# Blacklist irrelevant groups
echo "kde/" >> /etc/slackpkg/blacklist
# X11 keymap
if [[ -n $utf8_locale ]]; then
echo
echo "Enter your keymap. (eg. fr-latin9)"
read -p "> " keymap
cp /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf /etc/X11/xorg.conf.d/
sed -i '0,/Option "XkbLayout" "us"/s//Option "XkbLayout" "'$keymap'"/' /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
fi
# Runlevel
sed -i 's/id:3:initdefault:/id:4:initdefault:/g' /etc/inittab
# Copy Slackware icon
cp usr/share/icons/Slackware.svg /usr/share/icons/
# Copy XFCE config
cp -r etc/skel/.config /etc/skel
# XDM Slackware theme
sboinstall -r slackware-xdm-theme
# Additional softwares
sboinstall -r ristretto
sboinstall -r thunar-archive-plugin
fi
# Server configuration
if [[ $desktop_or_server = server ]]; then
# Blacklist irrelevant groups
echo -e "kde/\nx/\nxap\nxfce/\ny/" >> /etc/slackpkg/blacklist
fi
case "$desktop_or_server" in
desktop)
# Blacklist irrelevant groups
grep -qxF "e/" /etc/slackpkg/blacklist || echo "e/" >> /etc/slackpkg/blacklist
grep -qxF "xfce/" /etc/slackpkg/blacklist || echo "xfce/" >> /etc/slackpkg/blacklist
# X11 keymap
# echo
# echo "Enter your keymap or let empty for keeping default one. (eg. fr)"
# read -p "> " keymap
# if [[ -n $keymap ]]; then
# mkdir -p /etc/X11/xorg.conf.d
# cp /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf /etc/X11/xorg.conf.d/
# # sed -i '0,/Option "XkbLayout" "us"/s//Option "XkbLayout" "'$keymap'"/' /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
# sed -i "0,/Option \"XkbLayout\" \"us\"/s//Option \"XkbLayout\" \"$keymap\"/" /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
# fi
# Runlevel
sed -i 's/id:3:initdefault:/id:4:initdefault:/g' /etc/inittab
;;
server)
# Blacklist irrelevant groups
grep -qxF "e/" /etc/slackpkg/blacklist || echo "e/" >> /etc/slackpkg/blacklist
grep -qxF "kde/" /etc/slackpkg/blacklist || echo "kde/" >> /etc/slackpkg/blacklist
grep -qxF "t/" /etc/slackpkg/blacklist || echo "t/" >> /etc/slackpkg/blacklist
grep -qxF "tcl/" /etc/slackpkg/blacklist || echo "tcl/" >> /etc/slackpkg/blacklist
grep -qxF "x/" /etc/slackpkg/blacklist || echo "x/" >> /etc/slackpkg/blacklist
grep -qxF "xap/" /etc/slackpkg/blacklist || echo "xap/" >> /etc/slackpkg/blacklist
grep -qxF "xfce/" /etc/slackpkg/blacklist || echo "xfce/" >> /etc/slackpkg/blacklist
grep -qxF "y/" /etc/slackpkg/blacklist || echo "y/" >> /etc/slackpkg/blacklist
;;
*)
echo "Invalid choice."
exit 1
;;
esac
################################################################################
### User
@@ -114,13 +105,6 @@ adduser
################################################################################
### End
# Exit from chroot
exit
# End message
echo
echo ">>> Done !"
sleep 10
# Reboot
reboot
echo ">>> Configuration complete."
echo "Exit the chroot and reboot when ready."