Change:
<ins> { stdenv , fetchFromGitHub , lib , makeDesktopItem , copyDesktopItems , pkg-config , python3 , ninja , meson , which , perl , wrapGAppsHook , glib , gtk3 , libpcap , openssl , libepoxy , libsamplerate , SDL2 , SDL2_image , mesa , libdrm , libGLU , gettext , vte }: stdenv.mkDerivation rec { pname = "xemu"; version = "0.7.84"; src = fetchFromGitHub { owner = "xemu-project"; repo = "xemu"; rev = "v${version}"; fetchSubmodules = true; hash = "sha256-pEXjwoQKbMmVNYCnh5nqP7k0acYOAp8SqxYZwPzVwDY="; }; nativeBuildInputs = [ pkg-config python3 python3.pkgs.pyyaml ninja which meson perl wrapGAppsHook copyDesktopItems ]; buildInputs = [ glib gtk3 openssl mesa libepoxy libdrm libpcap libsamplerate SDL2 libGLU SDL2_image gettext vte ]; separateDebugInfo = true; dontUseMesonConfigure = true; setOutputFlags = false; configureFlags = [ "--disable-strip" "--meson=meson" "--target-list=i386-softmmu" "--disable-werror" ]; buildFlags = [ "qemu-system-i386" ]; desktopItems = [(makeDesktopItem { name = "xemu"; desktopName = "xemu"; exec = "xemu"; icon = "xemu"; })] ; preConfigure = let branch = "master"; commit = "d8fa50e524c22f85ecb2e43108fd6a5501744351"; in '' patchShebangs . configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls") substituteInPlace ./scripts/xemu-version.sh  --replace 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'" # If the versions can't be obtained through git, the build process tries # to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar) echo '${commit}' > XEMU_COMMIT echo '${branch}' > XEMU_BRANCH echo '${version}' > XEMU_VERSION ''; preBuild = '' cd build substituteInPlace ./build.ninja --replace /usr/bin/env $(which env) ''; installPhase = '' runHook preInstall mkdir -p $out/{bin,share} cp qemu-system-i386 $out/bin/xemu for RES in 16x16 24x24 32x32 48x48 128x128 256x256 512x512 do mkdir -p $out/share/icons/hicolor/$RES/apps/ cp ../ui/icons/xemu_$RES.png $out/share/icons/hicolor/$RES/apps/xemu.png done runHook postInstall ''; meta = with lib; { homepage = "https://xemu.app/"; description = "Original Xbox emulator"; maintainers = with maintainers; [ ]; license = licenses.gpl2Plus; }; } </ins>

Discussion:
Project description Original Xbox Emulator. Metadata homepage URL: source URL: license: gpl2 platforms: unix
I've tried to get this working, but I'm getting a link error. Here are both of my attempts:
never mind, it seems link time optimization broke it. Does work for you? (the compile will take a couple of minutes)
I haven't tried anything. I will test this. I wanted emulators (i.e. Vita3k, xenia, etc) and emulator-related tools to be part of NixOS ecosystem too. Yes, it worked for me. I'm seeing just right now. I will need to test this a bit more after setting things up. Will let you know the end results after poking around and opening everything.
Got an issue - .
Pushed what I hope is a fix, can you try it again?
You got that one fixed. I'm now able to select files. Now, I'm stuck at screen. Weird thing is that the titlebar is . Not sure if that's intentional or if something got stripped. If I restarted (after renaming ISO), I get a missing file dialog so I know it's working (i.e. xemu recognizes the file is missing), but it still throw me screen.
The input screen works. It recognizes my controller and the buttons seems to be responding correctly. Taking a screenshot works too. I have finished adding necessary files. I just can't get it to load a disc.
Oh wait. I think I know what the problem is... I forget to do a step here. Hold on.
Yes! The game loads! Thank you!
As for titlebar, the version is missing. I looked at few Google images. Same with version, branch, commit. !
the version/commit info depends on the directory being present, which is possible but makes it really hard to be reproducible
Honestly, this is great for initial package. Version fixing can come later. I recall and have similar issue with versioning too. reports lack of version and reports vague version. does it perfectly. Something for experienced coders to look into. Thank you. Please merge it. :-)
Got the version stuff to work, also a desktop item