|
7 | 7 |
|
8 | 8 | outputs = { self, nixpkgs }: let |
9 | 9 | pkgs = import nixpkgs {system = "x86_64-linux";}; |
10 | | - sdow-website = pkgs.buildNpmPackage { |
11 | | - name = "sdow"; |
12 | | - buildInputs = with pkgs; [ |
13 | | - nodejs_latest |
14 | | - ]; |
15 | | - src = ./website; |
16 | | - |
17 | | - npmDeps = pkgs.importNpmLock { |
18 | | - npmRoot = ./website; |
19 | | - }; |
| 10 | + sdow-website = {lang ? null, wikipediaApiUrl ? null, sdowApiUrl ? null, sdowUserAgent ? null }: |
| 11 | + let extraArgs = {} // |
| 12 | + (if wikipediaApiUrl == null then {VITE_WIKIPEDIA_API_URL=wikipediaApiUrl;} else |
| 13 | + if lang == null then {VITE_WIKIPEDIA_API_URL="https://${lang}.wikipedia.org/w/api.php";} else {}) // |
| 14 | + (if sdowApiUrl == null then {VITE_SDOW_API_URL=sdowApiUrl;} else {}) // |
| 15 | + (if sdowUserAgent == null then {VITE_SDOW_USER_AGENT=sdowUserAgent;} else {}); |
| 16 | + in pkgs.buildNpmPackage ({ |
| 17 | + name = "sdow"; |
| 18 | + buildInputs = with pkgs; [ |
| 19 | + nodejs_latest |
| 20 | + ]; |
| 21 | + src = ./website; |
| 22 | + npmDeps = pkgs.importNpmLock { |
| 23 | + npmRoot = ./website; |
| 24 | + }; |
20 | 25 |
|
21 | | - npmFlags = [ "--legacy-peer-deps" ]; |
| 26 | + npmFlags = [ "--legacy-peer-deps" ]; |
22 | 27 |
|
23 | | - npmConfigHook = pkgs.importNpmLock.npmConfigHook; |
| 28 | + npmConfigHook = pkgs.importNpmLock.npmConfigHook; |
24 | 29 |
|
25 | | - installPhase = '' |
26 | | - cp -r ./dist/ $out |
27 | | - ''; |
28 | | - }; |
| 30 | + installPhase = '' |
| 31 | + cp -r ./dist/ $out |
| 32 | + ''; |
| 33 | + } // extraArgs); |
29 | 34 | sdow-http = pkgs.writeShellScript "sdow" '' |
30 | | - ${pkgs.simple-http-server}/bin/simple-http-server ${self.packages.x86_64-linux.sdow} "$@" |
| 35 | + ${pkgs.simple-http-server}/bin/simple-http-server ${sdow-website {}} "$@" |
31 | 36 | ''; |
32 | 37 | python-gunicorn = pkgs.python3.withPackages (pp: with pp;[ |
33 | 38 | flask |
|
89 | 94 |
|
90 | 95 | packages.x86_64-linux = { |
91 | 96 | default = self.packages.x86_64-linux.sdow; |
92 | | - sdow = sdow-website; |
| 97 | + sdow = sdow-website {}; |
| 98 | + sdow-lang = sdow-website; |
93 | 99 |
|
94 | 100 | sdow-api = pkgs.stdenv.mkDerivation { |
95 | 101 | name = "sdow-api"; |
|
0 commit comments