aboutsummaryrefslogtreecommitdiff
path: root/3-post-setup.sh
diff options
context:
space:
mode:
authorChris Titus <[email protected]>2021-10-21 15:23:20 -0500
committerChris Titus <[email protected]>2021-10-21 15:23:20 -0500
commit42a02fc81679ac1f678dbcb8c73f36b9a5b8bcad (patch)
treec8812d3b375105d6f7967fa0ffa2256bbc7eaa6f /3-post-setup.sh
downloadArchTitus-42a02fc81679ac1f678dbcb8c73f36b9a5b8bcad.tar.xz
ArchTitus-42a02fc81679ac1f678dbcb8c73f36b9a5b8bcad.zip
1.0 Launch
Diffstat (limited to '3-post-setup.sh')
-rwxr-xr-x3-post-setup.sh139
1 files changed, 139 insertions, 0 deletions
diff --git a/3-post-setup.sh b/3-post-setup.sh
new file mode 100755
index 0000000..92a2f17
--- /dev/null
+++ b/3-post-setup.sh
@@ -0,0 +1,139 @@
+#!/usr/bin/env bash
+#-------------------------------------------------------------------------
+# █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
+# ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝
+# ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗
+# ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║
+# ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║
+# ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
+#-------------------------------------------------------------------------
+
+echo -e "\nFINAL SETUP AND CONFIGURATION"
+
+# ------------------------------------------------------------------------
+
+echo -e "\nGenerating .xinitrc file"
+
+# Generate the .xinitrc file so we can launch Awesome from the
+# terminal using the "startx" command
+cat <<EOF > ${HOME}/.xinitrc
+#!/bin/bash
+# Disable bell
+xset -b
+
+# Disable all Power Saving Stuff
+xset -dpms
+xset s off
+
+# X Root window color
+xsetroot -solid darkgrey
+
+# Merge resources (optional)
+#xrdb -merge $HOME/.Xresources
+
+# Caps to Ctrl, no caps
+setxkbmap -layout us -option ctrl:nocaps
+if [ -d /etc/X11/xinit/xinitrc.d ] ; then
+ for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
+ [ -x "\$f" ] && . "\$f"
+ done
+ unset f
+fi
+
+exit 0
+EOF
+
+# ------------------------------------------------------------------------
+
+echo -e "\nConfiguring LTS Kernel as a secondary boot option"
+
+sudo cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-lts.conf
+sudo sed -i 's|Arch Linux|Arch Linux LTS Kernel|g' /boot/loader/entries/arch-lts.conf
+sudo sed -i 's|vmlinuz-linux|vmlinuz-linux-lts|g' /boot/loader/entries/arch-lts.conf
+sudo sed -i 's|initramfs-linux.img|initramfs-linux-lts.img|g' /boot/loader/entries/arch-lts.conf
+
+# ------------------------------------------------------------------------
+
+echo -e "\nConfiguring vconsole.conf to set a larger font for login shell"
+
+sudo cat <<EOF > /etc/vconsole.conf
+KEYMAP=us
+FONT=ter-v16b
+EOF
+
+# ------------------------------------------------------------------------
+
+echo -e "\nIncreasing file watcher count"
+
+# This prevents a "too many files" error in Visual Studio Code
+echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
+
+# ------------------------------------------------------------------------
+
+echo -e "\nDisabling Pulse .esd_auth module"
+
+# Pulse audio loads the `esound-protocol` module, which best I can tell is rarely needed.
+# That module creates a file called `.esd_auth` in the home directory which I'd prefer to not be there. So...
+sudo sed -i 's|load-module module-esound-protocol-unix|#load-module module-esound-protocol-unix|g' /etc/pulse/default.pa
+
+# ------------------------------------------------------------------------
+
+echo -e "\nEnabling Login Display Manager"
+
+sudo systemctl enable --now sddm.service
+
+
+echo -e "\nSetup SDDM Theme"
+
+sudo cat <<EOF > /etc/sddm.conf.d/kde_settings.conf
+[Autologin]
+Relogin=false
+Session=
+User=
+
+[General]
+HaltCommand=/usr/bin/systemctl poweroff
+RebootCommand=/usr/bin/systemctl reboot
+
+[Theme]
+Current=Nordic
+
+[Users]
+MaximumUid=60513
+MinimumUid=1000
+EOF
+
+# ------------------------------------------------------------------------
+
+echo -e "\nEnabling bluetooth daemon and setting it to auto-start"
+
+sudo sed -i 's|#AutoEnable=false|AutoEnable=true|g' /etc/bluetooth/main.conf
+sudo systemctl enable --now bluetooth.service
+
+# ------------------------------------------------------------------------
+
+echo -e "\nEnabling the cups service daemon so we can print"
+
+systemctl enable --now cups.service
+sudo ntpd -qg
+sudo systemctl enable --now ntpd.service
+sudo systemctl disable dhcpcd.service
+sudo systemctl stop dhcpcd.service
+sudo systemctl enable --now NetworkManager.service
+echo "
+###############################################################################
+# Cleaning
+###############################################################################
+"
+# Remove no password sudo rights
+sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers
+# Add sudo rights
+sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers
+
+# Replace in the same state
+cd $pwd
+echo "
+###############################################################################
+# Done
+###############################################################################
+"