summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xarchsetup462
1 files changed, 235 insertions, 227 deletions
diff --git a/archsetup b/archsetup
index 7c4103f..e78e7de 100755
--- a/archsetup
+++ b/archsetup
@@ -58,7 +58,7 @@ intro() {
error () {
# $1 = type ERROR, noted but the script will continue to run.
# anything else will produce CRASH, which halts the script
- # $2 = what was happening (e.g., "adding $username to group $groupname")
+ # $2 = what was happening (e.g., "adding $username to group $groupname")
# $3 = the error code (i.e., "$?")
errors_encountered=$((errors_encountered+1))
@@ -69,7 +69,7 @@ error () {
return 1;
;;
*)
- printf "CRASH: %s failed with error: %s @ %s. Script halted.\n" \
+ printf "CRASH: %s failed with error: %s @ %s. Script halted.\n" \
"$2" "$3" "$(date +'%T')" | tee -a "$logfile"
exit 1;
;;
@@ -114,7 +114,7 @@ pacman_install() {
(pacman --noconfirm --needed -S "$1" >> "$logfile" 2>&1) ||
error "error" "$action" "$?"
fi
- fi
+ fi
}
# Git Install
@@ -177,7 +177,7 @@ prerequisites() {
display "subtitle" "Bootstrapping"
action="ensuring current Arch Linux keyring" && display "task" "$action"
- (pacman -S --noconfirm archlinux-keyring) >> "$logfile" 2>&1 || \
+ (pacman -S --noconfirm archlinux-keyring) >> "$logfile" 2>&1 || \
error "crash" "$action" "$?"
display "task" "verifying Arch Linux keys"
@@ -190,7 +190,7 @@ prerequisites() {
display "subtitle" "Required Software"
for software in base-devel ca-certificates coreutils curl git go ntp openssh \
- python stow tar vi zsh; do
+ python stow tar vi zsh; do
pacman_install "$software"
done
@@ -288,15 +288,15 @@ user_customizations() {
action="cloning dotfiles" && display "task" "$action"
(git clone --depth 1 $dotfiles_repo "$dotfiles_home" \
- >> "$logfile" 2>&1) || error "error" "$action" "$?"
+ >> "$logfile" 2>&1) || error "error" "$action" "$?"
action="moving dotfiles into place" && display "task" "$action"
(cd "$dotfiles_home" && stow --no-folding --adopt * \
- >> "$logfile" 2>&1 ) || error "error" "$action" "$?"
+ >> "$logfile" 2>&1 ) || error "error" "$action" "$?"
action="restoring dotfile versions" && display "task" "$action"
(cd "$dotfiles_home" && git restore . \
- >> "$logfile" 2>&1 ) || error "error" "$action" "$?"
+ >> "$logfile" 2>&1 ) || error "error" "$action" "$?"
action="creating common directories" && display "task" "$action"
# Create default directories and grant permissions
@@ -332,7 +332,7 @@ aur_installer () {
display "task" "fetching source code for yay"
if ! (sudo -u "$username" git clone --depth 1 "$yay_repo" "$build_dir" >> "$logfile" 2>&1); then
- error "error" "cloning source code for yay"
+ error "error" "cloning source code for yay"
(sudo -u "$username" -D "$build_dir" git pull --force origin master >> "$logfile" 2>&1) || \
error "crash" "changing directories to $build_dir and pulling source code" "$?"
fi
@@ -378,21 +378,21 @@ essential_services() {
action="configuring ufw to deny by default" && display "task" "$action"
ufw default deny incoming >> "$logfile" 2>&1 || error "error" "$action"
- # note on the protocols
- # "80,443,8080/tcp" # http and https traffic
- # "9040,9050,9051,9053,9119/tcp" # tor network
- # "55353/udp" # DNS
- # "22000/tcp" "22000/udp" "21027/udp" # syncthing
-
- for protocol in \
- "80,443,8080/tcp" \
- "9040,9050,9051,9053,9119/tcp" \
- "IMAP" "IMAPS" \
- "55353/udp" \
- "ssh" \
- "22000/tcp" "22000/udp" "21027/udp" \
- "transmission" \
- ; do
+ # note on the protocols
+ # "80,443,8080/tcp" # http and https traffic
+ # "9040,9050,9051,9053,9119/tcp" # tor network
+ # "55353/udp" # DNS
+ # "22000/tcp" "22000/udp" "21027/udp" # syncthing
+
+ for protocol in \
+ "80,443,8080/tcp" \
+ "9040,9050,9051,9053,9119/tcp" \
+ "IMAP" "IMAPS" \
+ "55353/udp" \
+ "ssh" \
+ "22000/tcp" "22000/udp" "21027/udp" \
+ "transmission" \
+ ; do
action="adding ufw rule to allow $protocol" && display "task" "$action"
(ufw allow $protocol >> "$logfile" 2>&1) || error "error" "$action" "$?"
done
@@ -422,10 +422,10 @@ essential_services() {
display "subtitle" "Job Scheduling"
pacman_install cronie
action="enabling cronie to launch at boot" && display "task" "$action"
- systemctl enable cronie >> "$logfile" 2>&1 || error "error" "$action" "$?"
- pacman_install at
- action "enabling the batch delayed command scheduler" && display "task" "$action"
- systemctl enable atd >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ systemctl enable cronie >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ pacman_install at
+ action "enabling the batch delayed command scheduler" && display "task" "$action"
+ systemctl enable atd >> "$logfile" 2>&1 || error "error" "$action" "$?"
}
### Xorg Display Manager
@@ -472,8 +472,8 @@ desktop_environment() {
pacman_install ttf-hack-nerd
pacman_install noto-fonts-emoji
aur_install ttf-all-the-icons
- aur_install ttf-ms-fonts
- aur_install ttf-ubraille
+ aur_install ttf-ms-fonts
+ aur_install ttf-ubraille
# System Utilities
@@ -493,7 +493,7 @@ desktop_environment() {
pacman_install perl-file-mimeinfo
pacman_install xdg-utils
- # Authentication Tools
+ # Authentication Tools
action="Authentication Tools" && display "subtitle" "$action"
pacman_install gnupg
@@ -542,17 +542,17 @@ desktop_environment() {
pacman_install $software
done
action="enabling bluetooth to launch at boot" && display "task" "$action"
- systemctl enable bluetooth.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ systemctl enable bluetooth.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
# Command Line Utilities
action="Command Line Utilities" && display "subtitle" "$action"
- for software in htop mc ncdu tmux fzf zip unzip atool wget detox \
- lsof usbutils moreutils; do
+ for software in htop mc ncdu tmux fzf zip unzip atool wget detox \
+ lsof usbutils moreutils; do
pacman_install "$software"
done;
- for software in lf-git task-spooler speedtest-go gotop rar; do
+ for software in lf-git task-spooler speedtest-go gotop rar; do
aur_install "$software"
done;
@@ -564,53 +564,53 @@ desktop_environment() {
done;
aur_install cht.sh-git
- pacman_install tealdeer
+ pacman_install tealdeer
- # Sync Services
+ # Sync Services
- action="Sync Services" && display "subtitle" "$action"
+ action="Sync Services" && display "subtitle" "$action"
- pacman_install syncthing
- systemctl enable syncthing@$username.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ pacman_install syncthing
+ systemctl enable syncthing@$username.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
# Desktop Environment Utilities
action="Desktop Environment Utilities" && display "subtitle" "$action"
- for software in brightnessctl xautolock network-manager-applet xclip bc \
- conky nitrogen qalculate-gtk; do
+ for software in brightnessctl xautolock network-manager-applet xclip bc \
+ conky nitrogen qalculate-gtk; do
pacman_install $software
done;
- aur_install python-pulsectl
- aur_install caffeine-ng
- aur_install alarm-clock-applet
- aur_install colorpicker
+ aur_install python-pulsectl
+ aur_install caffeine-ng
+ aur_install alarm-clock-applet
+ aur_install colorpicker
# Theme and Cursor
action="UI Theme" && display "subtitle" "$action"
- for software in lxappearance gnome-themes-extra gtk-engine-murrine; do
- pacman_install $software
- done;
+ for software in lxappearance gnome-themes-extra gtk-engine-murrine; do
+ pacman_install $software
+ done;
- for software in vimix-icon-theme vimix-cursors vimix-gtk-themes \
- qt5ct adwaita-color-schemes; do
- aur_install $software
- done;
+ for software in vimix-icon-theme vimix-cursors vimix-gtk-themes \
+ qt5ct adwaita-color-schemes; do
+ aur_install $software
+ done;
# Browsers
action="Browsers" && display "subtitle" "$action"
- pacman_install firefox
- aur_install librewolf-bin
- aur_install tor-browser
- aur_install google-chrome-stable
+ pacman_install firefox
+ aur_install librewolf-bin
+ aur_install tor-browser
+ aur_install google-chrome-stable
- # Install Printing
+ # Install Printing
- action="Print System" && display "subtitle" "$action"
+ action="Print System" && display "subtitle" "$action"
for software in cups cups-pdf foomatic-db-engine foomatic-db-ppds foomatic-db-nonfree-ppds \
gutenprint foomatic-db-gutenprint-ppds nss-mdns; do
pacman_install "$software"
@@ -624,42 +624,46 @@ developer_workstation () {
action="Developer Workstation" && display "title" "$action"
- action="Programming Languages and Utilities" && display "subtitle" "$action"
- # C
- pacman_install clang # C/C++ compiler
- pacman_install cmake # make system
- pacman_install gdb # the gnu debugger
- pacman_install splint # C programming static analysis
- pacman_install valgrind # memory management utility
+ action="Programming Languages and Utilities" && display "subtitle" "$action"
+ # C
+ pacman_install clang # C/C++ compiler
+ pacman_install cmake # make system
+ pacman_install gdb # the gnu debugger
+ pacman_install splint # C programming static analysis
+ pacman_install valgrind # memory management utility
+
+ # java
+ pacman_install jdk-openjdk
+ pacman_install openjdk-doc
- # Lisp
- aur_install mit-scheme # MIT Scheme (SICP)
- pacman_install guile # GNU Scheme
- pacman_install sbcl # Steel Bank Common Lisp
+ # Lisp
+ aur_install mit-scheme # MIT Scheme (SICP)
+ pacman_install guile # GNU Scheme
+ pacman_install sbcl # Steel Bank Common Lisp
- # Rust
+ # Rust
pacman_install rust # Rust programming language
- # Python
+ # Python
pacman_install pyright # Python language server
- # Shell
+ # Shell
pacman_install shellcheck # Shell script linter
pacman_install shfmt # Shell script formatter
- # Go
- pacman_install delve # Go programming language debugger
- pacman_install go-tools # Go language utilities
- pacman_install gopls # Go language server
- pacman_install staticcheck # Go programming language linter
+ # Go
+ pacman_install delve # Go programming language debugger
+ pacman_install go-tools # Go language utilities
+ pacman_install gopls # Go language server
+ pacman_install staticcheck # Go programming language linter
- # Typescript
+ # Typescript
pacman_install typescript # Typescript programming language
pacman_install npm # Node-js package manager
aur_install nvm # Node-js version manager
pacman_install jq # JSON processor
- # General Utilities
+ # General Utilities
pacman_install meld # Visual diff
pacman_install ripgrep # Fast grep utility
aur_install the_silver_searcher # Another fast grep utility
@@ -668,46 +672,50 @@ developer_workstation () {
pacman_install mg
pacman_install neovim
- action="Emacs and Dependencies" && display "subtitle" "$action"
+ action="Emacs and Dependencies" && display "subtitle" "$action"
pacman_install emacs
# supporting utilities used by my emacs configuration
- aur_install exercism-bin # command line tool for exercism.io
- aur_install isync # email sync
- aur_install mu # email indexer and utilities
- aur_install multimarkdown # markdown conversion
- aur_install proselint # grammar checker
- pacman_install aspell # spell check system
- pacman_install aspell-en # spell check english files
- pacman_install fd # a faster find for dired/dirvish
- pacman_install ffmpegthumbnailer # video previews in dired/dirvish
- pacman_install imagemagick # image previews for dired/dirvish
- pacman_install libgccjit # native compilation for Emacs
- pacman_install mediainfo # generating media info in dired/dirvish
- pacman_install mpv # video viewer
- pacman_install mailutils # Emacs' IMAP mail support backend
- pacman_install msmtp # mail transport for Mu4e
- pacman_install msmtp-mta # mail transport for Mu4e
- pacman_install python-lsp-server # python language support
- pacman_install rlwrap # adds readline support to programs (SBCL-related)
- pacman_install sdcv # stardict dictionary system
- pacman_install yt-dlp # video download
+ aur_install exercism-bin # command line tool for exercism.io
+ aur_install isync # email sync
+ aur_install mu # email indexer and utilities
+ aur_install multimarkdown # markdown conversion
+ aur_install proselint # grammar checker
+ pacman_install aspell # spell check system
+ pacman_install aspell-en # spell check english files
+ pacman_install fd # a faster find for dired/dirvish
+ pacman_install ffmpegthumbnailer # video previews in dired/dirvish
+ pacman_install imagemagick # image previews for dired/dirvish
+ pacman_install libgccjit # native compilation for Emacs
+ pacman_install mediainfo # generating media info in dired/dirvish
+ pacman_install mpv # video viewer
+ pacman_install mailutils # Emacs' IMAP mail support backend
+ pacman_install msmtp # mail transport for Mu4e
+ pacman_install msmtp-mta # mail transport for Mu4e
+ pacman_install python-lsp-server # python language support
+ pacman_install rlwrap # adds readline support to programs (SBCL-related)
+ pacman_install sdcv # stardict dictionary system
+ pacman_install yt-dlp # video download
action="setting up emacs configuration files" && display "task" "$action"
- (sudo -u "$username" git clone --recurse-submodules $dotemacs_repo /home/$username/.emacs.d >> \
- "$logfile" 2>&1) || error "error" "$action" "$?"
+ (sudo -u "$username" git clone --recurse-submodules $dotemacs_repo /home/$username/.emacs.d >> \
+ "$logfile" 2>&1) || error "error" "$action" "$?"
+
+ action="Android Utilities" && display "subtitle" "$action"
+ pacman_install android-file-transfer
+ pacman_install android-tools
- action="DevOps Utilities" && display "subtitle" "$action"
+ action="DevOps Utilities" && display "subtitle" "$action"
- action="installing devops virtualization and automation tools" && display "task" "$action"
- # ensure headers exist first
- pacman_install linux-headers >> "$logfile" 2>&1 || error "error" "$action" "$?"
- pacman_install linux-lts-headers >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ action="installing devops virtualization and automation tools" && display "task" "$action"
+ # ensure headers exist first
+ pacman_install linux-headers >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ pacman_install linux-lts-headers >> "$logfile" 2>&1 || error "error" "$action" "$?"
pacman_install virtualbox >> "$logfile" 2>&1 || error "error" "$action" "$?"
- pacman_install virtualbox-guest-iso >> "$logfile" 2>&1 || error "error" "$action" "$?"
- pacman_install virtualbox-host-dkms >> "$logfile" 2>&1 || error "error" "$action" "$?"
- action="adding user to vboxusers group" && display "task" "$action"
+ pacman_install virtualbox-guest-iso >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ pacman_install virtualbox-host-dkms >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ action="adding user to vboxusers group" && display "task" "$action"
(gpasswd -a $username vboxusers >> "$logfile" 2>&1) || error "error" "$action" "$?"
pacman_install docker
pacman_install docker-compose
@@ -716,7 +724,7 @@ developer_workstation () {
action="enabling docker service to launch on boot" && display "task" "$action"
systemctl enable docker.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
pacman_install vagrant >> "$logfile" 2>&1 || error "error" "$action" "$?"
- pacman_install ansible >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ pacman_install ansible >> "$logfile" 2>&1 || error "error" "$action" "$?"
}
### Supplemental Software
@@ -725,89 +733,89 @@ supplemental_software() {
display "title" "Supplemental Software"
- # pacman installs
- pacman_install arandr # xrandr gui for monitor settings
- pacman_install arch-install-scripts # for making arch installers
- pacman_install archinstall # the archinstall python program
- pacman_install aria2 # fast downloader
- pacman_install calibre # ebook manager/viewer
- pacman_install dash # posix compliant /bin/sh
- pacman_install dfc # better display of available space on mounted filesystems
- pacman_install docx2txt # recovers text from docx files
- pacman_install entr # run arbitrary commands when files change
- pacman_install faac # open source mpeg 3 and aac encoder
- pacman_install faad2 # processes an aac stream
- pacman_install figlet # words into ascii art
- pacman_install filezilla # ftp gui
- pacman_install gparted # disk partition utility
- pacman_install gst-plugin-pipewire # gstreamer audio plugin for pipewire
- pacman_install gst-plugins-base # gstreamer base audio plugins
- pacman_install gst-plugins-good # gstreamer extra audio plugins
- pacman_install gstreamer # pipeline based multimedia framework
- pacman_install gucharmap # gui display of character maps
- pacman_install gzip # compression tool
- pacman_install handbrake # video transcoder
- pacman_install ledger # CLI accounting software
- pacman_install libconfig # library for processing structured config files
- pacman_install libmad # mpeg audio decoder
- pacman_install libmpeg2 # library for decoding mpeg video streams
- pacman_install maim # screenshot utility
- pacman_install mediainfo # technical and tag information about media files
- pacman_install mosh # alt SSH terminal with roaming and responsiveness support
- pacman_install mpc # command line interface to mpd
- pacman_install mpd # the music player daemon
- pacman_install ncmpcpp # and mpd client to play music
- pacman_install neofetch # cli system information tool
- pacman_install odt2txt # converts from open document to text
- pacman_install p7zip # p7zip compression tool
- pacman_install pandoc # universal document converter
- pacman_install perl-image-exiftool # reads/writes exif info for raw photo files
- pacman_install poppler-glib # poppler-glib document viewer library
- pacman_install pv # monitor progress of data through pipeline
- pacman_install ranger # terminal file manager
- pacman_install rclone # syncs files from gdrive, s3, dropbox, etc.
- pacman_install smartmontools # monitors hard drives
- pacman_install texlive-meta # 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
- pacman_install w3m # text based browser
- pacman_install wavpack # audio compression format
- pacman_install webkit2gtk # web content engine for GTK
- pacman_install xcb-util-cursor # calibre dependency (calibre installed manually)
- pacman_install xdotool # command line xorg automation tool
- pacman_install xz # general purpose data compression tool
- pacman_install zathura # document viewer
- pacman_install zathura-cb # zathura plugin for comics
- pacman_install zathura-djvu # zathura plugin for djvu books
- pacman_install zathura-pdf-mupdf # zathura plugin for pdf
- pacman_install zlib # compression library
-
- # aur installs
- aur_install authy # two-factor authenticator
- aur_install dtrx # extraction tool
- aur_install figlet-fonts # fonts for figlet
- aur_install hfsprogs # file system tools for Mac OS
- aur_install mcomix # image viewer for comic books
- aur_install nsxiv # image viewer
- aur_install picom-jonaburg-git # xorg compositor with enhancements
- aur_install tageditor # metadata editor for mkv, webm and related video files
- aur_install tidal-dl # tidal-dl:tidal as yt-dlp:youtube
- aur_install tremc # curses interface for transmission
- aur_install zsh-fast-syntax-highlighting-git # Optimized and extended zsh-syntax-highlighting
-
- # git installs
- git_install https://github.com/clamiax/snore.git # sleep with feedback
+ # pacman installs
+ pacman_install arandr # xrandr gui for monitor settings
+ pacman_install arch-install-scripts # for making arch installers
+ pacman_install archinstall # the archinstall python program
+ pacman_install aria2 # fast downloader
+ pacman_install calibre # ebook manager/viewer
+ pacman_install dash # posix compliant /bin/sh
+ pacman_install dfc # better display of available space on mounted filesystems
+ pacman_install docx2txt # recovers text from docx files
+ pacman_install entr # run arbitrary commands when files change
+ pacman_install faac # open source mpeg 3 and aac encoder
+ pacman_install faad2 # processes an aac stream
+ pacman_install figlet # words into ascii art
+ pacman_install filezilla # ftp gui
+ pacman_install gparted # disk partition utility
+ pacman_install gst-plugin-pipewire # gstreamer audio plugin for pipewire
+ pacman_install gst-plugins-base # gstreamer base audio plugins
+ pacman_install gst-plugins-good # gstreamer extra audio plugins
+ pacman_install gstreamer # pipeline based multimedia framework
+ pacman_install gucharmap # gui display of character maps
+ pacman_install gzip # compression tool
+ pacman_install handbrake # video transcoder
+ pacman_install ledger # CLI accounting software
+ pacman_install libconfig # library for processing structured config files
+ pacman_install libmad # mpeg audio decoder
+ pacman_install libmpeg2 # library for decoding mpeg video streams
+ pacman_install maim # screenshot utility
+ pacman_install mediainfo # technical and tag information about media files
+ pacman_install mosh # alt SSH terminal with roaming and responsiveness support
+ pacman_install mpc # command line interface to mpd
+ pacman_install mpd # the music player daemon
+ pacman_install ncmpcpp # and mpd client to play music
+ pacman_install neofetch # cli system information tool
+ pacman_install odt2txt # converts from open document to text
+ pacman_install p7zip # p7zip compression tool
+ pacman_install pandoc # universal document converter
+ pacman_install perl-image-exiftool # reads/writes exif info for raw photo files
+ pacman_install poppler-glib # poppler-glib document viewer library
+ pacman_install pv # monitor progress of data through pipeline
+ pacman_install ranger # terminal file manager
+ pacman_install rclone # syncs files from gdrive, s3, dropbox, etc.
+ pacman_install smartmontools # monitors hard drives
+ pacman_install texlive-meta # 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
+ pacman_install w3m # text based browser
+ pacman_install wavpack # audio compression format
+ pacman_install webkit2gtk # web content engine for GTK
+ pacman_install xcb-util-cursor # calibre dependency (calibre installed manually)
+ pacman_install xdotool # command line xorg automation tool
+ pacman_install xz # general purpose data compression tool
+ pacman_install zathura # document viewer
+ pacman_install zathura-cb # zathura plugin for comics
+ pacman_install zathura-djvu # zathura plugin for djvu books
+ pacman_install zathura-pdf-mupdf # zathura plugin for pdf
+ pacman_install zlib # compression library
+
+ # aur installs
+ aur_install authy # two-factor authenticator
+ aur_install dtrx # extraction tool
+ aur_install figlet-fonts # fonts for figlet
+ aur_install hfsprogs # file system tools for Mac OS
+ aur_install mcomix # image viewer for comic books
+ aur_install nsxiv # image viewer
+ aur_install picom-jonaburg-git # xorg compositor with enhancements
+ aur_install tageditor # metadata editor for mkv, webm and related video files
+ aur_install tidal-dl # tidal-dl:tidal as yt-dlp:youtube
+ aur_install tremc # curses interface for transmission
+ aur_install zsh-fast-syntax-highlighting-git # Optimized and extended zsh-syntax-highlighting
+
+ # git installs
+ git_install https://github.com/clamiax/snore.git # sleep with feedback
# some nice fonts
- aur_install ttf-lato
- pacman_install ttf-crimson-pro
- pacman_install ttf-crimson-pro-variable
- pacman_install ttf-go-nerd
- pacman_install ttf-jetbrains-mono-nerd
- pacman_install ttf-meslo-nerd
- pacman_install ttf-sourcecodepro-nerd
+ aur_install ttf-lato
+ pacman_install ttf-crimson-pro
+ pacman_install ttf-crimson-pro-variable
+ pacman_install ttf-go-nerd
+ pacman_install ttf-jetbrains-mono-nerd
+ pacman_install ttf-meslo-nerd
+ pacman_install ttf-sourcecodepro-nerd
}
@@ -824,46 +832,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=0/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
+ # 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=0/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
@@ -872,7 +880,7 @@ outro() {
action="Cleanup" && display "title" "$action"
action="forcing user password change on first login" && display "task" "$action"
- chage -d 0 "$username" >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ chage -d 0 "$username" >> "$logfile" 2>&1 || error "error" "$action" "$?"
display "subtitle" "Statistics"
action="identifying newly installed packages" && display "task" "$action"