feat(branding): drop the nixpkgs codename — "Nomarchy 26.05", not "(Yarara)"
All checks were successful
Check / eval (push) Successful in 3m43s

Yarara is nixpkgs' release name. Carrying it in PRETTY_NAME told users
something true about our upstream and nothing about our product, in the one
string every fetch tool and greeter reads.

Upstream hardcodes the codename into VERSION, PRETTY_NAME and
VERSION_CODENAME (misc/version.nix) with no switch, and
`system.nixos.codeName = ""` is the wrong lever — it renders "26.05 ()".
So the assembled strings are overridden through the merge hooks upstream
does provide (extraOSReleaseArgs / extraLSBReleaseArgs), which is already
where our project URLs live. lsb-release gets the same treatment; it
carried the codename in three fields of its own.

Empty VERSION_CODENAME/DISTRIB_CODENAME is deliberate: `//` cannot remove a
key, os-release(5) makes every field optional, and the file already ships
ANSI_COLOR="" and IMAGE_ID="".

nixos-version still prints "(Yarara)" and is left alone on purpose: that
command reports which nixpkgs the system was built from — the one question
the codename actually answers. Reaching it would mean patching a nixpkgs
script for no gain.

Verified on the built system: PRETTY_NAME="Nomarchy 26.05", VERSION="26.05",
VERSION_ID="26.05"; lsb DISTRIB_DESCRIPTION="Nomarchy 26.05",
LSB_VERSION="26.05". fastfetch's os line reads PRETTY_NAME, so it follows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 14:09:00 +01:00
parent a6f86cf575
commit 4a0b76cc97
2 changed files with 35 additions and 0 deletions

View File

@@ -555,6 +555,20 @@ Design/decision records and a running log of shipped work (items marked
`%26`, `%3F`, `%23`, `caf%C3%A9`. **Unverified on purpose:** whether each
vendor's page fills the box or auto-submits — testing that means posting into
Bernardo's own accounts.
- ✓ **No codename in the branding (2026-07-16):** Bernardo — the distro is
"Nomarchy 26.05", not "Nomarchy 26.05 (Yarara)". Yarara is *nixpkgs'* release
name; presenting it as ours told users something true about our upstream and
nothing about our product, in the one string (`PRETTY_NAME`) every fetch tool
and greeter reads. Upstream hardcodes the codename into `VERSION`,
`PRETTY_NAME` and `VERSION_CODENAME` (`misc/version.nix`) with no switch, and
`system.nixos.codeName = ""` is the wrong lever — it renders `26.05 ()`. So the
assembled strings are overridden through the merge hooks upstream does provide
(`extraOSReleaseArgs` / `extraLSBReleaseArgs`), which is also where our project
URLs already live. Empty `VERSION_CODENAME`/`DISTRIB_CODENAME` is deliberate:
`//` cannot remove a key, os-release(5) makes every field optional, and the
file already ships `ANSI_COLOR=""`. **`nixos-version` still prints "(Yarara)"
by design** — that command answers "which nixpkgs was this built from?", the
one question the codename genuinely answers.
- ✓ **The #107 compat shim is pinned (#133, 2026-07-16):** `mkFlake` prefers
`state.json` and still accepts the legacy `theme-state.json`, because a
machine only migrates on its next menu write — but nothing evaluated a