<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/archive, 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-09-16T19:10:34+00:00</updated>
<entry>
<title>chore(tasks): file the MT7925 Bluetooth bug and the AX210 swap</title>
<updated>2026-09-16T19:10:34+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-09-16T19:10:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=221bf506a5619ae4d635ced55f13f5549dc351d4'/>
<id>urn:sha1:221bf506a5619ae4d635ced55f13f5549dc351d4</id>
<content type='text'>
Three headsets drop HFP call audio on velox's MT7925, and the kernel's sentinel-handle errors match a pending upstream firmware report, so I'm replacing the card with an Intel AX210. I also filed the net doctor captive-portal task and archived two aged completed tasks.
</content>
</entry>
<entry>
<title>chore(tasks): archive the closed velox and wttrin tasks</title>
<updated>2026-09-13T14:58:25+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-09-13T14:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=12ee214f1ab1271b9e4082e05ca44d6cd8a4b03a'/>
<id>urn:sha1:12ee214f1ab1271b9e4082e05ca44d6cd8a4b03a</id>
<content type='text'>
The velox reinstall drill, the lock-screen clock bug and the rescued wttrin commit move to Resolved, and one aged resolved task moves to the archive file.
</content>
</entry>
<entry>
<title>chore(tasks): file the Proton profile and doctor-test follow-ups</title>
<updated>2026-09-10T04:39:11+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-09-10T04:39:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=e73b5a48196a961608a8d1d69a4bd309143fb8d4'/>
<id>urn:sha1:e73b5a48196a961608a8d1d69a4bd309143fb8d4</id>
<content type='text'>
Two tasks from the net doctor work: the static Proton WireGuard profiles pass no traffic (re-import them or go CLI-only), and the declined dot-link-restore branch has no direct test. The cleanup pass archived seven aged done-subtrees.
</content>
</entry>
<entry>
<title>chore(tasks): close the fn-lock bug and file the speedtest cancel</title>
<updated>2026-09-01T21:14:51+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-09-01T21:14:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=6ead911993f4f6dc11c2e418c3f88b176fc21dc6'/>
<id>urn:sha1:6ead911993f4f6dc11c2e418c3f88b176fc21dc6</id>
<content type='text'>
The F row issuing media actions was the Framework EC's Fn Lock. One
Fn+Esc toggle fixed it, confirmed live, so the task closes with no code
change. The F9 video-recording unbind turned out to be Emacs config,
not Hyprland, and went to that repo as a handoff. Also filed the net
panel speedtest-cancel capture as a task and archived three finished
tasks.
</content>
</entry>
<entry>
<title>chore(tasks): file the velox hibernate drain diagnosis and archive three done clusters</title>
<updated>2026-08-26T22:22:37+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-26T22:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=3df22bf89d9d808ffd49eb38c7ef06f4f6e0e33b'/>
<id>urn:sha1:3df22bf89d9d808ffd49eb38c7ef06f4f6e0e33b</id>
<content type='text'>
Two overnight hibernates ended with a dead battery. The journal and upower
history point at three separate faults, so I filed them as three children of
the sleep task: the Framework 13 AMD freeze on hibernate entry (with a
five-cycle observed test), the ZFS ARC starving the image preallocation so
suspend-then-hibernate only ever suspends, and the SD reader's media polling
blocking suspend outright. Until the freeze is confirmed the rule is written
down: no unattended hibernate on battery. Archived three finished clusters.
</content>
</entry>
<entry>
<title>docs: draft the guarded-upgrade spec and file the open velox items</title>
<updated>2026-08-25T18:58:26+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-25T18:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=77447d02dcc3d68abfbf6e097f8dc0b0f7d443ac'/>
<id>urn:sha1:77447d02dcc3d68abfbf6e097f8dc0b0f7d443ac</id>
<content type='text'>
The topgrade freshness warning never clears because the stamp is written only when topgrade exits 0, and the live-update guard plus any failing ecosystem step makes that exit almost unreachable. The spec (DRAFT) weighs four ways to close that. Its open decisions are state versus recency, an armed boot-time oneshot, an arch-only boot run and a persistent one-shot arm flag.

Four tasks filed:
- the spec's decisions, review and decomposition
- ratio pulling .emacs.d before its Emacs 31.1 upgrade
- the stale lock-screen clock after a real sleep
- the Signal tray icon waybar can't read. Electron 43 registers it under a well-known bus name and answers property reads only there. Downgrading is closed off by the database schema.

The Lua-port task got its date and the sleep task carries the two Aug 23 hibernate failures. Wrap hygiene moved 42 aged resolved subtrees into the task archive.
</content>
</entry>
<entry>
<title>chore: stage the Hyprland Lua port with its redeploy kit</title>
<updated>2026-08-24T20:27:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-24T20:27:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=8b5e438d787ff73c3344b4c5ea1141cf8b23ef69'/>
<id>urn:sha1:8b5e438d787ff73c3344b4c5ea1141cf8b23ef69</id>
<content type='text'>
Hyprland 0.57 drops the .conf format. The port is built and measured identical to the current config in a nested compositor — 38 settings, 103 binds, the host-override chain — but it is not deployed. I put it live this afternoon and took it back out the same hour, because it had not been run on real hardware and the machine has to stay usable until it has.

working/hyprland-lua-port/ carries what the switch needs, including the two reader changes as replayable patches. Those matter more than the config itself: four things read hyprland.conf as a source of truth, and dotfiles-validate globs hypr/*.conf, so with the .conf gone it finds nothing and reports a clean tree.

Two facts not worth re-deriving: with both files present 0.56.2 loads the .lua, so keeping the .conf beside it buys no rollback; and a running compositor rewrites a stub config within a second of the file vanishing, which is what fights a restow.

Also archives finished tasks and folds in several sessions of task-review edits.
</content>
</entry>
<entry>
<title>chore(tasks): archive three finished clusters</title>
<updated>2026-08-21T14:39:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-21T14:39:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=1bb5955b121d650302ba3eab08e44cc004470a91'/>
<id>urn:sha1:1bb5955b121d650302ba3eab08e44cc004470a91</id>
<content type='text'>
Wrap-up hygiene. The VM test-framework robustness, gallery-widget elisp, and test-quality audit clusters were all closed and move from Open Work into the archive.
</content>
</entry>
<entry>
<title>fix(velox): trace the dead touchpad to its own connector, and repair two lost todo headings</title>
<updated>2026-08-20T16:46:19+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-20T16:46:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=fb13378559cdc6a9ef3b23883bcbda2937dc1195'/>
<id>urn:sha1:fb13378559cdc6a9ef3b23883bcbda2937dc1195</id>
<content type='text'>
The touchpad fault was an interrupt line that never fired: the device
enumerated, hid-multitouch bound, and the handler sat correctly on amd_gpio
pin 8, but the count stayed at zero across all 24 CPUs under active use and
the i2c-HID reset timed out at every boot. A live USB reproduced it exactly,
which ruled out software. The fix was the touchpad's own connector — the
input-cover ribbon I reseated first fixed the phantom power button and left
this untouched, and the 4-pin connector beside the silkscreen is GND and VCC
only, so it could never have carried i2c. Both faults from the mainboard swap
are now closed.

Two task headings had been overwritten by inserts at the top of Open Work, and
I recovered both verbatim from the commits that introduced them. One displaced
task had ridden an archived parent into Resolved, so an open bug had been
sitting outside Open Work for weeks.

Filed the install placeholder passwords still live on this laptop as an [#A],
graded on severity alone rather than the frequency matrix: full-disk encryption
protected by a dictionary word does no work at all on a machine that travels.

Corrected the ARCHSETUP_DIR line in the reinstall runbook. It carried a tilde on
the right-hand side of an assignment, which zsh does not expand, so following it
would have produced an ISO with the installer silently absent.
</content>
</entry>
<entry>
<title>chore: rebuild velox and file what the reinstall exposed</title>
<updated>2026-08-14T15:03:26+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-14T15:03:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=e8004e3a7416c57661d43e8bfaefb7c77255129e'/>
<id>urn:sha1:e8004e3a7416c57661d43e8bfaefb7c77255129e</id>
<content type='text'>
The mainboard swap left no boot entry, so I reinstalled from the archangel ISO rather than repairing a ZFS-root machine a stock USB can't read. Ran it as a disaster-recovery drill: microcode, keys, repos, and data are back, and hibernate now works end to end on a 100G encrypted swap.

The tasks are most of what this bought. Reseating the input-cover ribbon is [#A] for today, because four phantom power-button presses and the dead touchpad are one loose connector, and the last one cut power below systemd. The rescued emacs-wttrin bundle rides along until it lands on its remote; the runbook stays until velox is settled.
</content>
</entry>
</feed>
