nandi/frqpublic Fork 0
ac6c46a
Commits
Clone
git clone https://git.rickub.com/nandi/frq.git
git clone ssh://git@rickub.com/nandi/frq.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Merge remote-tracking branch 'origin/main' into claude/nix-devshell-app-start-d04c35

nandi committed 2026-09-02T16:21:50-07:00 Browse files
ac6c46a parents: 3bc3aaa 040f2c1
modified flake.nix +16 -3
@@ -94,7 +94,17 @@
9494 # Mesa, despite the name: it covers Intel and AMD alike. The NVIDIA
9595 # wrappers are the ones that need --impure (they read the host kernel
9696 # 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;
98108
99109 # egui reaches for these with dlopen rather than linking them, so being
100110 # in the cdylib's buildInputs is not enough — whatever starts frq has to
@@ -205,7 +215,10 @@
205215 '';
206216
207217 # 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.
209222 #
210223 # TZDIR so a zone *name* resolves wherever this runs: frq.clock
211224 # hands one to tzset, and glibc then looks for the tzfile under
@@ -214,7 +227,7 @@
214227 # machine. --set-default, so a TZDIR the user set still wins.
215228 postFixup = ''
216229 wrapProgram "$out/bin/jolt" \
217- --prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.git pkgs.unzip ]}" \
230+ --prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.gitMinimal pkgs.unzip ]}" \
218231 --set-default JOLT_OPENSSL_LIBDIR "${pkgs.lib.makeLibraryPath [ pkgs.openssl ]}" \
219232 --set-default TZDIR "${pkgs.tzdata}/share/zoneinfo" \
220233 --set-default SSL_CERT_FILE "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
@@ -94,7 +94,17 @@
94 # Mesa, despite the name: it covers Intel and AMD alike. The NVIDIA94 # Mesa, despite the name: it covers Intel and AMD alike. The NVIDIA
95 # wrappers are the ones that need --impure (they read the host kernel95 # 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 being109 # 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 to110 # 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 dlopens217 # 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.clock223 # TZDIR so a zone *name* resolves wherever this runs: frq.clock
211 # hands one to tzset, and glibc then looks for the tzfile under224 # 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"