{
  pkgs,
  stylix,
  config,
  lib,
  ...
}:
{
  imports = [ stylix.nixosModules.stylix ];

  options.auto_styling.enable = lib.mkEnableOption "Enable Stylix";

  config = lib.mkIf config.auto_styling.enable {
    stylix = {
      enable = true;

      image = ../../wallpapers/default.jpg;
      polarity = "dark";

      opacity = {
        terminal = 0.8;
        popups = 0.8;
      };

      fonts = rec {
        # serif = {
        #   package = pkgs.dejavu_fonts;
        #   name = "DejaVu Serif";
        # };

        # sansSerif = {
        #   package = pkgs.dejavu_fonts;
        #   name = "DejaVu Sans";
        # };

        serif = monospace;
        sansSerif = monospace;

        monospace = {
          package = pkgs.nerd-fonts.jetbrains-mono;
          name = "JetBrainsMono Nerd Font";
        };

        emoji = {
          package = pkgs.twemoji-color-font;
          name = "Twemoji";
        };

        sizes = {
          applications = 14;
          desktop = 12;
          popups = 12;
          terminal = 14;
        };
      };

      cursor = {
        package = pkgs.rose-pine-cursor;
        name = "Rosé Pine";
        size = 10;
      };
    };
  };
}
