first commit
This commit is contained in:
120
post-install.sh
Executable file
120
post-install.sh
Executable file
@@ -0,0 +1,120 @@
|
||||
#!/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
|
||||
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
|
Reference in New Issue
Block a user