feat(branding): fastfetch logo + Nomarchy.ttf glyph in the Waybar button
Two branding follow-ups, using the vendored legacy assets: - fastfetch (modules/home/fastfetch.nix, nomarchy.fastfetch.enable): the vector logo recolored to the palette accent and rendered to compact block-art via chafa at build time (so it tracks the theme), fronting a curated module list. Replaces the oversized legacy ASCII. - Waybar logo glyph: vendor Nomarchy.ttf (modules/nixos/branding/), install it via fonts.packages, and switch the summer-day/night menu buttons to its U+F000 mark with `font-family: Nomarchy` pinned in CSS (Nerd Fonts also occupy U+F000, so the pin is required). Glyph stored as the JSON escape for robustness. Also log a roadmap item for a quality-of-life alias collection. Verified: font family resolves as "Nomarchy" and the ttf maps U+F000; both summer jsonc parse; chafa logo builds headless; nix flake check passes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
./osd.nix # swayosd volume/brightness OSD, themed
|
||||
./shell.nix # zsh + starship + bat/eza/zoxide, themed
|
||||
./keys.nix # gpg-agent (fronts SSH) + pinentry-qt
|
||||
./fastfetch.nix # system info with the themed Nomarchy logo
|
||||
];
|
||||
|
||||
# Clipboard history (wl-paste watcher); browsed via the SUPER+CTRL+V
|
||||
|
||||
50
modules/home/fastfetch.nix
Normal file
50
modules/home/fastfetch.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
# fastfetch — system summary fronted by the Nomarchy monogram. The logo is
|
||||
# rendered from the vendored vector mark (modules/nixos/branding/logo.svg)
|
||||
# via chafa at build time, recolored to the palette accent — so it's a
|
||||
# compact, themed block-art logo that tracks the theme on each
|
||||
# home-manager switch (rather than the oversized legacy ASCII).
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.nomarchy;
|
||||
c = cfg.theme.colors;
|
||||
|
||||
logo = pkgs.runCommand "nomarchy-fastfetch-logo"
|
||||
{ nativeBuildInputs = [ pkgs.imagemagick pkgs.librsvg pkgs.chafa ]; } ''
|
||||
rsvg-convert -w 220 ${../nixos/branding/logo.svg} > logo.png
|
||||
magick logo.png -fill "${c.accent}" -colorize 100 logo-c.png
|
||||
chafa --format symbols --symbols block --size 20x10 --colors full --polite on logo-c.png > $out
|
||||
'';
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.fastfetch.enable {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
logo = {
|
||||
type = "file-raw";
|
||||
source = "${logo}";
|
||||
padding = { top = 1; left = 2; right = 3; };
|
||||
};
|
||||
display.separator = " ";
|
||||
modules = [
|
||||
"break"
|
||||
{ type = "os"; key = "distro"; keyColor = "blue"; }
|
||||
{ type = "kernel"; key = "kernel"; keyColor = "blue"; }
|
||||
{ type = "uptime"; key = "uptime"; keyColor = "blue"; }
|
||||
{ type = "packages"; key = "pkgs"; keyColor = "blue"; }
|
||||
{ type = "wm"; key = "wm"; keyColor = "blue"; }
|
||||
{ type = "shell"; key = "shell"; keyColor = "blue"; }
|
||||
{ type = "terminal"; key = "term"; keyColor = "blue"; }
|
||||
"break"
|
||||
{ type = "cpu"; key = "cpu"; keyColor = "magenta"; }
|
||||
{ type = "gpu"; key = "gpu"; keyColor = "magenta"; }
|
||||
{ type = "memory"; key = "memory"; keyColor = "magenta"; }
|
||||
{ type = "disk"; key = "disk"; keyColor = "magenta"; }
|
||||
"break"
|
||||
{ type = "colors"; symbol = "circle"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -70,6 +70,7 @@
|
||||
osd.enable = lib.mkEnableOption "swayosd on-screen display for volume/brightness/mute" // { default = true; };
|
||||
shell.enable = lib.mkEnableOption "the zsh shell experience (starship prompt, bat/eza/zoxide)" // { default = true; };
|
||||
keys.enable = lib.mkEnableOption "the SSH + GPG agent (gpg-agent fronting SSH, pinentry-qt)" // { default = true; };
|
||||
fastfetch.enable = lib.mkEnableOption "fastfetch system info fronted by the themed Nomarchy logo" // { default = true; };
|
||||
ghostty.enable = lib.mkEnableOption "Nomarchy's Ghostty configuration" // { default = true; };
|
||||
btop.enable = lib.mkEnableOption "btop with the per-theme nomarchy theme" // { default = true; };
|
||||
stylix.enable = lib.mkEnableOption "Stylix theming for the long tail of apps (GTK, Qt, cursors)" // { default = true; };
|
||||
|
||||
Reference in New Issue
Block a user