{ lib, ... }:
with lib;
{
  options.mjallen.programs.waybar = {
    enable = mkEnableOption "enable waybar";

    layer = mkOption {
      type = types.str;
      default = "top";
    };

    modules-right = mkOption {
      type = with types; listOf str;
      default = [ ];
    };

    networkInterface = mkOption {
      type = types.str;
      default = "wlan0";
    };

    extraModules = mkOption {
      type = types.attrs;
      default = { };
    };

    extraModulesStyle = mkOption {
      type = types.str;
      default = "";
    };

    windowOffset = mkOption {
      type = types.int;
      default = 4;
    };

    # Waybar modules config
    # modules = mkOption {
    #   type = types.submodule {
    #     options = {
    #       # Modules
    #       window = mkOption {
    #         type = types.submodule {
    #           options = {
    #             # Waybar Module CSS
    #             margin-right = mkOption {
    #               type = types.str;
    #               default = "4";
    #             };
    #           };
    #         };
    #       };
    #       temperature = mkOption {
    #         type = types.submodule {
    #           options = {
    #             # Waybar Module CSS
    #             margin-right = mkOption {
    #               type = types.str;
    #               default = "4";
    #             };
    #           };
    #         };
    #       };
    #     };
    #   };
    #   default = { };
    # };
  };
}
