add stylix

This commit is contained in:
alisceon 2026-01-07 19:19:47 +01:00
parent 42233599d5
commit 56028e3345
4 changed files with 392 additions and 347 deletions

72
hosts/common/stylix.nix Normal file
View file

@ -0,0 +1,72 @@
{ 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
};
}