commit
d2aca17683
53
default.nix
Normal file
53
default.nix
Normal file
@ -0,0 +1,53 @@
|
||||
let
|
||||
zig-overlay = import (
|
||||
builtins.fetchGit {
|
||||
url = "https://github.com/arqv/zig-overlay.git";
|
||||
rev = "a56601116906a2f192702e0b97487b8e7f796fdc";
|
||||
}
|
||||
);
|
||||
pkgs = import <nixpkgs> { overlays = [ zig-overlay ]; };
|
||||
|
||||
gitignoreSrc = pkgs.fetchFromGitHub {
|
||||
owner = "hercules-ci";
|
||||
repo = "gitignore";
|
||||
rev = "c4662e662462e7bf3c2a968483478a665d00e717";
|
||||
sha256 = "1npnx0h6bd0d7ql93ka7azhj40zgjp815fw2r6smg8ch9p7mzdlx";
|
||||
};
|
||||
inherit (import gitignoreSrc { inherit (pkgs) lib; }) gitignoreSource;
|
||||
|
||||
zig-default = pkgs.zig.master;
|
||||
in {
|
||||
zig ? zig-default,
|
||||
extraConfig ? {}
|
||||
}:
|
||||
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "zls";
|
||||
version = "master";
|
||||
src = gitignoreSource ./.;
|
||||
nativeBuildInputs = [
|
||||
zig
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
buildPhase = ''
|
||||
zig build -Drelease-safe=true
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
zig build install --prefix $out
|
||||
|
||||
cat << EOF > $out/bin/zls.json
|
||||
${builtins.toJSON {
|
||||
zig_lib_path = "${zig}/lib/zig/";
|
||||
zig_exe_path = "${zig}/bin/zig";
|
||||
warn_style = false;
|
||||
enable_snippets = false;
|
||||
enable_semantic_tokens = false;
|
||||
operator_completions = true;
|
||||
} // extraConfig}
|
||||
EOF
|
||||
'';
|
||||
|
||||
XDG_CACHE_HOME = ".cache";
|
||||
}
|
Loading…
Reference in New Issue
Block a user