{
  config,
  pkgs,
  lib,
  ...
}:

let
  cfg = config.nmasur.presets.gtk;
in

{

  options.nmasur.presets.gtk = {
    enable = lib.mkEnableOption "Gnome GTK settings";
    theme = {
      name = lib.mkOption {
        type = lib.types.str;
        default = "Adwaita-dark";
      };
      package = lib.mkPackageOption pkgs "gnome-themes-extra" { };
    };
  };

  config = lib.mkIf cfg.enable {
    # Cursor
    home.pointerCursor = {
      name = "Adwaita";
      package = pkgs.adwaita-icon-theme;
      size = 24;
      gtk.enable = true;
      x11.enable = true;
    };

    # Enable num lock on login
    xsession.numlock.enable = true;

    # Dark theme
    gtk = {
      enable = true;
      theme = {
        name = cfg.theme.name;
        package = cfg.theme.package;
      };
      gtk3.extraConfig = {
        gtk-application-prefer-dark-theme = config.theme.mode == "dark";
      };
      gtk4.extraConfig = {
        gtk-application-prefer-dark-theme = config.theme.mode == "dark";
      };
    };

  };

}