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/rofi.nix)",
|
||||||
"Bash(nix-instantiate --parse modules/home/shell.nix)",
|
"Bash(nix-instantiate --parse modules/home/shell.nix)",
|
||||||
"Bash(command -v 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)
|
`nomarchy.osd.*`, media keys drive `swayosd-client`, themed from the JSON)
|
||||||
- **Distro branding, round 2:** `distroName = "Nomarchy"` ships
|
- **Distro branding, round 2:** `distroName = "Nomarchy"` ships
|
||||||
(os-release `PRETTY_NAME`, systemd-boot entries, ISO menu label).
|
(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
|
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;
|
`DEFAULT_HOSTNAME` and upstream `isNixos` checks — needs a test pass;
|
||||||
nixos-* CLI names stay regardless)
|
nixos-* CLI names stay regardless)
|
||||||
- **Theme-switch feedback:** ✓ the "rebuilding…" notification is now
|
- **Theme-switch feedback:** ✓ the "rebuilding…" notification is now
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.nomarchy.system;
|
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
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./options.nix ./plymouth.nix ./file-manager.nix ];
|
imports = [ ./options.nix ./plymouth.nix ./file-manager.nix ];
|
||||||
@@ -20,6 +23,19 @@ in
|
|||||||
# DEFAULT_HOSTNAME and upstream isNixos checks (see roadmap).
|
# DEFAULT_HOSTNAME and upstream isNixos checks (see roadmap).
|
||||||
system.nixos.distroName = lib.mkDefault "Nomarchy";
|
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
|
# Unfree allowed distro-wide: pragmatic-desktop territory (vendor
|
||||||
# GPU/wifi drivers, firmware, fonts, …). The custom nixpkgs-config
|
# GPU/wifi drivers, firmware, fonts, …). The custom nixpkgs-config
|
||||||
# type can't carry a nested mkDefault; disagree with
|
# type can't carry a nested mkDefault; disagree with
|
||||||
@@ -42,7 +58,7 @@ in
|
|||||||
default_session = {
|
default_session = {
|
||||||
# start-hyprland is Hyprland 0.55's watchdog launcher; running
|
# start-hyprland is Hyprland 0.55's watchdog launcher; running
|
||||||
# the bare binary makes every session print a warning.
|
# 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";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
# Boot straight into the session once; logout → normal greeter.
|
# Boot straight into the session once; logout → normal greeter.
|
||||||
|
|||||||
Reference in New Issue
Block a user