|
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 | + }; |
| 20 | + |
| 21 | + npmFlags = [ "--legacy-peer-deps" ]; |
| 22 | + |
| 23 | + npmConfigHook = pkgs.importNpmLock.npmConfigHook; |
| 24 | + |
| 25 | + installPhase = '' |
| 26 | + cp -r ./dist/ $out |
| 27 | + ''; |
| 28 | + }; |
| 29 | + sdow-http = pkgs.writeShellScript "sdow" '' |
| 30 | + ${pkgs.simple-http-server}/bin/simple-http-server ${self.packages.x86_64-linux.sdow} "$@" |
| 31 | + ''; |
10 | 32 | python-gunicorn = pkgs.python3.withPackages (pp: with pp;[ |
11 | 33 | flask |
12 | 34 | flask-compress |
13 | 35 | flask-cors |
14 | 36 | gunicorn |
15 | 37 | protobuf |
16 | 38 | requests |
| 39 | + google-cloud-logging |
17 | 40 | ]); |
18 | 41 | sdow-api-gunicorn = pkgs.writeShellApplication { |
19 | 42 | name = "sdow-api"; |
20 | 43 | runtimeInputs = [ python-gunicorn ]; |
21 | 44 | text = '' |
22 | 45 | cd "${self.packages.x86_64-linux.sdow-api}" |
| 46 | + if [ "$#" -lt 2 ] |
| 47 | + then echo "This script takes two arguments: path to sdow database, and path to searches database"; exit 1 |
| 48 | + fi |
23 | 49 | if [ ! -f "$1" ] |
24 | 50 | then echo "First argument should be a path to the sdow database"; exit 1 |
25 | 51 | fi |
|
63 | 89 |
|
64 | 90 | packages.x86_64-linux = { |
65 | 91 | default = self.packages.x86_64-linux.sdow; |
66 | | - sdow = pkgs.buildNpmPackage { |
67 | | - name = "sdow"; |
68 | | - buildInputs = with pkgs; [ |
69 | | - nodejs_latest |
70 | | - ]; |
71 | | - src = ./website; |
72 | | - |
73 | | - npmDeps = pkgs.importNpmLock { |
74 | | - npmRoot = ./website; |
75 | | - }; |
76 | | - |
77 | | - npmFlags = [ "--legacy-peer-deps" ]; |
78 | | - |
79 | | - npmConfigHook = pkgs.importNpmLock.npmConfigHook; |
80 | | - |
81 | | - installPhase = '' |
82 | | - cp -r build/ $out |
83 | | - ''; |
84 | | - }; |
| 92 | + sdow = sdow-website; |
85 | 93 |
|
86 | 94 | sdow-api = pkgs.stdenv.mkDerivation { |
87 | 95 | name = "sdow-api"; |
|
95 | 103 | }; |
96 | 104 | apps.x86_64-linux = { |
97 | 105 | default = self.apps.x86_64-linux.sdow-api; |
| 106 | + sdow = { |
| 107 | + type = "app"; |
| 108 | + program = "${sdow-http}"; |
| 109 | + }; |
98 | 110 | sdow-api = { |
99 | 111 | type = "app"; |
100 | 112 | program = "${sdow-api-gunicorn}/bin/sdow-api"; |
|
0 commit comments