{
  lib,
  pkgs,
  namespace,
  ...
}:
let
  inherit (lib.${namespace}) enabled disabled;
  displayLeft = {
    input = "DP-1";
    resolution = "3840x2160";
    refreshRate = "120.00000";
  };
  displayRight = {
    input = "DP-2";
    resolution = "3840x2160";
    refreshRate = "240.00000";
  };
in
{
  home.username = "matt";

  ${namespace} = {
    sops = {
      enable = true;
    };
    shell-aliases = {
      enable = true;
    };

    programs = {
      hyprland = {
        enable = true;
        primaryDisplay = "DP-1";

        monitorv2 = [
          {
            name = displayLeft.input;
            mode = "${displayLeft.resolution}@${displayLeft.refreshRate}";
            position = "0x0";
            scale = 1.0;
            extra = [
              # "bitdepth"
              # "10"
              # "cm"
              # "hdredid"
              # "sdrbrightness"
              # "1.2"
              # "sdrsaturation"
              # "0.98"
            ];
          }
          {
            name = displayRight.input;
            mode = "${displayRight.resolution}@${displayRight.refreshRate}";
            position = "3840x0";
            scale = 1.0;
            extra = [
              # "bitdepth"
              # "10"
              # "cm"
              # "hdredid"
              # "sdrbrightness"
              # "1.5"
              # "sdrsaturation"
              # "0.98"
            ];
          }
        ];

        workspace = [
          "name:firefox, monitor:${displayRight.input}, default:false, special, class:(.*firefox.*)"
          "name:discord, monitor:${displayRight.input}, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)"
          "name:steam, monitor:${displayLeft.input}, default:false, special, class:(.*[Ss]team.*)"
        ];

        windowRule = [
          "size 2160 7680, tag:horizonrdp"
        ];

        autostartCommands = [
          "[silent] firefox"
          "[silent] discord"
          "[silent] chromium --app=\"https://music.apple.com\""
          "[silent] steam"
        ];

        hyprpaper = {
          wallpaperPath = "/run/wallpaper.jpg";
        };

        keybinds = {
          bind = [
            "$mod, A, exec, chromium --app=\"https://music.apple.com\""
            "$mod, C, exec, discord"
            "$mod, G, exec, steam"
          ];
        };

        defaultApps = {
          browser = pkgs.firefox;
        };
      };
      btop = enabled;
      kitty = enabled;
      mako = enabled;
      nwg-dock = enabled;
      nwg-drawer = enabled;
      nwg-panel = {
        enable = true;
        defaultApps = {
          browser = pkgs.firefox;
        };
      };
      waybar = {
        enable = true;

        layer = "bottom";

        network.interface = "wlp9s0";
        temperature = {
          cpu = enabled;
          gpu = enabled;
        };

        extraModules = {
          "custom/lights" = {
            tooltip = false;
            exec = "waybar-hass --get_light light.living_room_lights";
            interval = "once";
            format = "{text}"; # "󱉓";
            on-click = "waybar-hass --toggle_light light.living_room_lights";
            return-type = "json";
          };
        };

        extraModulesStyle = ''
          #custom-lights {
            color: @base0C;
            background-color: @base00;
            opacity: 0.85;
            border-left: 5px solid @base0C;
          }

          #custom-lights:hover {
            background: @base03;
          }
        '';
      };
      wlogout = enabled;
      wofi = enabled;
    };
  };

  services = {
    remmina = {
      enable = true;
      addRdpMimeTypeAssoc = true;
    };
  };

  programs = {
    password-store = enabled;
  };

  home.packages =
    with pkgs;
    [
      bolt-launcher
      compose2nix
      distrobox
      heroic
      omnissa-horizon-client
      jq
      lzip
      morph
      orca-slicer
      piper
      prismlauncher
      protontricks
      protonvpn-gui
      python3
      runelite
      smile
      via
      virt-manager
      vorta
      waydroid-helper
    ]
    ++ (with pkgs.${namespace}; [
      discord-krisp
      # librepods
    ]);

  specialisation = {
    "cosmic".configuration = {
      ${namespace} = {
        programs = {
          hyprland = lib.mkForce disabled;
          kitty = lib.mkForce disabled;
          mako = lib.mkForce disabled;
          nwg-dock = lib.mkForce disabled;
          nwg-drawer = lib.mkForce disabled;
          nwg-panel = lib.mkForce disabled;
          waybar = lib.mkForce disabled;
          wlogout = lib.mkForce disabled;
          wofi = lib.mkForce disabled;
        };
      };
    };
  };
}
