summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-03-12 17:52:09 +0300
committerNikolay Amiantov <ab@fmap.me>2016-03-12 18:52:16 +0300
commit4a01f70f8f374f3f0e07f24957e212305325cf11 (patch)
treeff997d23b0ab3a23898571d5fb689032ee347136
parent0ba77c4cbd41a02345218594583aaea5580f4349 (diff)
octoprint service: add extraConfig
-rw-r--r--nixos/modules/services/misc/octoprint.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/nixos/modules/services/misc/octoprint.nix b/nixos/modules/services/misc/octoprint.nix
index 9cf46345c228..8ab2a9307a71 100644
--- a/nixos/modules/services/misc/octoprint.nix
+++ b/nixos/modules/services/misc/octoprint.nix
@@ -6,12 +6,16 @@ let
cfg = config.services.octoprint;
- cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON {
+ baseConfig = {
plugins.cura.cura_engine = "${pkgs.curaengine}/bin/CuraEngine";
server.host = cfg.host;
server.port = cfg.port;
webcam.ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
- });
+ };
+
+ fullConfig = recursiveUpdate cfg.extraConfig baseConfig;
+
+ cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON fullConfig);
pluginsEnv = pkgs.python.buildEnv.override {
extraLibs = cfg.plugins pkgs.octoprint-plugins;
@@ -62,13 +66,18 @@ in
};
plugins = mkOption {
- #type = types.functionTo (types.listOf types.package);
default = plugins: [];
defaultText = "plugins: []";
example = literalExample "plugins: [ m3d-fio ]";
description = "Additional plugins.";
};
+ extraConfig = mkOption {
+ type = types.attrs;
+ default = {};
+ description = "Extra options which are added to OctoPrint's YAML configuration file.";
+ };
+
};
};