feat(branding): tuigreet greeting + branded MOTD
Round 2 of distro branding, text half: tuigreet now shows 'Welcome to <distroName>', and users.motd carries a branded banner that doubles as a cheat sheet for the distro helpers (sys-update, home-update, nomarchy-theme-sync, SUPER+?). Both key off system.nixos.distroName so the brand name stays in one place. Deferred (need an asset / a boot test): ISO splashImage/grubTheme art and the distroId switch. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -265,7 +265,15 @@
|
||||
"Bash(nix-instantiate --parse modules/home/rofi.nix)",
|
||||
"Bash(nix-instantiate --parse modules/home/shell.nix)",
|
||||
"Bash(command -v nix)",
|
||||
"Bash(nix-instantiate --parse modules/home/keys.nix)"
|
||||
"Bash(nix-instantiate --parse modules/home/keys.nix)",
|
||||
"Bash(cp /home/bernardo/Projects/Nomarchy/modules/nixos/plymouth/logo.png /tmp/logo-orig.png)",
|
||||
"Bash(nix run *)",
|
||||
"Bash(cp /tmp/logo-text.png /home/bernardo/Projects/Nomarchy/.tmp-logo-preview.png)",
|
||||
"Bash(cp /tmp/logo-text.png /home/bernardo/Projects/Nomarchy/preview-logo.png)",
|
||||
"Bash(nix-instantiate --parse modules/nixos/plymouth.nix)",
|
||||
"Bash(echo \"parse OK\")",
|
||||
"Bash(echo \"=== build the plymouth theme derivation directly ===\")",
|
||||
"Bash(nix-instantiate --parse modules/nixos/default.nix)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,8 +316,10 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot.
|
||||
`nomarchy.osd.*`, media keys drive `swayosd-client`, themed from the JSON)
|
||||
- **Distro branding, round 2:** `distroName = "Nomarchy"` ships
|
||||
(os-release `PRETTY_NAME`, systemd-boot entries, ISO menu label).
|
||||
✓ tuigreet greeting (`Welcome to <distroName>`) and a branded `users.motd`
|
||||
(doubling as a helper cheat sheet), both keyed off `distroName`.
|
||||
Remaining: `isoImage.splashImage`/`grubTheme` art for the ISO boot
|
||||
screen, tuigreet/MOTD text, and the `distroId` question (it changes
|
||||
screen (needs a designed asset), and the `distroId` question (it changes
|
||||
`DEFAULT_HOSTNAME` and upstream `isNixos` checks — needs a test pass;
|
||||
nixos-* CLI names stay regardless)
|
||||
- **Theme-switch feedback:** ✓ the "rebuilding…" notification is now
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
|
||||
let
|
||||
cfg = config.nomarchy.system;
|
||||
# Reused by the greeter banner and MOTD so the brand name lives in one
|
||||
# place (system.nixos.distroName, set below).
|
||||
distroName = config.system.nixos.distroName;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ./plymouth.nix ./file-manager.nix ];
|
||||
@@ -20,6 +23,19 @@ in
|
||||
# DEFAULT_HOSTNAME and upstream isNixos checks (see roadmap).
|
||||
system.nixos.distroName = lib.mkDefault "Nomarchy";
|
||||
|
||||
# MOTD on TTY/SSH login (the desktop auto-logs into Hyprland, so this
|
||||
# is mostly seen over SSH or on a bare console). Branded, and doubles
|
||||
# as a cheat sheet for the distro's own helpers.
|
||||
users.motd = lib.mkDefault ''
|
||||
|
||||
${distroName} — a NixOS desktop, themed from one JSON.
|
||||
|
||||
sys-update update inputs + rebuild the system
|
||||
home-update apply home/theme changes (no sudo)
|
||||
nomarchy-theme-sync apply <theme> switch the whole palette
|
||||
SUPER+? keybindings cheatsheet
|
||||
'';
|
||||
|
||||
# Unfree allowed distro-wide: pragmatic-desktop territory (vendor
|
||||
# GPU/wifi drivers, firmware, fonts, …). The custom nixpkgs-config
|
||||
# type can't carry a nested mkDefault; disagree with
|
||||
@@ -42,7 +58,7 @@ in
|
||||
default_session = {
|
||||
# start-hyprland is Hyprland 0.55's watchdog launcher; running
|
||||
# the bare binary makes every session print a warning.
|
||||
command = lib.mkDefault "${pkgs.tuigreet}/bin/tuigreet --time --remember --cmd start-hyprland";
|
||||
command = lib.mkDefault "${pkgs.tuigreet}/bin/tuigreet --time --remember --greeting 'Welcome to ${distroName}' --cmd start-hyprland";
|
||||
user = "greeter";
|
||||
};
|
||||
# Boot straight into the session once; logout → normal greeter.
|
||||
|
||||
Reference in New Issue
Block a user