{ inputs, config, pkgs, lib, ... }: let keep = [ "neovim" "qt" "gtk" "hyprland" "foot" "fuzzel" "nixcord" "console" ]; dir = "${inputs.stylix}/modules"; drop = builtins.filter (n: !(builtins.elem n keep)) ( builtins.attrNames (lib.filterAttrs (_: t: t == "directory") (builtins.readDir dir)) ); disable = platform: map (n: "${dir}/${n}/${platform}.nix") ( builtins.filter (n: builtins.pathExists "${dir}/${n}/${platform}.nix") drop ); in { disabledModules = disable "nixos"; stylix.opacity = { terminal = 0.8; desktop = 1.0; popups = 1.0; }; stylix.cursor = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; size = 24; }; stylix.icons = { enable = true; dark = "Papirus-Dark"; light = "Papirus-Light"; package = pkgs.papirus-icon-theme; }; stylix = { enable = true; autoEnable = false; base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml"; polarity = "dark"; image = ./wallpaper.png; targets = { console.enable = true; gtk.enable = true; qt.enable = true; qt.platform = lib.mkForce "qtct"; nixvim = { enable = true; plugin = "base16-nvim"; }; }; fonts = { sizes = { terminal = 12; popups = 10; desktop = 10; }; serif = { package = config.stylix.fonts.monospace.package; name = config.stylix.fonts.monospace.name; }; sansSerif = { package = config.stylix.fonts.monospace.package; name = config.stylix.fonts.monospace.name; }; monospace = { name = "Maple Mono"; package = pkgs.maple-mono.truetype; }; emoji = { package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; }; }; }