From a818f513963b032958529f91bfbb2ffb98ee8e2e Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Wed, 8 Apr 2026 10:35:22 -0400 Subject: [PATCH] fix: devshell on darwin Co-authored-by: thetayloredman --- .envrc | 2 +- flake.nix | 2 ++ nix/devshell.nix | 22 +++++++++++++++------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.envrc b/.envrc index 172993c46..eef23c9c5 100644 --- a/.envrc +++ b/.envrc @@ -2,7 +2,7 @@ dotenv_if_exists -if [ -f /etc/os-release ] && grep -q '^ID=nixos' /etc/os-release; then +if command -v nix >/dev/null 2>&1; then use flake ".#${DIRENV_DEVSHELL:-default}" fi diff --git a/flake.nix b/flake.nix index dce4f40a9..30c98112c 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,8 @@ systems = [ "x86_64-linux" "aarch64-linux" + # support untested but theoretically there + "aarch64-darwin" ]; }; } diff --git a/nix/devshell.nix b/nix/devshell.nix index 28b148535..24441e64c 100644 --- a/nix/devshell.nix +++ b/nix/devshell.nix @@ -12,19 +12,27 @@ devShells.default = craneLib.devShell { packages = [ self'.packages.rocksdb - pkgs.rust-jemalloc-sys-unprefixed pkgs.nodejs - pkgs.liburing pkgs.pkg-config + ] + ++ lib.optionals pkgs.stdenv.isLinux [ + pkgs.liburing + pkgs.rust-jemalloc-sys-unprefixed ]; env = { LIBCLANG_PATH = lib.makeLibraryPath [ pkgs.llvmPackages.libclang.lib ]; - LD_LIBRARY_PATH = lib.makeLibraryPath [ - pkgs.liburing - pkgs.jemalloc - pkgs.stdenv.cc.cc.lib - ]; + LD_LIBRARY_PATH = lib.makeLibraryPath ( + [ + pkgs.stdenv.cc.cc.lib + ] + ++ lib.optionals pkgs.stdenv.isLinux [ + pkgs.liburing + pkgs.jemalloc + ] + ); + } + // lib.optionalAttrs pkgs.stdenv.isLinux { PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [ pkgs.liburing.dev ];