From 56c11123e81f280e5fd3df2d9bd428fa7f869467 Mon Sep 17 00:00:00 2001 From: Max Brydak <57046745+maxxieb@users.noreply.github.com> Date: Wed, 28 Jan 2026 14:57:48 +0100 Subject: [PATCH 1/3] Revise NixOS requirements in README Updated NixOS installation requirements to include additional configuration settings. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70a65963ca..95fec6cedd 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Let's start by choosing an officially supported platform: > [!TIP] > - On macOS `aarch64` (`arm64`) systems, Rosetta 2 must be installed (install it with `softwareupdate --install-rosetta`) -> - [NixOS](https://nixos.org/) requires [`docker`](https://nixos.wiki/wiki/Docker) to be installed and [Flakes](https://nixos.wiki/wiki/Flakes) to be enabled (see the [development environment section of the dev docs](DEV_DOCS.md) for more information) +> - [NixOS](https://nixos.org/) requires [`docker`](https://nixos.wiki/wiki/Docker) to be installed, [Flakes](https://nixos.wiki/wiki/Flakes) to be enabled and `services.envfs.enabled = true;` and `programs.nix-ld.enabled = true;` to be set in your config (see the [development environment section of the dev docs](DEV_DOCS.md) for more information) > - Linux with MUSL instead of GNU (e.g. [Alpine Linux](https://www.alpinelinux.org/)) is untested > - [WSL2](https://learn.microsoft.com/en-us/windows/wsl/) on Windows should work, but you may need to enable `systemd` within your Linux distribution > - macOS `x86_64` (i.e. `amd64`, "Intel") has historically worked, but is currently untested From 1c983a7c51c50903b5add2ba9d0a1cd07a1b6354 Mon Sep 17 00:00:00 2001 From: Max Brydak <57046745+maxxieb@users.noreply.github.com> Date: Wed, 28 Jan 2026 14:59:43 +0100 Subject: [PATCH 2/3] Enhance NixOS setup instructions Updated NixOS requirements to include envfs and nix-ld settings. --- DEV_DOCS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEV_DOCS.md b/DEV_DOCS.md index a6d8680883..3d2f68b990 100644 --- a/DEV_DOCS.md +++ b/DEV_DOCS.md @@ -66,7 +66,7 @@ Those include, but are not limited to the following: Ubuntu, Fedora, Debian, Arc #### What about NixOS? -If using NixOS, you need [Docker](https://wiki.nixos.org/wiki/Docker) to be installed and [Flakes](https://wiki.nixos.org/wiki/Flakes) to be enabled. +If using NixOS, you need [Docker](https://wiki.nixos.org/wiki/Docker) to be installed, `services.envfs.enabled = true;` and `programs.nix-ld.enabled = true;` to be set in your config and [Flakes](https://wiki.nixos.org/wiki/Flakes) to be enabled. If not using `direnv`, you can use `nix develop` or [Nix command](https://wiki.nixos.org/wiki/Nix_command). ### Windows From 7ba92359f45852cf37dfc904d21a4f816cd2317a Mon Sep 17 00:00:00 2001 From: Max Brydak <57046745+maxxieb@users.noreply.github.com> Date: Wed, 28 Jan 2026 15:02:49 +0100 Subject: [PATCH 3/3] Update extraction.bzl Since bash does not always is in `/bin/bash`, or sometimes the path might not even exist (i.e. on NixOS without `services.envfs.enabled = true;`) - it might be safer and a better practice in general to change shebangs of generated scripts to /usr/bin/env bash (and maybe do the same thing for python scripts shebangs) --- prelude-si/toolchains/extraction.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prelude-si/toolchains/extraction.bzl b/prelude-si/toolchains/extraction.bzl index 6e39e2c1ec..700e786069 100644 --- a/prelude-si/toolchains/extraction.bzl +++ b/prelude-si/toolchains/extraction.bzl @@ -31,7 +31,7 @@ def _toolchain_extract_impl(ctx: AnalysisContext) -> list[Provider]: ctx.actions.write( extract_script, [ - "#!/bin/bash", + "#!/usr/bin/env bash", "set -e", "OUTPUT_DIR=\"$1\"", "ARCHIVE=\"$2\"", @@ -147,4 +147,4 @@ def download_and_extract_toolchain( os = os, arch = arch, visibility = visibility, - ) \ No newline at end of file + )