<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup, branch main</title>
<subtitle>Builds a full dev workstation from a bare Arch Linux install.
</subtitle>
<id>https://git.cjennings.net/archsetup/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archsetup/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/'/>
<updated>2026-06-13T06:21:58+00:00</updated>
<entry>
<title>chore(todo): close quick-capture popup task, file scroll-layout follow-up</title>
<updated>2026-06-13T06:21:58+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-13T06:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=9e426241e1632fe9d5c9ee6c7cb60d11c13ac1fa'/>
<id>urn:sha1:9e426241e1632fe9d5c9ee6c7cb60d11c13ac1fa</id>
<content type='text'>
The popup fix shipped in the dotfiles repo (the script now calls cj/quick-capture; the scrolling layout is disabled and Super+Shift+S reassigned to a fullscreen screenshot). I filed the scrolling-layout frame-fit and wrap-around work as a follow-up, and archived the processed cross-project handoff replies.
</content>
</entry>
<entry>
<title>chore(todo): file quick-capture coordination and scroll-layout tasks</title>
<updated>2026-06-13T01:55:24+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-13T01:55:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=b8854515811a19babcbce8feb863c35a440ba4ab'/>
<id>urn:sha1:b8854515811a19babcbce8feb863c35a440ba4ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(todo): close silent mic-mute notifications — shipped</title>
<updated>2026-06-11T18:38:43+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T18:38:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=b47bdb3d3e7a710a1514ecf29446c7fa5776a0bc'/>
<id>urn:sha1:b47bdb3d3e7a710a1514ecf29446c7fa5776a0bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(todo): file silent mic-mute notifications task</title>
<updated>2026-06-11T18:18:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T18:18:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=7de74adfc8f1017adc979e5d81e58bd2fec68602'/>
<id>urn:sha1:7de74adfc8f1017adc979e5d81e58bd2fec68602</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(todo): archive completed level-2 tasks to Resolved</title>
<updated>2026-06-11T18:06:37+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T18:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=d04405fc1d5c802e01982fac479b6fd72a8eef6a'/>
<id>urn:sha1:d04405fc1d5c802e01982fac479b6fd72a8eef6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(todo): close the VM-warning investigation — all five resolved</title>
<updated>2026-06-11T17:59:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T17:59:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=4f0baa9cfb690a46c2b692b9b8c6de67bb5bc793'/>
<id>urn:sha1:4f0baa9cfb690a46c2b692b9b8c6de67bb5bc793</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(testing): lingering check could never pass — ls output broke the capture</title>
<updated>2026-06-11T17:57:49+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T17:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=5b519001a73d98ac7c1ab49256ac34781994f9e0'/>
<id>urn:sha1:5b519001a73d98ac7c1ab49256ac34781994f9e0</id>
<content type='text'>
The check captured 'ls path &amp;&amp; echo yes', so a present linger file produced 'path\nyes', which never string-equals yes — every run warned regardless of actual state. Forensics on a kept VM showed lingering correctly enabled all along (file present mid-install, loginctl Linger=yes, logind healthy): the original VM-artifact hypothesis was wrong, archsetup's enable-linger calls were always fine. test -e captures cleanly; verified returning 'yes' against the live VM.
</content>
</entry>
<entry>
<title>fix(install): retry the bulk package-cache refresh</title>
<updated>2026-06-11T16:34:22+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T16:34:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=c0d83a4c75ae97d64b28f291c9f007c2bcb86d6e'/>
<id>urn:sha1:c0d83a4c75ae97d64b28f291c9f007c2bcb86d6e</id>
<content type='text'>
A single slow mirror (fastly, &lt;1 byte/sec on one signature file) halted a full install at the -Syu step, which had no retry while every per-package install gets three attempts. The refresh now shares MAX_INSTALL_RETRIES; pacman resumes partial downloads, so a transient stall recovers.
</content>
</entry>
<entry>
<title>feat(scripts): package auditor + fix the four packages it caught</title>
<updated>2026-06-11T16:29:41+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T16:29:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=1f89523739a575f5dec19616ec44df4143df4866'/>
<id>urn:sha1:1f89523739a575f5dec19616ec44df4143df4866</id>
<content type='text'>
scripts/audit-packages.sh extracts every pacman_install/aur_install package (loop lists included) and verifies each against its declared source — sync dbs for official, one batched RPC query for AUR — flagging movers in both directions. Unit-tested against fixture installers with fake pacman/curl.

First real run over 420 packages found four that vanished from both sources, each now fixed: libva-mesa-driver folded into mesa (line dropped), nvidia-dkms replaced by nvidia-open-dkms (Turing+; legacy cards are the preflight task's problem), swww replaced by awww (its successor, already what both machines run), and libappindicator-gtk3 replaced by libayatana-appindicator. Fifteen AUR entries that graduated to official repos still install fine via yay and are left as-is.
</content>
</entry>
<entry>
<title>feat(install): stow the per-host dotfiles tier when one exists</title>
<updated>2026-06-11T16:21:22+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-11T16:21:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=e688d70ed400d8ea1e293493eddbf5e237854823'/>
<id>urn:sha1:e688d70ed400d8ea1e293493eddbf5e237854823</id>
<content type='text'>
Mirrors the dotfiles Makefile semantics: a package named after the machine (/etc/hostname, uname -n fallback) is stowed after common + DE when the directory exists, skipped with a message otherwise. Hosts without a tier — including the test VM — see no behavior change.
</content>
</entry>
</feed>
