summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <craigmartinjennings@gmail.com>2024-04-13 14:40:35 -0500
committerCraig Jennings <craigmartinjennings@gmail.com>2024-04-13 14:40:35 -0500
commit94743e6d2bb964f2cbf4d47fdb682f5f088a285b (patch)
tree61111f1d8a6aebe8f3415322d0f31370ca9bdd6c
parent78dfbf86b01f9ecb2eaf8e999f8f79e45b394903 (diff)
fit and finish bug fixing
- install gist - add nohostname flag to all agetty commands - added pacman repo maintenance timer - gotop -> gotop-bin - tor-browser -> tor-browser-bin - updated tasks
-rw-r--r--TODO.org93
-rwxr-xr-xarchsetup16
2 files changed, 94 insertions, 15 deletions
diff --git a/TODO.org b/TODO.org
index ab60bcf..3b83c28 100644
--- a/TODO.org
+++ b/TODO.org
@@ -20,12 +20,16 @@ ffmpeg -framerate 30 -f x11grab -i :0.0+ -f pulse -i alsa_input.pci-0000_00_1b.0
** DONE [#B] Setup Virtualbox with ArchBase for Testing
CLOSED: [2024-04-11 Thu 08:49]
-** TODO [#B] Fix 2 Errors in Archsetup Fresh Installation
-** TODO [#C] No Wallpaper on First Boot
-** TODO [#C] Quiet Login of Hostname No Longer Working
-I think this is a dangerous thing to mess with and we should remove
-** TODO [#B] Add Missing Emacs Dependencies
-*** TODO Install Gist
+** DONE [#C] Add paccache systemd timer
+CLOSED: [2024-04-13 Sat 12:58]
+systemctl enable --now paccache.timer
+will setup paccache -rk3 to run every three days. You can locate the paccache.service file to adjust this to your needs.
+** DONE [#C] Fix 2 Errors in Archsetup Fresh Installation
+CLOSED: [2024-04-13 Sat 12:59]
+** DONE [#C] No Wallpaper on First Boot
+CLOSED: [2024-04-13 Sat 12:59]
+** DONE [#C] Install Gist Emacs Dependency
+CLOSED: [2024-04-13 Sat 14:12]
...from the AUR Under Emacs Dependencies
for this particular dependency:
(use-package erc-yank
@@ -35,10 +39,15 @@ for this particular dependency:
(:map erc-mode-map
("C-y" . erc-yank)))
-*** TODO Add Docker Image for Telega
+** VERIFY [#C] Quiet Login of Hostname No Longer Working
+*** 2024-04-13 Sat @ 14:33:42 -0500 Test if alternate getty is the reason
+Ran same sed command to change all agetty commands
+** TODO [#C] Add Docker Image for Telega Emacs Dependency
** TODO [#B] v0.5 Scenario Test & Bugfixes
+*** Virtualbox Installation Testing
+*** Reinstall Velox Using Latest
* ArchSetup v0.6
-** TODO [#B] Allow Sleep/Suspend for Framework Laptop
+** TODO [#B] Sleep/Suspend Working on Framework Laptop
*** Note: kernel parameter for sleep/suspend issue in Framework Laptop
#+BEGIN_QUOTE
Lastly, my findings… after bit of testing and measuring, it appears that with more or less up-to-date software (current linux kernel, systemd, etc.) it evens out (very scientifically measured:) at around 1.2-1.3 percent/hour in s2idle for the above described configuration (mainly 2x16 GB SO-DIMM sticks), independent of the distribution used (i.e. Fedora and NixOS) but with “rtc_cmos.use_acpi_alarm=1” added to the kernel command line (iiuc, which will become the default in a future systemd release thanks to @Mario_Limonciello et al.) and a “powertop --auto-tune” run at boot time. Considering that refreshing memory in sleep/stand-by mode is the main consumer of energy and that soldered memory consumes around 90% less energy (with the obvious caveats, of course) in sleep than non-soldered solutions, this boils down (again, very scientifically measured) to around 0.7/0.8 watts in s2idle, which is a (very) good result, imo. This would be the first laptop with which i’ve been able to achieve acceptable suspend results now that ACPI S3 appears to have gone everywhere. Thanks a bunch, everybody…
@@ -69,7 +78,7 @@ The AllowSuspendThenHibernate line is commented out but that is the default so i
#+END_QUOTE
[[https://community.frame.work/t/tracking-suspend-on-linux-drains-a-lot-of-battery-compared-to-other-laptop/24737/12][[TRACKING] Suspend on linux drains a lot of battery compared to other laptop - Framework Laptop 13 / Linux - Framework Community]]
Captured On: [2024-03-03 Sun 07:14]
-** TODO [#B] Graphical Boot and Login
+** TODO [#B] Optional: Graphical Boot and Login
*** TODO SDDM
then systemctl enable sddm.service
**** Move All Startup Apps to Startdwm and Call Startdwm From Xinitrc
@@ -161,10 +170,70 @@ $ ls -l /usr/local/bin/startdwm
Captured On: [2024-04-02 Tue 17:46]
*** TODO Plymouth
+** TODO [#C] Robust Installation Using Local Packages
+*** What Problem Am I Trying to Solve?
+reinstall current configuration entirely offline
+this includes building emacs and all packages
+*** requirements
+- local package store as current as the last installation
+- all git repositories in same location as package store
+- archsetup changes to use local if available, otherwise fallback to online repositories as normal.
+*** nice-to-have
+- bootable archinstall with archsetup
+- script that reconfigures the local store as the package repository to use for installs
+*** aconfmgr package and restore local package cache from elsewhere?
+https://github.com/CyberShadow/aconfmgr
+
+would probably need to have aconfmgr script save on systemd timer, and notify when new in unsorted.
+
+Elsewhere could be:
+- git repo download (what if no wifi available, and how is this better than using official online repos)?
+- local directory (more complex)
+ need an attached drive or partition (maybe just partition the install this way?)
+ maybe still use git clone as the copy mechanism? (no - probably no need to keep revisions)
+ maybe rsync the package cache with --delete and then rsync in reverse during the archsetup script?
+- regardless, I need to fallback to network connectivity if local repository fails
+
+*** pacman trigger copying packages to local drive, then git repo
+#+BEGIN_QUOTE
+EXAMPLES
+
+# Force disks to sync to reduce the risk of data corruption
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Type = Package
+Target = *
+[Action]
+Depends = coreutils
+When = PostTransaction
+Exec = /usr/bin/sync
+#+END_QUOTE
+[[https://man.archlinux.org/man/alpm-hooks.5][alpm-hooks(5) — Arch manual pages]]
+Captured On: [2024-04-13 Sat 13:19]
+
+** TODO [#C] Cleanup Dotfiles Repository
+The .dotfiles repo has configuration for applications I no longer use.
* ArchSetup Backlog
+** TODO [#C] Rewrite Archsetup in Another Language
+There's no current way to test each function, and Archsetup's complexity will grow
+*** Which Language?
+**** Python
+| pros | cons |
+|-----------------------------------+-----------------------------------|
+| text based and easily inspectable | needs the interpreter installed |
+| more engineers can contribute | unit testing frameworks not great |
+| great libraries | |
+| ablity to curl and pipe? | |
+**** Go
+| pros | cons |
+|------------------------------------+---------------------------------|
+| no interpreter needed | opaque binary; less credibility |
+| great unit test framework built-in | |
+
** TODO [#B] ZFS on Root Install
-** TODO [#C] Cleanup Dotfiles
-The .dotfiles repo has configuration for applications I no longer use.
+[[file:///usr/share/doc/arch-wiki/html/en/Install_Arch_Linux_on_ZFS.html][Install Arch Linux on ZFS - ArchWiki]]
** TODO [#C] Evaluate Hyprland to Duplicate DWM Workflow
** TODO [#D] Evaluate i3 / Sway to Duplicate DWM Workflows
** TODO [#D] Evaluate Rofi Menus
@@ -190,4 +259,4 @@ Note: There is a #define option in config.h which also allows you to switch the
#+END_QUOTE
[[https://wiki.archlinux.org/title/Dwm][dwm - ArchWiki]]
Captured On: [2024-04-02 Tue 17:42]
-** TODO Add pyenv to archsetup
+** TODO [#A] Add Pyenv to Archsetup
diff --git a/archsetup b/archsetup
index ff4b61a..00e5fe3 100755
--- a/archsetup
+++ b/archsetup
@@ -145,7 +145,7 @@ aur_install() {
fi
}
-# Pip Install
+# PIP Install
pip_install() {
[ -x "$(command -v "pip")" ] || pacman_install python-pip
action="installing $1 via PIP" && display "task" "$action"
@@ -424,6 +424,11 @@ essential_services() {
pacman_install at
action "enabling the batch delayed command scheduler" && display "task" "$action"
systemctl enable atd >> "$logfile" 2>&1 || error "error" "$action" "$?"
+
+ # Package Repository Cache Maintenance
+
+ display "subtitle" "Package Repository Cache Maintenance"
+ systemctl enable --now paccache.timer >> "$logfile" 2>&1 || error "error" "$action" "$?"
}
### Xorg Display Manager
@@ -550,7 +555,7 @@ desktop_environment() {
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-bin rar; do
aur_install "$software"
done;
@@ -603,7 +608,7 @@ desktop_environment() {
action="Browsers" && display "subtitle" "$action"
pacman_install firefox
aur_install librewolf-bin
- aur_install tor-browser
+ aur_install tor-browser-bin
aur_install google-chrome-stable
# Install Printing
@@ -684,6 +689,7 @@ developer_workstation () {
aur_install mu # email indexer and utilities
aur_install multimarkdown # markdown conversion
aur_install proselint # grammar checker
+ aur_install gist # command-line gist poster
pacman_install aspell # spell check system
pacman_install aspell-en # spell check english files
pacman_install fd # a faster find for dired/dirvish
@@ -850,6 +856,10 @@ silent_boot() {
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" "$?"
+ sed -i "s/--noclear/--nohostname --noclear/g" /usr/lib/systemd/system/container-getty@.service \
+ || error "error" "$action" "$?"
+ sed -i "s/--noclear/--nohostname --noclear/g" /usr/lib/systemd/system/console-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" "$?"