/ home / modules / stylix.nix
stylix.nix
 1  {
 2    config,
 3    pkgs,
 4    lib,
 5    ...
 6  }:
 7  with lib;
 8  let
 9    cfg = config.maatwerk.stylix;
10  in
11  {
12    options.maatwerk.stylix = {
13      enable = mkEnableOption "Automatic styling";
14    };
15    config = mkIf cfg.enable {
16      home.packages = with pkgs; [ gnome-font-viewer ];
17  
18      # file:///home/martijn/.config/stylix/palette.html
19      stylix = {
20        enable = true;
21        image = pkgs.fetchurl {
22          url = "https://storage.boers.email/random/wallpaper_optimized.jpg";
23          hash = "sha256-7tCkOYseY4Oayw+WHxn+fK45BdOjRaELYPp33m9+UYI=";
24        };
25        polarity = "dark";
26        icons = {
27          enable = true;
28          package = pkgs.tela-icon-theme;
29          dark = "Tela";
30        };
31        cursor = {
32          package = pkgs.phinger-cursors;
33          name = "phinger-cursors-light";
34          size = 26;
35        };
36        # https://tinted-theming.github.io/tinted-gallery/
37        base16Scheme = "${pkgs.base16-schemes}/share/themes/kanagawa-dragon.yaml";
38        fonts = {
39          serif = {
40            package = pkgs.inter;
41            name = "Inter Display, Light Italic";
42          };
43          sansSerif = {
44            package = pkgs.inter;
45            name = "Inter";
46          };
47          monospace = {
48            package = pkgs.nerd-fonts.jetbrains-mono;
49            name = "JetbrainsMono Nerd Font";
50          };
51          emoji = {
52            package = pkgs.noto-fonts-color-emoji;
53            name = "Noto Color Emoji";
54          };
55          sizes = {
56            terminal = 13;
57            popups = 14;
58          };
59        };
60        targets = {
61          librewolf = {
62            enable = true;
63            colorTheme.enable = true;
64            profileNames = [ "default" ];
65          };
66          waybar.enable = false;
67          nixvim.enable = false;
68          hyprlock.enable = false;
69        };
70      };
71    };
72  }