summaryrefslogtreecommitdiff
path: root/archsetup.sh
diff options
context:
space:
mode:
authorCraig Jennings <craigmartinjennings@gmail.com>2023-05-04 15:47:09 -0500
committerCraig Jennings <craigmartinjennings@gmail.com>2023-05-04 15:47:09 -0500
commitdcdca371e59f225ace002f30cf7dd3ee1b2f4a4b (patch)
treedf9c25ae4eac629c12509f1d8e0da1d01fb9067e /archsetup.sh
parent13d60ec80f32f03958646ad7188151ae9ce4ccae (diff)
cleanup, add themes/cursors,
- remove snapper - install dmidecode - install vimix themes and cursors - uncomment tor-browser - install thunderbird - comment out all quiet boot that doesn't apply to zfs - remove btrfs snapshots section
Diffstat (limited to 'archsetup.sh')
-rwxr-xr-xarchsetup.sh137
1 files changed, 56 insertions, 81 deletions
diff --git a/archsetup.sh b/archsetup.sh
index 6baa44f..e9fcd64 100755
--- a/archsetup.sh
+++ b/archsetup.sh
@@ -7,16 +7,14 @@
Notes:
-I define two levels of errors:
+There are two levels of errors:
* CRASH: Issues that will halt forward progress, aborting this script.
-* ERROR: Issues not serious enough to prevent the script from continuing.
+* ERROR: Issues not serious enough to halt the script.
Both are printed on screen and in the $logfile.
Stderr is also printed to the $logfile for all relevant info.
-This script creates a tmpfs RAM disk for all compilation.
-
-Outstanding Tasks:
-
+This script creates a tmpfs RAM disk for all compilation. This speeds up
+building and installing, and all source code no longer exists after reboot.
'
# Code
@@ -447,13 +445,7 @@ desktop_environment() {
git_install $dwm_repo
git_install $dmenu_repo
git_install $st_repo
- aur_install pinentry-dmenu # password entry works with dmenu
-
- # for hyprland
- # pacman_install hyprland
- # aur_install waybar-hyprland-fix
- # pacman_install xdg-desktop-portal-hyprland
- # aur_install foot
+ aur_install pinentry-dmenu # password entry that leverages dmenu
# Core Fonts
@@ -463,17 +455,17 @@ desktop_environment() {
pacman_install noto-fonts-emoji
aur_install ttf-all-the-icons
- # File System Utilities
+ # System Utilities
- action="File System Utilities" && display "subtitle" "$action"
+ action="System Utilities" && display "subtitle" "$action"
pacman_install sshfs
pacman_install dosfstools
pacman_install exfat-utils
pacman_install testdisk
pacman_install ntfs-3g
pacman_install udisks2
+ pacman_install dmidecode
aur_install inxi
- pacman_install snapper
# File Associations
@@ -566,12 +558,19 @@ desktop_environment() {
aur_install colorpicker
- # Browser
+ # Theme and Cursor
+
+ action="UI Theme" && display "subtitle" "$action"
+
+ for software in vimix-icon-theme vimix-cursors vimix-gtk-themes; do
+ aur_install $software
+ done;
+
+ # Browsers
action="Browsers" && display "subtitle" "$action"
pacman_install firefox
- # aur_install tor-browser
- # currently getting errors with the key validation
+ aur_install tor-browser
# Install Printing
@@ -592,7 +591,7 @@ developer_workstation () {
action="Programming Languages and Utilities" && display "subtitle" "$action"
pacman_install clang # C/C++ compiler
pacman_install cmake # make system
- pacman_install gdb # the gnu debuffer
+ pacman_install gdb # the gnu debugger
pacman_install splint # C programming static analysis
pacman_install valgrind # memory management utility
@@ -708,6 +707,7 @@ supplemental_software() {
pacman_install smartmontools # monitors hard drives
pacman_install syncthing # sync utility
pacman_install texlive-most # latex
+ pacman_install thunderbird # email, calendar, rss feeds
pacman_install transmission-cli # bittorrent client
pacman_install transmission-remote-gtk # bittorrent client
pacman_install unclutter # hides mouse cursor when not being used
@@ -735,10 +735,10 @@ supplemental_software() {
git_install https://github.com/clamiax/snore.git # sleep with feedback
pip_install ranger # terminal file manager
pip_install pydf # better display of available space on mounted filesystems
- pip_install tidal-dl # tidal-dl: tidal as yt-dlp:youtube
+ pip_install tidal-dl # tidal-dl:tidal as yt-dlp:youtube
pacman_install lxappearance # GTK+ theme switcher
- # nice fonts
+ # some nice fonts
pacman_install ttf-crimson-pro
pacman_install ttf-crimson-pro-variable
pacman_install ttf-sourcecodepro-nerd
@@ -763,70 +763,46 @@ silent_boot() {
(echo "kernel.printk = 3 3 3 3" >/etc/sysctl.d/20-quiet-printk.conf) || \
error "error" "$action" "$?"
- action="delegating fsck messages from udev to systemd" && display "task" "$action"
- sed -i "s/.*HOOKS=(base udev autodetect keyboard keymap modconf block filesystems fsck).*/HOOKS=(base systemd autodetect keyboard keymap modconf block filesystems fsck)/" /etc/mkinitcpio.conf || error "error" "running sed on mkinitcpio.conf to hide fsck messages" "$?"
- mkinitcpio -P >> "$logfile" 2>&1 || error "error" "running mkinitcpio -P to silence fsck messages" "$?"
+ # action="delegating fsck messages from udev to systemd" && display "task" "$action"
+ # sed -i "s/.*HOOKS=(base udev autodetect keyboard keymap modconf block filesystems fsck).*/HOOKS=(base systemd autodetect keyboard keymap modconf block filesystems fsck)/" /etc/mkinitcpio.conf || error "error" "running sed on mkinitcpio.conf to hide fsck messages" "$?"
+ # mkinitcpio -P >> "$logfile" 2>&1 || error "error" "running mkinitcpio -P to silence fsck messages" "$?"
- action="instructing systemd to check filesystems" && display "task" "$action"
- servicefile=/usr/lib/systemd/system/systemd-fsck-root.service
- [ -f $servicefile ] && echo "StandardOutput=null" >>$servicefile && \
- echo "StandardError=journal+console" >>$servicefile
+ # action="instructing systemd to check filesystems" && display "task" "$action"
+ # servicefile=/usr/lib/systemd/system/systemd-fsck-root.service
+ # [ -f $servicefile ] && echo "StandardOutput=null" >>$servicefile && \
+ # echo "StandardError=journal+console" >>$servicefile
- servicefile=/usr/lib/systemd/system/systemd-fsck@.service
- [ -f $servicefile ] && echo "StandardOutput=null" >>$servicefile && \
- echo "StandardError=journal+console" >>$servicefile
+ # servicefile=/usr/lib/systemd/system/systemd-fsck@.service
+ # [ -f $servicefile ] && echo "StandardOutput=null" >>$servicefile && \
+ # echo "StandardError=journal+console" >>$servicefile
- action="removing hostname from login prompt" && display "task" "$action"
- sed -i "s/--noclear/--nohostname --noclear/g" /usr/lib/systemd/system/getty@.service \
- || error "error" "$action" "$?"
+ # action="removing hostname from login prompt" && display "task" "$action"
+ # sed -i "s/--noclear/--nohostname --noclear/g" /usr/lib/systemd/system/getty@.service \
+ # || error "error" "$action" "$?"
action="silencing the unneeded and chatty watchdog module" && display "task" "$action"
echo "blacklist iTCO_wdt" >/etc/modprobe.d/nowatchdog.conf || error "error" "$action" "$?"
- # on systemd boot, eliminate timeout and silence boot text
- if [ -f /boot/loader/loader.conf ]; then
- action="eliminating timeout and silencing boot test on systemd boot" && display "task" "$action"
- echo "timeout=0" >/boot/loader/loader.conf
-
- # the file in this location was named based on the time of the install, so we must use find to identify it.
- kernelfile=$(find /boot/loader/entries/ -name "*.conf")
- # hush boot output via kernel parameters
- sed -i "/.*options root=PARTUUID.*/ s/$/quiet rd.systemd.show_status=auto rd.udev.log_level=2 nvme.noacpi=1 mem_sleep_default=deep nowatchdog/" "$kernelfile"
- fi
-
- # if grub, reset timeouts and adjust log levels
- if [ -f /etc/default/grub ]; then
- action="resetting timeouts and adjusting log levels on grub boot" && display "task" "$action"
- sed -i "s/.*GRUB_TIMEOUT=.*/GRUB_TIMEOUT=2/g" /etc/default/grub
- sed -i "s/.*GRUB_DEFAULT=.*/GRUB_DEFAULT=0/g" /etc/default/grub
- sed -i "s/.*GRUB_RECORDFAIL_TIMEOUT=.*/GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT/g" /etc/default/grub
- sed -i "s/.*GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=\"rw quiet loglevel=2 rd.systemd.show_status=auto rd.udev.log_level=2 nvme.noacpi=1 mem_sleep_default=deep nowatchdog\"/g" /etc/default/grub
- grub-mkconfig -o /boot/grub/grub.cfg >> "$logfile" 2>&1 || error "error" "" "$?"
- fi
-}
-
-### Configure Snapshots
-
-configure_snapshots() {
-
- # note that the order of these commands are important
- action="Snapshots and Recovery" && display "title" "$action"
- aur_install grub-btrfs
-
- action="configuring boot menu to display snapshots" && display "task" "$action"
- (grub-mkconfig -o /boot/grub/grub.cfg >> "$logfile" 2>&1) || error "error" "$action" "$?"
-
- # install timeshift + autosnap
- aur_install timeshift
- aur_install timeshift-autosnap
-
- action="taking initial btrfs snapshot" && display "task" "$action"
- (timeshift --btrfs --create --comments "ArchSetup initial snapshot on $(date +'%D %T')" >> \
- "$logfile" 2>&1) || error "error" "$action" "$?"
-
- action="enabling automatic snapshots in the boot menu" && display "task" "$action"
- (systemctl enable --now grub-btrfs.path >> "$logfile" 2>&1) || error "error" "$action" "$?"
-
+ # # on systemd boot, eliminate timeout and silence boot text
+ # if [ -f /boot/loader/loader.conf ]; then
+ # action="eliminating timeout and silencing boot test on systemd boot" && display "task" "$action"
+ # echo "timeout=0" >/boot/loader/loader.conf
+
+ # # the file in this location was named based on the time of the install, so we must use find to identify it.
+ # kernelfile=$(find /boot/loader/entries/ -name "*.conf")
+ # # hush boot output via kernel parameters
+ # sed -i "/.*options root=PARTUUID.*/ s/$/quiet rd.systemd.show_status=auto rd.udev.log_level=2 nvme.noacpi=1 mem_sleep_default=deep nowatchdog/" "$kernelfile"
+ # fi
+
+ # # if grub, reset timeouts and adjust log levels
+ # if [ -f /etc/default/grub ]; then
+ # action="resetting timeouts and adjusting log levels on grub boot" && display "task" "$action"
+ # sed -i "s/.*GRUB_TIMEOUT=.*/GRUB_TIMEOUT=2/g" /etc/default/grub
+ # sed -i "s/.*GRUB_DEFAULT=.*/GRUB_DEFAULT=0/g" /etc/default/grub
+ # sed -i "s/.*GRUB_RECORDFAIL_TIMEOUT=.*/GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT/g" /etc/default/grub
+ # sed -i "s/.*GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=\"rw quiet loglevel=2 rd.systemd.show_status=auto rd.udev.log_level=2 nvme.noacpi=1 mem_sleep_default=deep nowatchdog\"/g" /etc/default/grub
+ # grub-mkconfig -o /boot/grub/grub.cfg >> "$logfile" 2>&1 || error "error" "" "$?"
+ # fi
}
### Outro
@@ -873,8 +849,7 @@ essential_services
desktop_environment
developer_workstation
supplemental_software
-# silent_boot # make booting less noisy
-# configure_snapshots # automatic snapshots added to grub menu for restoration
+silent_boot # make booting a bit less noisy
outro # take end stats; show summary