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

with lib;
let
  cfg = config.my.profiles.gaming;
in
{
  options.my.profiles.gaming.enable = mkEnableOption "Enable gaming profile";

  config = mkIf cfg.enable {
    specialisation.gaming.configuration = {
      imports = [ inputs.jovian.nixosModules.default ];
      environment.persistence."/persist".users.moritz.directories = [
        ".cache/lutris/"
        ".config/gamescope"
        ".local/share/Steam/"
        ".local/share/lutris/"
      ];
      users.users.moritz.packages = [ pkgs.lutris ];
      jovian.steam.enable = true;
      jovian.steam.autoStart = true;
      jovian.steam.user = "moritz";
      jovian.steam.desktopSession = "niri";
      my.programs.niri.autoStart = false;
      environment.sessionVariables = {
        DXVK_HDR = "1";
        ENABLE_HDR_WSI = "1";
        ENABLE_GAMESCOPE_WSI = "1";
      };
    };
  };
}
