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

{
  imports = [ ];

  options.me = {
    ryujinx.enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
      example = true;
      description = "Whether we want to install ryujinx.";
    };
  };

  config = lib.mkIf config.me.ryujinx.enable (
    lib.mkMerge [
      (lib.mkIf config.me.graphical {
        # This needs to be read-write so we use me.copy.file to copy the file.
        me.copy.file.".config/Ryujinx/Config.json" = {
          source = ./files/Config.json;
          mode = "0644";
        };

        me.persist.directories = [
          ".config/Ryujinx/bis"
          ".config/Ryujinx/games"
          ".config/Ryujinx/sdcard"
          ".config/Ryujinx/system"
        ];
        me.state.directories = [ ];
      })
    ]
  );
}
