Hi Yury,

On Thu, Apr 15, 2010 at 17:46, Yury G Kudryashov <[email protected]> wrote:
> Allow additions to pathsToLink
>
> Changes:
>
> Modified: nixos/trunk/modules/config/system-path.nix
> ===================================================================
> --- nixos/trunk/modules/config/system-path.nix  2010-04-15 15:46:47 UTC (rev 
> 21100)
> +++ nixos/trunk/modules/config/system-path.nix  2010-04-15 15:46:55 UTC (rev 
> 21101)
> @@ -77,13 +77,23 @@
>       };
>
>       pathsToLink = mkOption {
> +        # Note: We need `/lib' to be among `pathsToLink' for NSS modules
> +        # to work.
>         default = ["/bin" "/sbin" "/lib" "/share/man" "/share/info" "/man" 
> "/info"];
>         example = ["/"];
>         description = "
>           Lists directories to be symlinked in `/var/run/current-system/sw'.
> +          Use extraLinkPaths if you want just to add some additional paths.
>         ";
>       };
>
> +      extraLinkPaths = mkOption {
> +          default = [];
> +          example = ["/"];
> +          description = "
> +            Extra directories to be symlinked in /var/run/current-system/sw.
> +          ";
> +      };
>     };

We don't need extra* options anymore because:
- This add an additional option to process and slow down NixOS evaluation.
- This is already expressed by the merge function.
- Default definition can be defined and extended.

>     system = {
> @@ -97,9 +107,7 @@
>           name = "system-path";
>           paths = list;
>
> -          # Note: We need `/lib' to be among `pathsToLink' for NSS modules
> -          # to work.
> -          inherit (config.environment) pathsToLink;
> +          pathsToLink = with config.environment; pathsToLink ++ 
> extraLinkPaths;
>
>           ignoreCollisions = true;
>         };

inside a config attribute you should define
  pathsToLink = mkDefaultValue ["/bin" "/sbin" "/lib" "/share/man"
"/share/info" "/man" "/info"];

in your KDE expression you should extend it by adding the same
property, otherwise you will get a higher priority and you will mask
the default value defined as a definition.
  KDEpaths = mkDefaultValue ["/wtf"];

If the user want to link other path, he can do so by doing:
  pathsToLink = ["/bin" "/sbin" "/lib" "/share/man" "/man"];

In the case of pathsToLink, this could be debated to whatever we want
to add a lower priority to it or just drop the mkDefaultValue.

-- 
Nicolas Pierron
http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to