Add flake support
Have to use it with `nix run '.?submodules=1'`, unfortunately. Might be able to remove that requirement by using the following, but I don't know how it interacts with `gitignoreSource`: ``` fetchGit { url = ./.; submodules = true; } ```
This commit is contained in:
parent
949e4fe525
commit
ac8600cd8c
85
flake.lock
Normal file
85
flake.lock
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1629481132,
|
||||||
|
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "997f7efcb746a9c140ce1f13c72263189225f482",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1657706534,
|
||||||
|
"narHash": "sha256-5jIzNHKtDu06mA325K/5CshUVb5r7sSmnRiula6Gr7o=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "f840a659d57e53fa751a9248b17149fd0cf2a221",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1658119717,
|
||||||
|
"narHash": "sha256-4upOZIQQ7Bc4CprqnHsKnqYfw+arJeAuU+QcpjYBXW0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "9eb60f25aff0d2218c848dd4574a0ab5e296cabe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"zig-overlay": "zig-overlay"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zig-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1658105291,
|
||||||
|
"narHash": "sha256-3EXG2r5/h/iyzytRqI+tWTP11f1PdaJJ8Hl5QRe95OE=",
|
||||||
|
"owner": "arqv",
|
||||||
|
"repo": "zig-overlay",
|
||||||
|
"rev": "bfd640ef3c9bf8b4cd300af9f79a7ba950823ef5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "arqv",
|
||||||
|
"repo": "zig-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
43
flake.nix
Normal file
43
flake.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
|
||||||
|
zig-overlay.url = "github:arqv/zig-overlay";
|
||||||
|
zig-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
gitignore.url = "github:hercules-ci/gitignore.nix";
|
||||||
|
gitignore.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {self, nixpkgs, zig-overlay, gitignore }:
|
||||||
|
let
|
||||||
|
inherit (gitignore.lib) gitignoreSource;
|
||||||
|
zls-derivation-fn = (system: nixpkgs.legacyPackages.${system}.stdenvNoCC.mkDerivation {
|
||||||
|
name = "zls";
|
||||||
|
version = "master";
|
||||||
|
src = gitignoreSource ./.;
|
||||||
|
nativeBuildInputs = [
|
||||||
|
zig-overlay.packages.${system}.master.latest
|
||||||
|
];
|
||||||
|
dontConfigure = true;
|
||||||
|
dontInstall = true;
|
||||||
|
buildPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
zig build install -Drelease-safe=true -Ddata_version=master --prefix $out
|
||||||
|
'';
|
||||||
|
XDG_CACHE_HOME = ".cache";
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
packages = rec {
|
||||||
|
x86_64-linux.zls = zls-derivation-fn "x86_64-linux";
|
||||||
|
aarch64-linux.zls = zls-derivation-fn "aarch64-linux";
|
||||||
|
x86_64-darwin.zls = zls-derivation-fn "x86_64-darwin";
|
||||||
|
aarch64-darwin.zls = zls-derivation-fn "aarch64-darwin";
|
||||||
|
|
||||||
|
x86_64-linux.default = x86_64-linux.zls;
|
||||||
|
aarch64-linux.default = aarch64-linux.zls;
|
||||||
|
x86_64-darwin.default = x86_64-darwin.zls;
|
||||||
|
aarch64-darwin.default = aarch64-darwin.zls;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user