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:
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"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user