| @@ -94,7 +94,17 @@ |
| 94 | # Mesa, despite the name: it covers Intel and AMD alike. The NVIDIA | 94 | # Mesa, despite the name: it covers Intel and AMD alike. The NVIDIA |
| 95 | # wrappers are the ones that need --impure (they read the host kernel | 95 | # wrappers are the ones that need --impure (they read the host kernel |
| 96 | # module's version), which is why this only ever reaches for Intel. | 96 | # module's version), which is why this only ever reaches for Intel. |
| 97 | - nixGLFor = pkgs: nixgl.packages.${pkgs.stdenv.hostPlatform.system}.nixGLIntel; | 97 | + # |
| | 98 | + # Built from nixGL's default.nix rather than taken from its flake |
| | 99 | + # outputs, for the one argument the flake hardcodes on: `enable32bits`, |
| | 100 | + # which on x86_64 puts a second, i686 copy of mesa, its LLVM, and |
| | 101 | + # intel-media-driver into the wrapper. frq is 64-bit on both halves — |
| | 102 | + # the Rust cdylibs and the Chez runtime — so nothing here ever opens the |
| | 103 | + # 32-bit driver, and carrying it is most of the dev shell's closure. |
| | 104 | + nixGLFor = pkgs: (import nixgl { |
| | 105 | + inherit pkgs; |
| | 106 | + enable32bits = false; |
| | 107 | + }).nixGLIntel; |
| 98 | | 108 | |
| 99 | # egui reaches for these with dlopen rather than linking them, so being | 109 | # egui reaches for these with dlopen rather than linking them, so being |
| 100 | # in the cdylib's buildInputs is not enough — whatever starts frq has to | 110 | # in the cdylib's buildInputs is not enough — whatever starts frq has to |
| @@ -205,7 +215,10 @@ |
| 205 | ''; | 215 | ''; |
| 206 | | 216 | |
| 207 | # jolt.deps shells out to git and unzip, and jolt.mvn-http dlopens | 217 | # jolt.deps shells out to git and unzip, and jolt.mvn-http dlopens |
| 208 | - # OpenSSL through the JOLT_OPENSSL_LIBDIR seam. | 218 | + # OpenSSL through the JOLT_OPENSSL_LIBDIR seam. gitMinimal rather |
| | 219 | + # than git: all jolt.deps asks for is clone/fetch/rev-parse, and |
| | 220 | + # the full package carries Perl and Python for the subcommands |
| | 221 | + # written in them — a quarter of a gigabyte for git-send-email. |
| 209 | # | 222 | # |
| 210 | # TZDIR so a zone *name* resolves wherever this runs: frq.clock | 223 | # TZDIR so a zone *name* resolves wherever this runs: frq.clock |
| 211 | # hands one to tzset, and glibc then looks for the tzfile under | 224 | # hands one to tzset, and glibc then looks for the tzfile under |
| @@ -214,7 +227,7 @@ |
| 214 | # machine. --set-default, so a TZDIR the user set still wins. | 227 | # machine. --set-default, so a TZDIR the user set still wins. |
| 215 | postFixup = '' | 228 | postFixup = '' |
| 216 | wrapProgram "$out/bin/jolt" \ | 229 | wrapProgram "$out/bin/jolt" \ |
| 217 | - --prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.git pkgs.unzip ]}" \ | 230 | + --prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.gitMinimal pkgs.unzip ]}" \ |
| 218 | --set-default JOLT_OPENSSL_LIBDIR "${pkgs.lib.makeLibraryPath [ pkgs.openssl ]}" \ | 231 | --set-default JOLT_OPENSSL_LIBDIR "${pkgs.lib.makeLibraryPath [ pkgs.openssl ]}" \ |
| 219 | --set-default TZDIR "${pkgs.tzdata}/share/zoneinfo" \ | 232 | --set-default TZDIR "${pkgs.tzdata}/share/zoneinfo" \ |
| 220 | --set-default SSL_CERT_FILE "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" | 233 | --set-default SSL_CERT_FILE "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" |