{ config, lib, inputs, pkgs, ... }: with lib; let username = config.modules.other.system.username; cfg = config.modules.programs.minecraft; in { options.modules.programs.minecraft = { enable = mkEnableOption "minecraft"; wayland = mkEnableOption "wayland"; }; config = mkIf cfg.enable { # Set wayland environment flag environment.variables = mkIf cfg.wayland { __GL_THREADED_OPTIMIZATIONS = 0; }; # Install glfw-wayland-minecraft environment.systemPackages = with pkgs; mkIf cfg.wayland [ glfw-wayland-minecraft # Use these parameters in the prism launcher: -Dfml.earlyprogresswindow=false -Dorg.lwjgl.glfw.libname=/nix/store/ypkdx5844pp1vdw2z2nmnf2nb9kgl0mp-glfw-wayland-minecraft-unstable-2023-06-01/lib/libglfw.so ]; home-manager.users.${username} = { # Install minecraft home.packages = with pkgs; [ prismlauncher ]; }; }; }