{
  pkgs,
  config,
  lib,
  inputs,
  ...
}: let
  program = "stylix";
  cfg = config.dots.${program};
  wallpaper = ../../../assets/wallpapers/test.jpg;
in {

  imports = [inputs.stylix.homeModules.default];

  options.dots.${program} = {
    enable = lib.mkEnableOption "enables ${program}";
    wallpaper = lib.mkOption {
      type = lib.types.path;
      default = ../../../assets/wallpapers/yveltal.jpg;
      description = "set the wallpaper for stylix to set and theme with";
    };
  };

  config = lib.mkIf cfg.enable {
    stylix = {
      enable = true;
      #autoEnable = false;
      image = cfg.wallpaper;
      polarity = "dark";
      fonts = {
        sizes = {
          applications = 12;
          terminal = 12;
          desktop = 10;
          popups = 14;
        };
        serif = {
          package = pkgs.nerd-fonts.ubuntu;
          name = "UbuntuNerdFont Regular";
        };
        sansSerif = {
          package = pkgs.nerd-fonts.ubuntu;
          name = "UbuntuNerdFont Regular";
        };
        monospace = {
          package = pkgs.nerd-fonts.ubuntu-mono;
          name = "UbuntuMonoNerdFont Regular";
        };
        emoji = {
          package = pkgs.noto-fonts-color-emoji;
          name = "Noto Color Emoji";
        };
      };
      opacity = {
        applications = 1.0;
        terminal = 0.9;
        desktop = 1.0;
        popups = 0.9;
      };

      targets = {
        #waybar.enable = false;
        waybar.addCss = false;
        nvf.transparentBackground = true;
        qt.enable = true;
        librewolf.enable = false;
      };
    };
  };
}
