summary refs log tree commit diff
diff options
context:
space:
mode:
authorTaeer Bar-Yam <taeer@bar-yam.me>2021-11-10 22:01:31 -0500
committerTaeer Bar-Yam <taeer@bar-yam.me>2021-11-14 18:47:09 -0500
commit0e590c91d20efb1be7978347a2d45940a1d2fc2e (patch)
tree0c8e8ffb06d239a14600f3be37544f368e3959a7
parentadd99c5c4e89c1eda701bf85f2d1c2069bddfbf2 (diff)
downloadnixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.tar
nixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.tar.gz
nixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.tar.bz2
nixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.tar.lz
nixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.tar.xz
nixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.tar.zst
nixpkgs-0e590c91d20efb1be7978347a2d45940a1d2fc2e.zip
etc module: make `.text` and `.source` the same priority
Before this change, one could set environment.etc.*.text and .source.
.source would always take precedence, regardless of the priorities set.
This change means that if, for instance, .text is set with mkForce but
.source is set normally, the .text content will be the one to take
effect. If they are set with the same priority they will conflict.
-rw-r--r--nixos/modules/system/etc/etc.nix6
1 files changed, 4 insertions, 2 deletions
diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix
index 8f14f04a1f6..225a5683e79 100644
--- a/nixos/modules/system/etc/etc.nix
+++ b/nixos/modules/system/etc/etc.nix
@@ -85,7 +85,7 @@ in
       '';
 
       type = with types; attrsOf (submodule (
-        { name, config, ... }:
+        { name, config, options, ... }:
         { options = {
 
             enable = mkOption {
@@ -172,7 +172,9 @@ in
             target = mkDefault name;
             source = mkIf (config.text != null) (
               let name' = "etc-" + baseNameOf name;
-              in mkDefault (pkgs.writeText name' config.text));
+              in mkOverride
+                (options.text.highestPrio or lib.modules.defaultPriority)
+                (pkgs.writeText name' config.text));
           };
 
         }));