NixOS alignment notes: initContent, the lan-mouse panic, and the machine states

This commit is contained in:
Sam
2026-11-12 12:50:26 +11:00
parent a129c4e0c3
commit 5f8069d857
6 changed files with 722 additions and 0 deletions

View File

@@ -135,3 +135,35 @@ What was changed:
- Local git repo only, one commit, no remote. It is not on Gitea. Push it somewhere before
relying on it, or accept that only this machine has it.
## NixOS alignment for Pi, 2026-11-11
Goal: all three machines on the same Pi. The `pi-coding-agent` version comes from the nixpkgs pin,
so aligning means bumping `nixpkgs` and `home-manager` in each machine's flake.
Measured after `nix flake update nixpkgs home-manager`:
| machine | nixpkgs pin | pi after update | state |
|---|---|---|---|
| `.13` | 2026-07-29 → 2026-11-07 | **1.5.0** | config ready, 12 derivations to build |
| `.27` | same | 1.5.0 | evaluation fails in home-manager fontconfig |
| `.51` | 2026-09-26 | 0.87.1 (today) | not started |
Two changes are needed with the bump, both measured:
1. `programs.zsh.initExtra` was renamed: `initContent`.
2. **lan-mouse 0.11.0 panics** when `LIBGIT2_NO_VENDOR` is set and there is no system libgit2
(nixpkgs 2026-11-07 sets it). An overlay on `pkgs.lan-mouse` did **not** fix it — the
derivation hash barely moved and the same panic came back. What does work is building the
flake's own lan-mouse package with `LIBGIT2_NO_VENDOR = "0"`:
```nix
lm = lan-mouse.packages.${system}.default.overrideAttrs (o: { LIBGIT2_NO_VENDOR = "0"; });
```
and using `lm` in `systemPackages` instead of the plain package. Built and verified:
`/nix/store/f6w228jqp5wq6xznf6arq69kck6axyyf-lan-mouse-0.11.0`.
`.27`'s failure names `home-manager.users.sam.fonts.fontconfig.configFile.fonts.settings`. It is a
home-manager option merge, not the Pi change. The smaller next attempt there is to bump `nixpkgs`
only and leave `home-manager` where it is.