about summary refs log tree commit diff
path: root/pkgs/applications/networking/pyload-ng/declarative-env-config.patch
blob: 42f89ee485cb28c77db4be5ed7f756ff643df5cd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
index 4324fc700..5d915a85e 100644
--- a/src/pyload/core/__init__.py
+++ b/src/pyload/core/__init__.py
@@ -128,6 +128,13 @@ class Core:
         else:
             self._debug = max(0, int(debug))

+        # Allow setting any option declaratively, for the NixOS module
+        for env, value in os.environ.items():
+            if not env.startswith("PYLOAD__"):
+                continue
+            section, opt = env.removeprefix("PYLOAD__").lower().split("__")
+            self.config.set(section, opt, value)
+
         # If no argument set, read storage dir from config file,
         # otherwise save setting to config dir
         if storagedir is None: