#!/bin/bash # # To be executed before rebooting within a chroot. # # 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 # 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 # Generate grub menu grub-mkconfig -o /boot/grub/grub.cfg ################################################################################ ### Configuration # Set localization 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 fi # Slackpkg mirror sed -i '/# https:\/\/mirrors.slackware.com\/slackware\/slackware64-15.0\//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 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 ################################################################################ ### User # Add the first user adduser ################################################################################ ### End # Exit from chroot exit # End message echo echo ">>> Done !" sleep 10 # Reboot reboot