{ inputs, ... }:
{
  den.aspects.minecraft = {
    nixos =
      { pkgs, ... }:
      let
        inherit (pkgs) fetchurl symlinkJoin makeWrapper;

        base = (inputs.minecraft.legacyPackages.${pkgs.stdenv.hostPlatform.system}.v1_21_11.fabric.client.withConfig [{
          jvmArgs = [
            "-Dorg.lwjgl.opengl.Window.undecorated=true"
          ];

          mods = [
            (fetchurl {
              name = "fabric-api.jar";
              url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/i5tSkVBH/fabric-api-0.141.3+1.21.11.jar";
              sha256 = "sha256:1xgfpy6zj1nwwfrhr346firm8zw6lw63pl4parvjwrirc6l57i46";
            })

            /*
            (fetchurl {
              name = "meteor-client.jar";
              url = "https://meteorclient.com/api/download";
              sha256 = "sha256:190vghnfg3invfy7qpizppxf29qyf5zz1iv5c8bfcq2q5r9mljqq";
            })

            (fetchurl {
              name = "baritone.jar";
              url = "https://www.meteorclient.com/api/downloadBaritone";
              sha256 = "sha256:0izys47kvqzhnds63kbxiifn8fsd8i9slzkhv91whwxp0183pf80";
            })
            */

            (fetchurl {
              name = "modmenu.jar";
              url = "https://cdn.modrinth.com/data/mOgUt4GM/versions/Tyk71iSw/modmenu-17.0.0.jar";
              sha256 = "sha256:0a2i5hl77bcw33m1h51y1dxrk7bbkj8fv0rp8w6y78d43ibwkwlm";
            })

            /*
            (fetchurl {
              name = "distant-horizons.jar";
              url = "https://cdn.modrinth.com/data/uCdwusMi/versions/GT3Bm3GN/DistantHorizons-2.4.5-b-1.21.11-fabric-neoforge.jar";
              sha256 = "sha256:0gxwhvji4k0xnzidwrvlndh81r64n6i24v253grbxxamgshwg53n";
            })
            */

            (fetchurl {
              name = "voxy.jar";
              url = "https://cdn.modrinth.com/data/fxxUqruK/versions/H3w2nVdU/voxy-0.2.16-beta%2B1.21.11.jar";
              sha256 = "sha256:02z1cr7ccdss2ckgha7v89gsq65p2ibrcx8h9q3drxd4ck7jd0kz";
            })

            /*
            (fetchurl {
              name = "nvidium.jar";
              url = "https://cdn.modrinth.com/data/SfMw2IZN/versions/4x9ci9sF/nvidium-0.4.3-beta13-1.21.11.jar";
              sha256 = "sha256:0kdhz92lms2ghmcpzn1gj9rblh958bhic641jpvpkgn0rs70w54r";
            })
            */

            (fetchurl {
              name = "iris.jar";
              url = "https://cdn.modrinth.com/data/YL57xq9U/versions/fDpuVzVr/iris-fabric-1.10.7+mc1.21.11.jar";
              sha256 = "sha256:06fb6r22gnsxnv2w0sgvfnsj6fk3a7jcxls7z14imjc9h6hmviaq";
            })

            (fetchurl {
              name = "sodium.jar";
              url = "https://cdn.modrinth.com/data/AANobbMI/versions/UddlN6L4/sodium-fabric-0.8.7+mc1.21.11.jar";
              sha256 = "sha256:10rrqnyn8mb14b1k3ks84g6033zkkn94fwvyyflaiajhnf3ax3y0";
            })

            (fetchurl {
              name = "lithium.jar";
              url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/Ow7wA0kG/lithium-fabric-0.21.4+mc1.21.11.jar";
              sha256 = "sha256:12y704i98rf0xb438f72hi0aqhsi35jxwjs2575vsg5lllfw8dai";
            })

            (fetchurl {
              name = "immediatelyfast.jar";
              url = "https://cdn.modrinth.com/data/5ZwdcRci/versions/QwkfUKSj/ImmediatelyFast-Fabric-1.14.2+1.21.11.jar";
              sha256 = "sha256:1248yg69f5d232qn138xlcsdmbs2yj3gdjx9zl53v19c1j326pgb";
            })

            (fetchurl {
              name = "entity-culling.jar";
              url = "https://cdn.modrinth.com/data/NNAgCjsB/versions/SK12FGQf/entityculling-fabric-1.10.0-mc1.21.11.jar";
              sha256 = "sha256:0iws5ql4k542lr4psrcw9hj5z4zz81218ywnpsl77zj8wnwm4l1d";
            })

            (fetchurl {
              name = "ferrite-core.jar";
              url = "https://cdn.modrinth.com/data/uXXizFIs/versions/Ii0gP3D8/ferritecore-8.2.0-fabric.jar";
              sha256 = "sha256:05f7q9jac16syfnahd6r4kx3aqm4i580y623gk6810plrdhdfszp";
            })

            (fetchurl {
              name = "dynamic-fps.jar";
              url = "https://cdn.modrinth.com/data/LQ3K71Q1/versions/PUe5Asxs/dynamic-fps-3.11.4+minecraft-1.21.11-fabric.jar";
              sha256 = "sha256:13dh0226f6j70ak752fj8s00hmrx175v9607plf4rhia9plqy3kx";
            })

            # (fetchurl {
            #   name = "removing-loading-screens.jar";
            #   url = "https://cdn.modrinth.com/data/ZP7xHXtw/versions/TCSbq6jC/rrlsFabric-5.1.15+mc.1.21.11.jar";
            #   sha256 = "sha256:16dkj8baa6xn47n9alzy4104wz6z4zp719dxwv5wm96g2wkp1z57";
            # })
          ];

          resourcePacks = [
            (fetchurl {
              name = "unique-dark.zip";
              url = "https://cdn.modrinth.com/data/BaY1UdGV/versions/UjQJb5zE/Unique%20Dark%20-%20Lite%20-%201.20.2-26.x.zip";
              sha256 = "sha256:19cv5q8pnvxkf96lazg8angbfqwkxag8qsxk31cv487jq99kl621";
            })

            (fetchurl {
              name = "catppuccin.zip";
              url = "https://cdn.modrinth.com/data/S3nUv9ws/versions/znzS3kCV/Catppuccin%20Mocha%20Blue.zip";
              sha256 = "sha256:0w56gkyavz0gpffxs1gbp9676bwgvl845h56wc1x3qjba1nm8a5n";
            })
          ];

          shaderPacks = [
            (fetchurl {
              name = "complementary-shaders.zip";
              url = "https://cdn.modrinth.com/data/HVnmMxH1/versions/836bPNGo/ComplementaryReimagined_r5.7.1.zip";
              sha256 = "sha256:1w33kyknwc0qsi6l0saww906iwi9d3hkn0nm7hnl4bc3lws0d8i4";
            })
          ];

          appArgs = [
            "--gameDir"
            "/home/bug/.local/share/minecraft"
          ];
        }]);

        minecraft = symlinkJoin {
          name = "minecraft-wrapped";
          paths = [ base ];
          nativeBuildInputs = [ makeWrapper ];
          postBuild = ''
            wrapProgram $out/bin/minecraft \
              --set XDG_DATA_HOME "/home/bug/.local/share/minecraft"
          '';
        };
      in
      {
        users.users.bug.packages = [ minecraft ];
      };
  };
}
