path:
/flake.nix
1.45 KB | plain
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 {
description = "trainsearch";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
};
outputs = { self, nixpkgs, flake-utils }: {
overlay = final: prev: {
trainsearch = final.buildNpmPackage {
name = "trainsearch";
src = self;
npmDepsHash = "sha256-anEajLsr+iiZ1nYLBerc7VqJops5Ln2mn9EN+x1zVts=";
makeCacheWritable = true;
npmBuildScript = "build";
GIT_VERSION = if (self.sourceInfo ? shortRev) then self.sourceInfo.shortRev else "dirty";
GIT_COMMIT = if (self.sourceInfo ? rev) then self.sourceInfo.rev else "dirty";
GIT_COMMITDATE = builtins.concatStringsSep "-" (builtins.match "(.{4})(.{2})(.{2}).*" self.lastModifiedDate);
installPhase = ''
cp -r dist $out
'';
};
};
} // (flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlay ];
};
in rec {
packages.default = pkgs.trainsearch;
packages.trainsearch = pkgs.trainsearch;
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs
nodePackages.webpack
nodePackages.webpack-cli
nodePackages.webpack-dev-server
];
shellHook = ''
export NODE_OPTIONS=--openssl-legacy-provider
'';
};
}
));
}