# 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; # #122: sextants (2×3 subcells) give ~6× the detail of half/full blocks. # Size and raster width stepped up together so the mark still fills the # logo column without looking sparse. Diagonals still staircase a little # (the SVG is an angled N); that is a logo-design limit, not chafa's. logo = pkgs.runCommand "nomarchy-fastfetch-logo" { nativeBuildInputs = [ pkgs.imagemagick pkgs.librsvg pkgs.chafa ]; } '' rsvg-convert -w 360 ${../nixos/branding/logo.svg} > logo.png magick logo.png -fill "${c.accent}" -colorize 100 logo-c.png chafa --format symbols --symbols sextant --size 24x12 --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"; } ]; }; }; }; }