-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
68 lines (59 loc) · 2.09 KB
/
Copy pathflake.nix
File metadata and controls
68 lines (59 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{
description = "zig";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
zig-overlay.url = "github:mitchellh/zig-overlay";
zig-overlay.inputs.nixpkgs.follows = "nixpkgs";
zls-0-13.url = "github:zigtools/zls/0.13.0";
zls-0-13.inputs.nixpkgs.follows = "nixpkgs";
zls-0-14.url = "github:zigtools/zls/0.14.0";
zls-0-14.inputs.nixpkgs.follows = "nixpkgs";
zls-0-15.url = "github:zigtools/zls/0.15.1";
zls-0-15.inputs.nixpkgs.follows = "nixpkgs";
zls-0-16.url = "github:zigtools/zls/0.16.0";
zls-0-16.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, flake-utils, zig-overlay
, zls-0-13, zls-0-14, zls-0-15, zls-0-16 }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ zig-overlay.overlays.default ];
};
zig = {
"0.13.0" = pkgs.zigpkgs."0.13.0";
"0.14.0" = pkgs.zigpkgs."0.14.0";
"0.15.2" = pkgs.zigpkgs."0.15.2";
"0.16.0" = pkgs.zigpkgs."0.16.0";
master = pkgs.zigpkgs.master;
};
zls = {
"0.13.0" = zls-0-13.packages.${system}.zls;
"0.14.0" = zls-0-14.packages.${system}.zls;
"0.15.2" = zls-0-15.packages.${system}.zls;
"0.16.0" = zls-0-16.packages.${system}.zls;
};
mkZigShell = v: pkgs.mkShell {
buildInputs = [ zig.${v} ];
};
mkLspShell = v: pkgs.mkShell {
buildInputs = [ zig.${v} zls.${v} ];
};
in {
devShells = {
default = mkZigShell "0.16.0";
"0.13.0" = mkZigShell "0.13.0";
"0.14.0" = mkZigShell "0.14.0";
"0.15.2" = mkZigShell "0.15.2";
"0.16.0" = mkZigShell "0.16.0";
master = mkZigShell "master"; # no matching zls for master
lsp = mkLspShell "0.16.0";
"lsp-0.13" = mkLspShell "0.13.0";
"lsp-0.14" = mkLspShell "0.14.0";
"lsp-0.15" = mkLspShell "0.15.2";
};
}
);
}