| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
close-out
|
| |
|
|
| |
handoffs
|
| |
|
|
| |
The 19:06 verification run showed the portal skip not firing: a socket-activated xdg-desktop-portal process exists even headless, so the process check was the wrong precondition. The skip now keys on a running Hyprland, same as the socket check. That run confirmed the other three skips live (warnings 5 to 2); the remaining counted warnings are this portal case and the lingering question, which stays open.
|
| |
|
|
|
|
| |
file managers, criteria
Five evaluation reports: modern CLI tools (adopt bat/dust/hyperfine/tealdeer/doggo, all in extra), paru vs yay (stay with yay — paru dormant 11 months with a libalpm-broken stable), terminal emulators (stay with foot; ghostty the only challenger, wezterm effectively unmaintained), Wayland file managers (keep nautilus, add yazi over porting the frozen ranger), and the standing evaluation criteria distilled from the round. Maintenance claims verified against live repo data, not aggregator articles.
|
| |
|
|
| |
Four warnings fired on every headless VM run, training the reader to ignore the warning count: the Hyprland socket and portal queries (no graphical login), the mDNS ping (slirp passes no multicast), and docker-not-responding (enabled but deliberately not started pre-reboot). Each now detects its precondition and logs a skip that counts nowhere; the warn paths stay for the cases that are real (compositor running without a socket, portal running but unqueryable, mDNS failing on real networking, docker active but dead). The lingering warning stays — it needs its own investigation.
|
| |
|
|
| |
velox's first post-trim boot showed r8152 failing to load rtl_nic/rtl8156b-2.fw — the Framework Ethernet expansion card is a Realtek RTL8156B, so the trim list was wrong to drop realtek firmware. The driver runs on internal defaults without the blob, so nothing broke, but the package is back on velox and out of the removal list.
|
| | |
|
| | |
|
| |
|
|
| |
The dotfiles validation hardcoded .dotfiles/common/.zshrc, but a none install stows the standalone minimal/ tree, so the first none-run ever to reach validation failed on a correct symlink. The expected path now follows DESKTOP_ENV from the VM conf.
|
| | |
|
| |
|
|
| |
TLP installs and enables on any machine with a battery (BAT* present), with an /etc/tlp.d/01-custom.conf pinning the CPU energy/perf split per power source; systemd-rfkill gets masked per TLP's docs. The firmware trim is DMI-gated to Framework Intel machines, where the hardware set is known: keep linux-firmware-intel and -atheros, remove the meta and the other ten subpackages (~600MB). Applied live on velox first — TLP 1.10.1 active, wifi up after the trim, initramfs rebuilt clean.
|
| |
|
|
| |
Unpacked-extension theme mapping the dupre palette onto Chrome's window chrome: bg #151311 frame, bg+1 toolbar/omnibox, gold #d7af5f new-tab links, steel inactive-tab text. Install via chrome://extensions dev mode, Load unpacked.
|
| |
|
|
| |
It's the headless JSON-RPC backend for the in-Emacs Signal client, hand-installed until now. Device linking stays manual (interactive QR scan) — the install only guarantees the binary.
|
| |
|
|
| |
Fresh installs were skipping uv, so PEP 723 inline-script shebangs (#!/usr/bin/env -S uv run --script) failed with env: uv: No such file or directory. ratio and velox had it hand-installed.
|
| | |
|
| | |
|
| |
|
|
| |
Add :solo: to the waybar even-spacing and Chrome dupre-theme tasks. Both are ratio-local and objectively verifiable (measure the gaps, confirm the palette hex values), with the eyeball confirmation handed off as a manual-testing reminder. Velox-only or design-call visual tasks stay off.
|
| |
|
|
| |
Add :solo: to the security-dashboard command task. It's buildable and locally verifiable against known system state with no upfront decision, so it meets the clarified solo bar.
|
| |
|
|
| |
Tag six tasks :solo: (finishable end to end with no input, verifiable locally): the airplane-mode robustness follow-ups, the signal-cli and uv install additions, the Phase-2 VM verify, and the two automate-X scripts (usage tracking, dotfile validation). Kept :solo: off anything needing a design call, visual confirmation, laptop-only hardware, or sign-off.
|
| |
|
|
| |
File three [#B] waybar tasks: collapsible bar sides (an arrow click shrinks either side to a base set), an nmcli-backed network-manager dropdown with optional GPG-encrypted secrets, and a desktop-settings dropdown gathering the dim, brightness, touchpad, airplane, and idle toggles and sliders.
|
| |
|
|
| |
The wlogout buttons render square on ratio but rectangular on velox, so it's a resolution difference, not a flat bug. Note that, require a regression test so the square-cell fix holds across both hosts' resolutions, and drop :quick: since the cross-host test is more than a spare-moment change.
|
| |
|
|
| |
Re-grade the open-source-release epic to [#B] and drop its stale 2026-05-21 schedule (the date had long passed, and an undated B is the honest state). Re-grade sleep/suspend to [#C]. Tag the mpd playlist-split task :quick:. Refresh the review dates on the oldest-unreviewed batch.
|
| |
|
|
|
|
|
|
| |
Mark the dotfiles-separation epic DONE. Phases 1-3.2 shipped and ratio's stale dotfiles symlinks are cleaned up. Promote its two open follow-ups (per-host override, Phase-2 VM verify) to standalone [#B] tasks.
Close the claude-code-optional and input-validation items as shipped. Note that six open-source-release sub-tasks now target the dotfiles repo after Phase 3.2 moved that tree out.
File a [#B] guard against a live mesa/hyprland/wayland-runtime -Syu crashing the compositor.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated.
The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles && make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf).
I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
archsetup installs mosh, but the ufw rule list never opened its UDP range. A fresh install or rerun leaves incoming mosh blocked until the port is added by hand. I added 60000:61000/udp to the declarative rule loop so the firewall config reproduces a working mosh setup on rebuild.
|
| |
|
|
| |
Filed two new [#B] parent tasks. The local offline LLM runtime task carries design-decision and implementation children for resolving the open design questions alongside implementation work. The uv install task matches the existing eask/signal-cli tooling-codification shape — load-bearing for other projects, manually installed today, codify so fresh installs pick it up. Four cross-project handoffs moved to outbox.
|
| |
|
|
| |
I closed the Hyprland dim-inactive task. The config itself shipped in the dotfiles repo. The cleanup pass archived five resolved subtrees into Resolved and bumped the per-machine-override task to [#A].
|
| | |
|
| |
|
|
|
|
| |
I added cpupower earlier this session, VM-verified it, then realized it's the wrong tool here. Both my machines run active-mode pstate drivers (the desktop on amd-pstate-epp, the laptop on intel_pstate), where the only governors are performance and powersave and the driver scales frequency itself via EPP. Both already sit on powersave, which is the recommended adaptive mode, not "slow."
cpupower's governor-forcing only helps older acpi-cpufreq systems, which I don't run. Forcing performance would pin max clocks: worse battery on the laptop, pointless heat on the desktop. So I dropped the cpupower step rather than ship a backwards default. The cpufreq drivers self-manage with no help from us.
|
| |
|
|
| |
Three task additions from this session: provision Eask in archsetup (linear-emacs handoff), add signal-cli to the standard install (.emacs.d handoff), and investigate dimming inactive Hyprland windows.
|
| |
|
|
|
|
| |
A VM test caught my cpupower step failing with sed exit 2: the cpupower package no longer ships /etc/default/cpupower, so there was nothing to edit. The step was non-fatal, so the install carried on, but the governor never got set.
I now write the file fresh with printf, which creates it whether or not one exists. The governor stays performance for the reasons in the surrounding comment.
|
| |
|
|
|
|
| |
A VM test run hung for 80 minutes and timed out. yay was blocking on "Diffs to show?" for an AUR package whose build files already existed, waiting for input that never comes in a headless install. --noconfirm doesn't cover yay's diff and clean menus.
I added --answerdiff None --answerclean None to the yay call in aur_install: show no diffs, don't clean, proceed. This is the right answer for an unattended run and matches the --noconfirm posture already in place. It likely explains the recurring 90-minute VM-test timeouts that read like slow AUR builds.
|
| |
|
|
| |
Both were stale. The eval task pointed at a line-434 eval that no longer exists. The only eval left is in retry_install, and it's the deliberate one that captures the exit code directly, so there's nothing to replace. The rustup task was already implemented (rustup install plus rustup default stable in the languages section). It just predated that work.
|
| |
|
|
|
|
| |
I added cpupower to the Power section: install it, set the governor in /etc/default/cpupower, and enable cpupower.service so the governor applies at boot.
The governor is performance. It's the one value valid under every cpufreq driver. amd_pstate and intel_pstate in active mode accept only performance or powersave, while passive and acpi-cpufreq also allow schedutil and ondemand. Laptops want powersave, so that's a per-host override to layer on later. The enable is non-fatal, matching the rest of the Power section.
|
| |
|
|
| |
The claude-code step is a curl|sh from a third party, and not every user wants AI tooling. I put it behind INSTALL_CLAUDE_CODE (default yes, so current behavior is unchanged), with matching --claude-code / --no-claude-code flags. I wired it the same way as AUTOLOGIN and NO_GPU_DRIVERS: config mapping, a validate_config yes/no check, and a guard around the install block. I also documented the key in archsetup.conf.example.
|
| |
|
|
|
|
| |
pacman_install and aur_install retry up to MAX_INSTALL_RETRIES. git_install only retried the clone once and never the build. I folded it into the same retry loop: it cleans the build dir between attempts and runs clone && make-install as one command list, so the captured exit code is the real failure rather than the if-statement's status (the trap retry_install documents).
One behavior change: a build that fails every attempt now warns and continues instead of being fatal on the re-clone path. That matches how pacman and aur failures are handled, so one source build that won't compile no longer aborts the whole install. It surfaces in the error summary instead.
|
| |
|
|
|
|
| |
I added a spec for a per-machine override mechanism (docs/PLAN-per-host-overrides.org). It proposes per-host stow tiers keyed on hostname, with the existing conf.d glob as the first tenant, so HiDPI scaling can differ between ratio and velox without per-app patches. It's gated on review.
I also updated the task list: added a pocketbook development backlog and a waybar timer module task, fleshed out the per-host task with a spec link, and rewrote the stale velox "pocketbook not installed" review item as a dated entry now that nothing installs it.
|
| |
|
|
|
|
| |
Pocketbook is nowhere near ready, so I pulled it back from publication: deleted the github mirror and the cjennings.net repo, removed the server mirror hook, and copied the package into pocketbook/ here until it's ready to spin back out.
Dropped the steps that provisioned it on a fresh install: the gtk4-layer-shell dep and the pip install in archsetup, and the clone in post-install.sh. That clone pointed at the now-deleted github repo, so it would have failed a fresh run regardless. Re-wiring the install is tracked in the pocketbook backlog.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Phase 2 moved the dotfiles into their own repo at git.cjennings.net/dotfiles.git, so a fresh install clones DOTFILES_REPO to ~/.dotfiles and stows per DESKTOP_ENV. I documented that, the DOTFILES_REPO/BRANCH/DIR config keys, the DOTFILES= Makefile override, the post-install pull-and-restow flow, and the steps to migrate an existing machine off the in-repo dotfiles/.
The migration note calls out quitting Hyprland first: unstowing while it runs makes it write a stub hyprland.conf into the gap, which blocks the restow. The in-repo dotfiles/ stays until ratio and velox migrate, then it gets removed.
|
| |
|
|
| |
The dotfiles live in a separate repo now, so the VM test clones that source, bundles it, and clones from the bundle into /tmp/dotfiles-test on the VM. archsetup's in-VM clone of DOTFILES_REPO then resolves against the local path with no network. DOTFILES_SOURCE overrides the source for testing a local checkout instead of the published repo. The cleanup trap tracks the host-side bundle and clone, so a mid-run abort leaves nothing behind.
|
| |
|
|
|
|
| |
Dotfiles now live in their own repo (git.cjennings.net/dotfiles.git), so archsetup clones DOTFILES_REPO to the user's ~/.dotfiles and stows the right tree for the chosen DESKTOP_ENV: dwm and hyprland get common/ plus their own layer, none gets the standalone minimal/ tree. The clone runs as the target user, so the working tree is user-owned with no chown-after race.
Add DOTFILES_REPO / DOTFILES_BRANCH / DOTFILES_DIR config keys with the same injection guard the other repo keys carry. If the clone doesn't produce a git checkout, error_fatal stops the install rather than silently skipping the restore step that reverts what stow --adopt pulled in. That restore now runs for every DESKTOP_ENV, including none — minimal/ ships the .bashrc/.bash_profile that collide with /etc/skel, so its --adopt needs the same cleanup.
|
| | |
|