{ pkgs ? import { } }: with pkgs; let isabelle2021_1 = stdenv.mkDerivation { pname = "isabelle-unpatched"; version = "2021"; src = fetchzip { url = "https://isabelle.in.tum.de/dist/Isabelle2021-1_linux.tar.gz"; sha256 = "sha256-kJsFPcdlcV8SMWYoqUVJ0sPm7bTAhRDFJ8nddz0Pyik="; }; phases = [ "buildPhase" ]; buildPhase = '' mkdir -p $out cp -r $src/* $out ''; }; isabelle2022 = stdenv.mkDerivation { pname = "isabelle-unpatched"; version = "2021"; src = fetchzip { url = "https://isabelle.in.tum.de/dist/Isabelle2022_linux.tar.gz"; sha256 = "sha256-qwcCRAa8fuGMXbI8og+kbZ0HCel1YKb34EJsc7GUz3s="; }; phases = [ "buildPhase" ]; buildPhase = '' mkdir -p $out cp -r $src/* $out ''; }; mkEnv = isabelle: buildFHSUserEnv { name = "isabelle"; targetPkgs = pkgs: with pkgs; [ dbus expat file fontconfig freetype gdb glib gmp nspr nss udev xorg.libX11 xorg.libXScrnSaver xorg.libXcomposite xorg.libXcursor xorg.libXdamage xorg.libXext xorg.libXfixes xorg.libXi xorg.libXrandr xorg.libXrender xorg.libXtst xorg.libxcb xorg.xcbutilkeysyms zlib ]; runScript = "${isabelle.outPath}/bin/isabelle"; }; in { isabelle2021_1 = mkEnv isabelle2021_1; isabelle2022 = mkEnv isabelle2022; }