{ config, pkgs, lib, ... }: let # Opinionated: Nord Base16 scheme (YAML). Swap this for Catppuccin, Gruvbox, etc. nordYaml = pkgs.fetchurl { url = "https://raw.githubusercontent.com/tinted-theming/base16-schemes/master/nord.yaml"; sha256 = lib.fakeSha256; # replace with real hash after first build }; in { stylix = { enable = true; # Wallpaper applied broadly (Sway, etc.) image = pkgs.fetchurl { url = "https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=2400&q=80"; sha256 = lib.fakeSha256; # replace with real hash after first build }; base16Scheme = nordYaml; # Choose light/dark behavior polarity = "dark"; fonts = { monospace = { package = pkgs.jetbrains-mono; name = "JetBrains Mono"; }; sansSerif = { package = pkgs.inter; name = "Inter"; }; serif = { package = pkgs.source-serif; name = "Source Serif 4"; }; emoji = { package = pkgs.noto-fonts-emoji; name = "Noto Color Emoji"; }; sizes = { applications = 11; terminal = 12; desktop = 11; popups = 11; }; }; cursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 24; }; # Optional: global opacity hints some targets use opacity = { applications = 0.95; terminal = 0.92; popups = 0.95; }; # Tell Stylix to actually theme these: targets.sway.enable = true; targets.waybar.enable = true; # Usually nice to have: targets.gtk.enable = true; targets.kitty.enable = true; # if you use kitty }; }