diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-21 20:43:41 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-21 20:43:41 -0400 |
| commit | a4fd2b872add9e76eb288243da62e265f93b1217 (patch) | |
| tree | de9793724bd4cfb51cafe4c0b47e24eb399f886b | |
| parent | e0c1dc30f094c8c248316d53ae07b27fb089474e (diff) | |
| download | archsetup-a4fd2b872add9e76eb288243da62e265f93b1217.tar.gz archsetup-a4fd2b872add9e76eb288243da62e265f93b1217.zip | |
chore: tag sub-30-minute tasks with :quick:
I walked the open work and tagged 18 tasks finishable in 30 minutes or less — CSS spacing tweaks, single-file archsetup edits, gitignore-and-untrack cleanups, and config-flag gates. The tag filters the agenda down to quick wins.
| -rw-r--r-- | todo.org | 36 |
1 files changed, 18 insertions, 18 deletions
@@ -13,19 +13,19 @@ Four levels, matching the Emacs config (=org-highest-priority ?A=, =org-lowest-p Rule of thumb: A = dated-and-must; B = the active backlog; C = parking lot; D = untriaged. Fixing the undated A/B tasks means either dating them or demoting to C. * Archsetup Open Work -** TODO [#C] Waybar indicators unevenly spaced +** TODO [#C] Waybar indicators unevenly spaced :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: The right-side module icons don't sit at even intervals — spacing reads as inconsistent across the group. Tune the per-module margin/padding in =dotfiles/hyprland/.config/waybar/style.css= so the icons are evenly distributed. Noticed 2026-05-21 after adding the airplane indicator. -** TODO [#C] Airplane-mode toggle robustness follow-ups +** TODO [#C] Airplane-mode toggle robustness follow-ups :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: Two minor robustness gaps in =dotfiles/hyprland/.local/bin/airplane-mode= surfaced when the feature shipped (2026-05-21). Neither is a live bug — both are defense-in-depth. - No laptop guard on the toggle itself. The =waybar-airplane= indicator hides on battery-less machines, but =airplane-mode= would still run if invoked directly (e.g. a future keybind on a desktop). Mirror the =is_laptop= check at the top of the toggle so it no-ops off a laptop. - Brightness-restore edge. If =brightnessctl get= returns empty at engage time, disengage skips the restore (guarded by =[ -n "$bright_was" ]=) and the screen stays at 35%. Fall back to a sane brightness (e.g. 100%) when no prior value was recorded. -** TODO [#C] Wlogout exit-menu buttons are rectangular, not square +** TODO [#C] Wlogout exit-menu buttons are rectangular, not square :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: @@ -90,7 +90,7 @@ Checked each subtask below against the source / git state. Bottom line: almost n - *Standardize boolean comparison style* — NOT DONE. Mixed: =[ "$var" = "true" ]= at =archsetup:542,544,569= vs bare =if $var;= form ~7 places elsewhere. - *Replace eval with safer alternatives* — NOT DONE. =archsetup:442= still =if eval "$cmd" >> "$logfile" 2>&1;= in =retry_install=. -*** TODO [#A] Remove credentials and secrets from dotfiles +*** TODO [#A] Remove credentials and secrets from dotfiles :quick: - =.config/.tidal-dl.token.json= — active Tidal API token with userId - =.config/calibre/smtp.py.json= — hex-encoded relay password, personal email mappings (family Kindle accounts) - =.config/transmission/settings.json= — bcrypt-hashed RPC password @@ -127,7 +127,7 @@ Even after removing files, secrets remain in git history. Options: =git filter-repo= to rewrite history, or start a fresh repo for the GitHub remote. Recommend: fresh repo for GitHub (keep cjennings.net remote with full history). -*** TODO [#A] Remove device-specific configuration +*** TODO [#A] Remove device-specific configuration :quick: =archsetup= lines 1458-1463: Logitech BRIO webcam udev rule — move to optional/configurable section. *** DOING [#A] Add README.md for GitHub @@ -141,15 +141,15 @@ Drafted =README.md= at repo root, modeled on =~/code/chime/README.org=. First pa *** 2026-05-19 Tue @ 01:54:29 -0500 Added GPL-3 LICENSE file at repo root GPL-3 chosen. Canonical GPLv3 text landed at =LICENSE= on 2026-05-11 (commit =f80e664=). README already links to it. SPDX/license headers across source files (or a NOTICE file) split out as a new sub-task below for the eventual public release. -*** TODO [#A] Add SPDX/license headers to source files +*** TODO [#A] Add SPDX/license headers to source files :quick: For a real GPL-3 release on GitHub, every source file should carry an SPDX-License-Identifier header (or the repo should ship a NOTICE file naming the license + contributors). Not blocking — the =LICENSE= file at root is what GitHub needs. Worth doing once the credentials-cleanup work for open-sourcing actually ships. Light lift: pick a header template, sweep the install script + scripts/ + dotfile scripts. -*** TODO [#A] Remove binary font files from repo +*** TODO [#A] Remove binary font files from repo :quick: PragmataPro and Apple Color Emoji fonts in =dotfiles/common/.local/share/fonts/=. Add to =.gitignore=, document font installation separately. May have licensing issues for redistribution. -*** TODO [#A] Make claude-code installation optional +*** TODO [#A] Make claude-code installation optional :quick: Line 1781: =curl | sh= from claude.ai — should be behind a config flag. Not all users want AI tooling; curl-pipe-bash is a red flag for reviewers. @@ -164,7 +164,7 @@ Added two pre-flight validators to =archsetup= (right after =load_config=, befor - =validate_config()= — runs whenever =--config-file= is used: rejects unknown =DESKTOP_ENV= (must be dwm/hyprland/none) early instead of dying in step 7-9; rejects =AUTOLOGIN=/=NO_GPU_DRIVERS= values that aren't =yes=/=no= (currently silently ignored); basic shape check on =LOCALE=; and a scheme + no-whitespace/no-leading-dash check on the six =*_REPO= URLs that get passed to =git clone= (rejects e.g. =--upload-pack=…= injection). Plain =echo …>&2; exit 1= (the logging helpers aren't defined that early). =$source_dir= needs no separate check — it's =/home/$username/.local/src=, derived from the now-always-validated =$username=. Not a security boundary (=load_config= sources the config as bash; a hostile config can already run anything) — it's typo-catching. Verified with =bash -n= and a smoke-test matrix of good/bad inputs through both functions. The next =make test= run confirms valid configs still install. Leaving as DOING for review. -*** TODO [#A] Move battery out of waybar sysmonitor group +*** TODO [#A] Move battery out of waybar sysmonitor group :quick: Battery module is inside =group/sysmonitor= which bundles cpu, temp, memory, disk, and battery together. Battery should be a standalone module in =modules-right= so it's visible on laptops without the full sysmonitor group. *** TODO [#A] Resolution-adaptive scratchpad sizing @@ -199,10 +199,10 @@ Sites converted (the line numbers in the original task body were stale — actua The helper is defined before the top-level =--fresh= handler (which runs at load time, before the logging helpers exist), so it carries no =error_warn= dependency and reports refusals to stderr itself. The two in-function sites keep their existing =|| error_warn= / =|| error_fatal= handling. Tests: =tests/safe-rm-rf/test_safe_rm_rf.py= sources the real function out of the script and exercises Normal/Boundary/Error cases (13 tests) against real temp dirs. =make test-unit= green (61 tests), =bash -n= clean, no new shellcheck warnings. -*** TODO [#A] Standardize boolean comparison style +*** TODO [#A] Standardize boolean comparison style :quick: Mixed =[ "$var" = "true" ]= vs =$var= evaluation — pick one pattern. -*** TODO [#A] Replace eval with safer alternatives +*** TODO [#A] Replace eval with safer alternatives :quick: Line 434: =eval "$cmd"= — use arrays or direct execution. ** TODO [#B] Review post-archsetup laptop setup steps (velox 2026-04-10) @@ -382,7 +382,7 @@ Removed conflicting setxkbmap statements, gdm, and keyd configs - still didn't w :END: Currently just reports errors without guidance on how to fix them -** TODO [#B] Enable TLP power management for laptops +** TODO [#B] Enable TLP power management for laptops :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: @@ -484,7 +484,7 @@ Parse package warnings and repo metadata to catch upcoming deprecations proactiv *** TODO [#B] Check dotfiles for uninstalled packages - remove orphaned configs *** TODO [#B] Verify all stowed files are actually used -** TODO [#B] Remove unnecessary linux-firmware packages (velox only) +** TODO [#B] Remove unnecessary linux-firmware packages (velox only) :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: @@ -574,7 +574,7 @@ Establish clear process for tool evaluation decisions :END: Ensure new tools integrate with DWM environment and don't break workflow -** TODO [#B] Add Rust installation via rustup instead of pacman package +** TODO [#B] Add Rust installation via rustup instead of pacman package :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: @@ -637,7 +637,7 @@ error-prone — changes must be made in both places. Consider: - Same situation applies to fuzzel.ini The goal is a single place to edit each config, not two. -** TODO [#C] Create Chrome theme with dupre colors +** TODO [#C] Create Chrome theme with dupre colors :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: @@ -715,7 +715,7 @@ Keep ranger for DWM/X11 where ueberzug works fine. :END: Once-yearly systematic inventory of known deficiencies and friction points in current toolset -** TODO [#C] Install Zoxide integration into Ranger +** TODO [#C] Install Zoxide integration into Ranger :quick: :PROPERTIES: :LAST_REVIEWED: 2026-05-21 :END: @@ -754,10 +754,10 @@ Parse yay errors and provide specific, actionable fixes instead of generic error ** TODO [#D] Improve progress indicators throughout install Enhance existing indicators to show what's happening in real-time -** TODO [#D] Add retry logic to git_install function +** TODO [#D] Add retry logic to git_install function :quick: pacman_install and aur_install have retry logic, but git_install doesn't -** TODO [#D] Add cpupower installation and enabling to archsetup +** TODO [#D] Add cpupower installation and enabling to archsetup :quick: cpupower service configures the default CPU scheduler (powersave or performance) Install cpupower, configure /etc/default/cpupower, enable service: ~systemctl enable --now cpupower.service~ |
