feat(branding): drop the nixpkgs codename — "Nomarchy 26.05", not "(Yarara)"
All checks were successful
Check / eval (push) Successful in 3m43s
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:
@@ -55,11 +55,32 @@ in
|
||||
# restore them pointing at the project instead.
|
||||
system.nixos.distroName = lib.mkDefault "Nomarchy";
|
||||
system.nixos.distroId = lib.mkDefault "nomarchy";
|
||||
# No codename. Upstream hardcodes it into three fields —
|
||||
# VERSION = "${release} (${codeName})", PRETTY_NAME likewise, plus
|
||||
# VERSION_CODENAME (misc/version.nix) — so "Nomarchy 26.05 (Yarara)" read
|
||||
# as if Yarara were *our* release name. It is nixpkgs': ours is the number,
|
||||
# and the number is what tells you what you are running. Setting
|
||||
# `system.nixos.codeName = ""` is the wrong lever — it renders "26.05 ()" —
|
||||
# so override the assembled strings through the merge hook upstream
|
||||
# provides. The empty VERSION_CODENAME is deliberate and in keeping with
|
||||
# the file's own style (ANSI_COLOR="", IMAGE_ID="" …): the key cannot be
|
||||
# removed through `//`, and os-release(5) makes every field optional.
|
||||
# `nixos-version` still prints "(Yarara)" and is left alone on purpose —
|
||||
# that command reports the *nixpkgs* release this system was built from,
|
||||
# which is exactly when the codename is the honest answer.
|
||||
system.nixos.extraOSReleaseArgs = lib.mkDefault {
|
||||
HOME_URL = "https://git.bemagri.xyz/bernardo/Nomarchy";
|
||||
DOCUMENTATION_URL = "https://git.bemagri.xyz/bernardo/Nomarchy";
|
||||
SUPPORT_URL = "https://git.bemagri.xyz/bernardo/Nomarchy";
|
||||
BUG_REPORT_URL = "https://git.bemagri.xyz/bernardo/Nomarchy/issues";
|
||||
VERSION = config.system.nixos.release;
|
||||
VERSION_CODENAME = "";
|
||||
PRETTY_NAME = "${config.system.nixos.distroName} ${config.system.nixos.release}";
|
||||
};
|
||||
system.nixos.extraLSBReleaseArgs = lib.mkDefault {
|
||||
LSB_VERSION = config.system.nixos.release;
|
||||
DISTRIB_CODENAME = "";
|
||||
DISTRIB_DESCRIPTION = "${config.system.nixos.distroName} ${config.system.nixos.release}";
|
||||
};
|
||||
|
||||
# MOTD on TTY/SSH login (the desktop auto-logs into Hyprland, so this
|
||||
|
||||
Reference in New Issue
Block a user