mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-26 08:31:59 +03:00
5e1c690888
This PR adds a Nix/NixOS development-shell (`shell.nix`), which is based
on the upstream
[nixpkgs](c5d4d45811/pkgs/by-name/ze/zed-editor/package.nix
),
as well as its corresponding `flake.nix` file.
To use it, run either the `nix-shell` command (uses the `shell.nix`
file), or the newer but experimental `nix develop` command (uses
`flake.nix`)
~~This has not been tested on macOS, tho preliminary code is there to
try and support it, feel free to report any issues.~~ Zed unfortunately
doesn't build on nix-darwin (see
https://github.com/NixOS/nixpkgs/issues/320084), so this PR doesn't aim
to add darwin support.
---
Release Notes:
- N/A
---------
Signed-off-by: xtrm <oss@xtrm.me>
Co-authored-by: Niklas Korz <niklas@niklaskorz.de>
57 lines
1.1 KiB
Nix
57 lines
1.1 KiB
Nix
{
|
|
pkgs ? import <nixpkgs> { },
|
|
}:
|
|
|
|
let
|
|
stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.llvmPackages_18.stdenv;
|
|
in
|
|
if pkgs.stdenv.isDarwin then
|
|
# See https://github.com/NixOS/nixpkgs/issues/320084
|
|
throw "zed: nix dev-shell isn't supported on darwin yet."
|
|
else
|
|
(pkgs.mkShell.override { inherit stdenv; }) rec {
|
|
nativeBuildInputs = with pkgs; [
|
|
copyDesktopItems
|
|
curl
|
|
perl
|
|
pkg-config
|
|
protobuf
|
|
rustPlatform.bindgenHook
|
|
];
|
|
|
|
buildInputs = with pkgs; [
|
|
curl
|
|
fontconfig
|
|
freetype
|
|
libgit2
|
|
openssl
|
|
sqlite
|
|
zlib
|
|
zstd
|
|
|
|
alsa-lib
|
|
libxkbcommon
|
|
wayland
|
|
xorg.libxcb
|
|
];
|
|
|
|
env = {
|
|
LD_LIBRARY_PATH =
|
|
with pkgs;
|
|
lib.makeLibraryPath (
|
|
buildInputs
|
|
++ [
|
|
stdenv.cc.cc.lib
|
|
vulkan-loader
|
|
]
|
|
);
|
|
ZSTD_SYS_USE_PKG_CONFIG = true;
|
|
FONTCONFIG_FILE = pkgs.makeFontsConf {
|
|
fontDirectories = [
|
|
"assets/fonts/zed-mono"
|
|
"assets/fonts/zed-sans"
|
|
];
|
|
};
|
|
};
|
|
}
|