diff options
| author | Craig Jennings <craigmartinjennings@gmail.com> | 2024-03-27 12:36:45 -0500 |
|---|---|---|
| committer | Craig Jennings <craigmartinjennings@gmail.com> | 2024-03-27 12:36:45 -0500 |
| commit | 201510f8ceb3a4287f623b27fead1eb4081d831e (patch) | |
| tree | b2286056548e0938845ba05f0d6efce9c0789610 /archsetup | |
| parent | 5984bc9d8c04461c0198fa8764c606bd3824950b (diff) | |
adding android tools and the jdk
Diffstat (limited to 'archsetup')
| -rwxr-xr-x | archsetup | 462 |
1 files changed, 235 insertions, 227 deletions
@@ -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" |
