mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-26 02:37:05 +00:00
4564da2875
With an addition of useFetchCargoVendor, crane becomes less necessary for our use. This reuses the package from nixpkgs as well as creating a better devshell that both work on macOS. I use Xcode's SDKROOT and DEVELOPER_DIR to point the swift in the livekit client crate to a correct sdk when using a devshell. Devshell should work without that once apple releases sources for the 15.1 SDK but for now this is an easy fix This also replaces fenix with rust-overlay because of issues with the out-of-sandbox access I've noticed fenix installed toolchains have Release Notes: - N/A
57 lines
1.4 KiB
Nix
57 lines
1.4 KiB
Nix
{
|
|
pkgs ? import <nixpkgs> { },
|
|
}:
|
|
let
|
|
inherit (pkgs) lib;
|
|
in
|
|
pkgs.mkShell rec {
|
|
packages = [
|
|
pkgs.clang
|
|
pkgs.curl
|
|
pkgs.cmake
|
|
pkgs.perl
|
|
pkgs.pkg-config
|
|
pkgs.protobuf
|
|
pkgs.rustPlatform.bindgenHook
|
|
pkgs.rust-analyzer
|
|
];
|
|
|
|
buildInputs =
|
|
[
|
|
pkgs.curl
|
|
pkgs.fontconfig
|
|
pkgs.freetype
|
|
pkgs.libgit2
|
|
pkgs.openssl
|
|
pkgs.sqlite
|
|
pkgs.zlib
|
|
pkgs.zstd
|
|
pkgs.rustToolchain
|
|
]
|
|
++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
|
|
pkgs.alsa-lib
|
|
pkgs.libxkbcommon
|
|
]
|
|
++ lib.optional pkgs.stdenv.hostPlatform.isDarwin pkgs.apple-sdk_15;
|
|
|
|
# We set SDKROOT and DEVELOPER_DIR to the Xcode ones instead of the nixpkgs ones,
|
|
# because we need Swift 6.0 and nixpkgs doesn't have it.
|
|
# Xcode is required for development anyways
|
|
shellHook =
|
|
''
|
|
export LD_LIBRARY_PATH="${lib.makeLibraryPath buildInputs}:$LD_LIBRARY_PATH"
|
|
export PROTOC="${pkgs.protobuf}/bin/protoc"
|
|
''
|
|
+ lib.optionalString pkgs.stdenv.hostPlatform.isDarwin ''
|
|
export SDKROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk";
|
|
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer";
|
|
'';
|
|
|
|
FONTCONFIG_FILE = pkgs.makeFontsConf {
|
|
fontDirectories = [
|
|
"./assets/fonts/zed-mono"
|
|
"./assets/fonts/zed-sans"
|
|
];
|
|
};
|
|
ZSTD_SYS_USE_PKG_CONFIG = true;
|
|
}
|