Skip to content

Expose all our custom packages to NixOS modules in a consistent way.

From https://whetstone.privatestorage.io/privatestorage/PrivateStorageio/-/merge_requests/158#note_15180:

I also think we'll eventually want a default.nix that exposes these as attributes, but that can be a followup. We could then expose that as another automatic[1] module argument (e.g. pspkg), or as pkgs.privatestorage.

[1]: That is, like the existing lib/pkgs/config arguments that are passed in.

We have a number of packages that we don't get from the default nixpkgs used for nodes. Currently, we get them in various ad-hoc ways:

  • We have a fork of nixpkgs-19.09-small that we have several packages in. We directly import nixpkgs-ps.nix and access the attributes for our custom packages where we need them.
  • We have nixos/pkgs that has directories that imports other repository[1]. We directly import those directories where we need them.

It would be useful to abstract this away so that the code that consumes packages does not need to be aware of the specific way we are importing the source.