[Nix-dev] Difference between Pkgs, Super and Self in this Snippet

Nicolas Pierron nicolas.b.pierron at gmail.com
Wed Apr 13 20:56:31 CEST 2016


On Mon, Apr 11, 2016 at 7:34 AM, Roger Qiu <roger.qiu at matrix.ai> wrote:
> ```
> { pkgs }: { # pkgs is the fully configured packages, after overrides
>    packageOverrides = super: let self = super.pkgs; in rec { # super is
> without overrides, self is with
>      # ... overrides go here ...
>    };
> }
> ```
>
> While I understand that `super` is the package set that hasn't been
> overridden yet, what's the difference between `self` and `pkgs`? Do both
> of them have the overrides applied?

For the moment there is no difference between the two.

This makes me think that we should get rid of the `packagesOverrides`
function, and let the content of config.nix be similar to what
all-packages.nix is.

My wish by getting rid of `packagesOverrides` function is to make sure
that we can properly document this in NixOS modules.

-- 
Nicolas Pierron
http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/


More information about the nix-dev mailing list