diff options
Diffstat (limited to 'nixpkgs/nixos/modules/system/etc/etc.nix')
-rw-r--r-- | nixpkgs/nixos/modules/system/etc/etc.nix | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/nixpkgs/nixos/modules/system/etc/etc.nix b/nixpkgs/nixos/modules/system/etc/etc.nix index 84468ea31f74..8f14f04a1f64 100644 --- a/nixpkgs/nixos/modules/system/etc/etc.nix +++ b/nixpkgs/nixos/modules/system/etc/etc.nix @@ -6,9 +6,7 @@ with lib; let - # if the source is a local file, it should be imported to the store - localToStore = mapAttrs (name: value: if name == "source" then "${value}" else value); - etc' = map localToStore (filter (f: f.enable) (attrValues config.environment.etc)); + etc' = filter (f: f.enable) (attrValues config.environment.etc); etc = pkgs.runCommandLocal "etc" { # This is needed for the systemd module @@ -55,7 +53,8 @@ let mkdir -p "$out/etc" ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [ "makeEtcEntry" - etcEntry.source + # Force local source paths to be added to the store + "${etcEntry.source}" etcEntry.target etcEntry.mode etcEntry.user @@ -73,7 +72,7 @@ in environment.etc = mkOption { default = {}; - example = literalExample '' + example = literalExpression '' { example-configuration-file = { source = "/nix/store/.../etc/dir/file.conf.example"; mode = "0440"; |