diff --git a/devenv-rust.nix b/devenv-rust.nix index d15ab1a..911789f 100644 --- a/devenv-rust.nix +++ b/devenv-rust.nix @@ -26,6 +26,14 @@ vulkan-tools ]; env.RUSTC_WRAPPER = "sccache"; + # Per-user sccache server socket. On the default shared TCP port (4226) + # the first user's server performs every rustc write for every user, so a + # second user's builds die with EACCES in their own target/ dir. + enterShell = '' + sccache_dir="''${XDG_RUNTIME_DIR:-/tmp/sccache-$(id -u)}" + mkdir -p "$sccache_dir" + export SCCACHE_SERVER_UDS="$sccache_dir/sccache.sock" + ''; # https://devenv.sh/languages/ languages.rust = { enable = true;