nixos/settings/stylix.nix
ediblerope eb5e3915a9 stylix: configure sans/serif fonts, drop fuzzel font override
Stylix's fuzzel target writes main.font from stylix.fonts.sansSerif and
collided with our explicit FiraMono. Pin sansSerif/serif to Inter
(cleaner than DejaVu) and remove the per-app font from fuzzel so stylix
can apply consistently.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 13:44:50 +01:00

50 lines
1.4 KiB
Nix

{ config, pkgs, lib, inputs, ... }:
{
imports = [ inputs.stylix.nixosModules.stylix ];
config = lib.mkIf (lib.elem config.networking.hostName [ "FredOS-Gaming" "FredOS-Macbook" ]) {
stylix = {
enable = true;
image = "${inputs.self}/walls/wallpaper.png";
polarity = "dark";
# Phase 1: opt in to specific targets only. Apps currently handled by
# matugen (gtk, ghostty, zen, btop, vscodium, vesktop) keep their
# matugen-derived colors — autoEnable would clobber them.
autoEnable = false;
cursor = {
package = pkgs.adwaita-icon-theme;
name = "Adwaita";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.fira-mono;
name = "FiraMono Nerd Font";
};
# Used by stylix for fuzzel, waybar, mako etc. Stylix defaults this
# to DejaVu Sans which looks dated; Inter is a clean modern sans.
sansSerif = {
package = pkgs.inter;
name = "Inter";
};
serif = {
package = pkgs.inter;
name = "Inter";
};
};
};
# Stylix's NixOS module auto-wires homeModules.stylix into every
# home-manager user, so we just opt into targets here.
home-manager.users.fred.stylix.targets = {
waybar.enable = true;
fuzzel.enable = true;
mako.enable = true;
hyprlock.enable = true;
hyprland.enable = true;
};
};
}