uwsgi service: deduplicate plugins list
Duplicates can lead to unnecessary `uwsgi` rebuilds and conflicts.
commit2be5e93ecca1e1ec03101ca91b949843bf691355
authorNikolay Amiantov <ab@fmap.me>
dateSun 12 Apr 2020, 20:25 (7 years ago)
parent4be78f0
nixos/modules/services/web-servers/uwsgi.nix+3−2
@@ -20,10 +20,11 @@ let
2020
2121 buildCfg = name: c:
2222 let
23− plugins =
23+ plugins' =
2424 if any (n: !any (m: m == n) cfg.plugins) (c.plugins or [])
2525 then throw "`plugins` attribute in uWSGI configuration contains plugins not in config.services.uwsgi.plugins"
2626 else c.plugins or cfg.plugins;
27+ plugins = unique plugins';
2728
2829 hasPython = v: filter (n: n == "python${v}") plugins != [];
2930 hasPython2 = hasPython "2";
@@ -222,7 +223,7 @@ in {
222223 };
223224
224225 services.uwsgi.package = pkgs.uwsgi.override {
225− inherit (cfg) plugins;
226+ plugins = unique cfg.plugins;
226227 };
227228 };
228229}