|
1 | 1 | {
|
2 | 2 | inputs = {
|
3 |
| - nixpkgs.url = "github:nixos/nixpkgs"; |
4 | 3 | flake-utils.url = "github:numtide/flake-utils";
|
5 |
| - |
6 |
| - nixpkgs-matrix.url = "github:matrixai/nixpkgs-matrix"; |
7 |
| - nixpkgs.follows = "nixpkgs-matrix/nixpkgs"; |
| 4 | + nixpkgs-matrix = { |
| 5 | + type = "indirect"; |
| 6 | + id = "nixpkgs-matrix"; |
| 7 | + }; |
8 | 8 | };
|
9 | 9 |
|
10 |
| - outputs = { nixpkgs, flake-utils, ... }: |
| 10 | + outputs = { nixpkgs-matrix, flake-utils, ... }: |
11 | 11 | flake-utils.lib.eachSystem ([
|
12 | 12 | "x86_64-linux"
|
13 | 13 | "x86_64-windows"
|
14 | 14 | "x86_64-darwin"
|
15 | 15 | "aarch64-darwin"
|
16 | 16 | ]) (system:
|
17 | 17 | let
|
18 |
| - pkgs = import nixpkgs { |
19 |
| - system = system; |
20 |
| - }; |
| 18 | + pkgs = nixpkgs-matrix.legacyPackages.${system}; |
21 | 19 |
|
22 |
| - shell = { ci ? false }: with pkgs; pkgs.mkShell { |
23 |
| - nativeBuildInputs = [ |
24 |
| - nodejs_20 |
25 |
| - shellcheck |
26 |
| - jq |
27 |
| - ]; |
28 |
| - # Don't set rpath for native addons |
29 |
| - NIX_DONT_SET_RPATH = true; |
30 |
| - NIX_NO_SELF_RPATH = true; |
31 |
| - RUST_SRC_PATH = "${rustPlatform.rustLibSrc}"; |
32 |
| - shellHook = '' |
33 |
| - echo "Entering $(npm pkg get name)" |
34 |
| - set -o allexport |
35 |
| - . ./.env |
36 |
| - set +o allexport |
37 |
| - set -v |
38 |
| - ${ |
39 |
| - lib.optionalString ci |
40 |
| - '' |
41 |
| - set -o errexit |
42 |
| - set -o nounset |
43 |
| - set -o pipefail |
44 |
| - shopt -s inherit_errexit |
45 |
| - '' |
46 |
| - } |
47 |
| - mkdir --parents "$(pwd)/tmp" |
| 20 | + shell = { ci ? false }: |
| 21 | + with pkgs; |
| 22 | + pkgs.mkShell { |
| 23 | + nativeBuildInputs = [ nodejs_20 shellcheck jq ]; |
| 24 | + # Don't set rpath for native addons |
| 25 | + NIX_DONT_SET_RPATH = true; |
| 26 | + NIX_NO_SELF_RPATH = true; |
| 27 | + RUST_SRC_PATH = "${rustPlatform.rustLibSrc}"; |
| 28 | + shellHook = '' |
| 29 | + echo "Entering $(npm pkg get name)" |
| 30 | + set -o allexport |
| 31 | + . ./.env |
| 32 | + set +o allexport |
| 33 | + set -v |
| 34 | + ${lib.optionalString ci '' |
| 35 | + set -o errexit |
| 36 | + set -o nounset |
| 37 | + set -o pipefail |
| 38 | + shopt -s inherit_errexit |
| 39 | + ''} |
| 40 | + mkdir --parents "$(pwd)/tmp" |
48 | 41 |
|
49 |
| - # Built executables and NPM executables |
50 |
| - export PATH="$(pwd)/dist/bin:$(npm root)/.bin:$PATH" |
| 42 | + # Built executables and NPM executables |
| 43 | + export PATH="$(pwd)/dist/bin:$(npm root)/.bin:$PATH" |
51 | 44 |
|
52 |
| - npm install --ignore-scripts |
| 45 | + npm install --ignore-scripts |
53 | 46 |
|
54 |
| - set +v |
55 |
| - ''; |
56 |
| - }; |
57 |
| - in |
58 |
| - { |
59 |
| - devShells = { |
60 |
| - default = shell { ci = false; }; |
61 |
| - ci = shell { ci = true; }; |
| 47 | + set +v |
| 48 | + ''; |
62 | 49 | };
|
63 |
| - } |
64 |
| - ); |
| 50 | + in { |
| 51 | + devShells = { |
| 52 | + default = shell { ci = false; }; |
| 53 | + ci = shell { ci = true; }; |
| 54 | + }; |
| 55 | + }); |
65 | 56 | }
|
0 commit comments