Clean code

This commit is contained in:
julien
2026-07-01 11:40:51 +02:00
parent 65d2962d0a
commit 171c407089
+54 -59
View File
@@ -6,33 +6,16 @@
set -euo pipefail set -euo pipefail
# Desktop or server ?
echo
echo "Type desktop or server depending on what you want to do."
read -p "> " desktop_or_server
# BIOS or UEFI ?
echo
echo "Type bios or uefi depending on the machine you have."
read -p "> " bios_or_uefi
################################################################################ ################################################################################
### Bootloader ### Bootloader
case "$bios_or_uefi" in if [[ -d /sys/firmware/efi ]]; then
bios) grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
echo "Enter the disk id where you want the bootloader to be installed. (eg. sda)" else
read -p "> " grub_disk echo "Enter the disk id where you want the bootloader to be installed. (eg. sda)"
grub-install --modules=part_gpt "/dev/$grub_disk" read -rp "> " grub_disk
;; grub-install --modules=part_gpt "/dev/$grub_disk"
uefi) fi
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
;;
*)
echo "Invalid choice."
exit 1
;;
esac
# Generate grub menu # Generate grub menu
grub-mkconfig -o /boot/grub/grub.cfg grub-mkconfig -o /boot/grub/grub.cfg
@@ -43,7 +26,7 @@ grub-mkconfig -o /boot/grub/grub.cfg
# Set localization # Set localization
echo echo
echo "Enter your UTF-8 locale or let empty for keeping default one. (eg. fr_FR)" echo "Enter your UTF-8 locale or let empty for keeping default one. (eg. fr_FR)"
read -p "> " utf8_locale read -rp "> " utf8_locale
if [[ -n $utf8_locale ]]; then 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 sed -i "s/^export LANG=.*/export LANG=${utf8_locale}.UTF-8/" /etc/profile.d/lang.sh
@@ -60,40 +43,52 @@ grub-mkconfig -o /boot/grub/grub.cfg
################################################################################ ################################################################################
### Usage specific configuration ### Usage specific configuration
case "$desktop_or_server" in # Desktop or server ?
desktop) while true; do
# Blacklist irrelevant groups echo
grep -qxF "e/" /etc/slackpkg/blacklist || echo "e/" >> /etc/slackpkg/blacklist echo "Type desktop or server depending on what you want to do."
grep -qxF "xfce/" /etc/slackpkg/blacklist || echo "xfce/" >> /etc/slackpkg/blacklist read -rp "> " desktop_or_server
# X11 keymap case "$desktop_or_server" in
echo desktop)
echo "Enter your keymap or let empty for keeping default one. (eg. fr)" # Blacklist irrelevant groups
read -p "> " keymap blacklist="e/
if [[ -n $keymap ]]; then xfce/"
mkdir -p /etc/X11/xorg.conf.d for i in $blacklist; do
cp /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf /etc/X11/xorg.conf.d/ grep -qxF "$i" /etc/slackpkg/blacklist || echo "$i" >> /etc/slackpkg/blacklist
# sed -i '0,/Option "XkbLayout" "us"/s//Option "XkbLayout" "'$keymap'"/' /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf done
sed -i "0,/Option \"XkbLayout\" \"us\"/s//Option \"XkbLayout\" \"$keymap\"/" /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf # X11 keymap
fi echo
# Runlevel echo "Enter your keymap or let empty for keeping default one. (eg. fr)"
sed -i 's/id:3:initdefault:/id:4:initdefault:/g' /etc/inittab read -p "> " keymap
;; if [[ -n $keymap ]]; then
server) mkdir -p /etc/X11/xorg.conf.d
# Blacklist irrelevant groups cp /usr/share/X11/xorg.conf.d/90-keyboard-layout-evdev.conf /etc/X11/xorg.conf.d/
grep -qxF "e/" /etc/slackpkg/blacklist || echo "e/" >> /etc/slackpkg/blacklist sed -i "0,/Option \"XkbLayout\" \"us\"/s//Option \"XkbLayout\" \"$keymap\"/" /etc/X11/xorg.conf.d/90-keyboard-layout-evdev.conf
grep -qxF "kde/" /etc/slackpkg/blacklist || echo "kde/" >> /etc/slackpkg/blacklist fi
grep -qxF "t/" /etc/slackpkg/blacklist || echo "t/" >> /etc/slackpkg/blacklist # Runlevel
grep -qxF "tcl/" /etc/slackpkg/blacklist || echo "tcl/" >> /etc/slackpkg/blacklist sed -i 's/id:3:initdefault:/id:4:initdefault:/g' /etc/inittab
grep -qxF "x/" /etc/slackpkg/blacklist || echo "x/" >> /etc/slackpkg/blacklist break
grep -qxF "xap/" /etc/slackpkg/blacklist || echo "xap/" >> /etc/slackpkg/blacklist ;;
grep -qxF "xfce/" /etc/slackpkg/blacklist || echo "xfce/" >> /etc/slackpkg/blacklist server)
grep -qxF "y/" /etc/slackpkg/blacklist || echo "y/" >> /etc/slackpkg/blacklist # Blacklist irrelevant groups
;; blacklist="e/
*) kde/
echo "Invalid choice." t/
exit 1 tcl/
;; x/
esac xap/
xfce/
y/"
for i in $blacklist; do
grep -qxF "$i" /etc/slackpkg/blacklist || echo "$i" >> /etc/slackpkg/blacklist
done
break
;;
*)
echo "Invalid choice."
;;
esac
done
################################################################################ ################################################################################
### User ### User