let mozillaOverlay = import (builtins.fetchGit { url = "https://github.com/mozilla/nixpkgs-mozilla.git"; rev = "57c8084c7ef41366993909c20491e359bbb90f54"; }); pinned = builtins.fetchGit { # Descriptive name to make the store path easier to identify name = "nixos-unstable-2020-04-26"; url = "https://github.com/nixos/nixpkgs/"; # Commit hash for nixos-unstable as of 2020-04-26 # `git ls-remote https://github.com/nixos/nixpkgs nixos-unstable` ref = "refs/heads/nixos-unstable"; rev = "1fe6ed37fd9beb92afe90671c0c2a662a03463dd"; }; nixpkgs = import pinned { overlays = [ mozillaOverlay ]; }; rust-nightly = with nixpkgs; ((rustChannelOf { date = "2021-03-01"; channel = "nightly"; }).rust.override { targets = [ "wasm32-unknown-unknown" ]; }); in with nixpkgs; pkgs.mkShell { buildInputs = [ clang pkg-config rust-nightly ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; PROTOC = "${protobuf}/bin/protoc"; ROCKSDB_LIB_DIR = "${rocksdb}/lib"; }