{
  lib,
  config,
  pkgs,
  ...
}: let
  customPkgs =
    pkgs
    // {
      noriskclient = pkgs.appimageTools.wrapType1 {
        name = "noriskclient";
        version = "0.5.10";

        src = pkgs.fetchurl {
          url = "https://github.com/NoRiskClient/noriskclient-launcher/releases/download/v0.5.10/NoRiskClient-Linux.AppImage";
          hash = "sha256-y5kXP3kEW0UsV04JBeJCvSOuJf3/zo5s7ZigOpxbwkk=";
        };
      };
    };
  logourl = "https://raw.githubusercontent.com/NoRiskClient/noriskclient-launcher/refs/heads/main/src/images/norisk_logo.png";
  logsha256 = "sha256-VwWwShUrT055mcabS8QTqqb8INgRB/08U2qEEIVYHlg=";
in {
  options = {
    norisk.enable = lib.mkEnableOption "";
  };
  config = lib.mkIf config.norisk.enable {
    environment.systemPackages = [
      customPkgs.noriskclient
    ];

    home-manager.users.joy.xdg = {
      desktopEntries = {
        NoRiskClient = {
          name = "NoRisk Client";
          exec = "noriskclient";
          icon = pkgs.fetchurl {
            url = logourl;
            sha256 = logsha256;
          };
          terminal = false;
          type = "Application";
          categories = ["Game"];
          mimeType = ["text/plain"];
        };
      };
    };
  };
}