summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.nix3
-rw-r--r--default.nix17
-rw-r--r--srv-dev-env.sh2
3 files changed, 20 insertions, 2 deletions
diff --git a/config.nix b/config.nix
index 4689ca5..95b2b0e 100644
--- a/config.nix
+++ b/config.nix
@@ -8,4 +8,7 @@
mlPublicURL = "http://localhost:4000";
listenProto = "tcp";
listenAddr = ":4000";
+
+ # If empty then a derived static directory is used
+ staticProxyURL = "http://127.0.0.1:4002";
}
diff --git a/default.nix b/default.nix
index 93ba9d8..8d20c38 100644
--- a/default.nix
+++ b/default.nix
@@ -7,7 +7,7 @@
}) {},
baseConfig ? import ./config.nix,
- skipServices ? [],
+ baseSkipServices ? [],
}: rec {
@@ -17,6 +17,12 @@
redisListenPath = "${config.runDir}/redis";
};
+ skipServices = baseSkipServices ++ (
+ if baseConfig.staticProxyURL == ""
+ then [ "static" ]
+ else []
+ );
+
static = (import ./static) { inherit pkgs; };
srv = pkgs.callPackage (import ./srv) {
@@ -53,6 +59,13 @@
numprocesses = 1
'';
+ staticCircusCfg = ''
+ [watcher:static]
+ cmd = ${static.serve}/bin/static-serve
+ numprocesses = 1
+ working_dir = ./static
+ '';
+
circusCfg = pkgs.writeText "mediocre-blog-circusCfg" ''
[circus]
endpoint = tcp://127.0.0.1:0
@@ -61,6 +74,8 @@
${if (!builtins.elem "srv" skipServices) then srvCircusCfg else ""}
${if (!builtins.elem "redis" skipServices) then redisCircusCfg else ""}
+
+ ${if (!builtins.elem "static" skipServices) then staticCircusCfg else ""}
'';
entrypoint = pkgs.writeScript "mediocre-blog-entrypoint" ''
diff --git a/srv-dev-env.sh b/srv-dev-env.sh
index 2df9918..9d2ee87 100644
--- a/srv-dev-env.sh
+++ b/srv-dev-env.sh
@@ -11,7 +11,7 @@ test_cfg="(import ./config.nix) // {
entrypoint=$(nix-build --no-out-link -A entrypoint \
--arg baseConfig "$test_cfg" \
- --arg skipServices '["srv"]')
+ --arg baseSkipServices '["srv"]')
$entrypoint &
trap "kill $!; wait; rm -rf $test_dir" EXIT