{ lib, pkgs, flakeRoot, ... }: let username = "henrov"; in { flake.nixosModules.stylix = { config, pkgs, lib, ... }: let # --- Default stylix config --- stylixCfg = { enable = true; base16Scheme = "${flakeRoot}/assets/system/theming/stylix/catppuccin-mocha.yaml"; image = "${flakeRoot}/assets/hyprland/wallpaperstuff/pictures/wall1.jpg"; polarity = "dark"; cursor = { package = pkgs.phinger-cursors; name = "phinger-cursors-light"; size = 24; }; fonts = { monospace = { package = pkgs.nerd-fonts.fira-code; name = "Fira Code Nerd Font"; }; sansSerif = { package = pkgs.lato; name = "Lato"; }; }; icons = { enable = true; package = pkgs.papirus-icon-theme; dark = "Papirus-Dark"; light = "Papirus-Light"; }; }; in { options.mySystem.desktop.stylix.enable = lib.mkEnableOption "Enable Stylix System Theming"; config = lib.mkIf (stylixCfg.enable or false) { # --- Desktop / wallpaper packages --- mySystem.apps.wallpaper = { enable = true; packages = [ "feh" "st" ]; }; # --- Stylix theming --- stylix = stylixCfg; # --- Home session variables --- home-manager.users.${username}.home.sessionVariables = { XCURSOR_THEME = stylixCfg.cursor.name; XCURSOR_SIZE = toString stylixCfg.cursor.size; HYPRCURSOR_THEME = stylixCfg.cursor.name; HYPRCURSOR_SIZE = toString stylixCfg.cursor.size; }; }; }; }