summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-04-07 11:05:28 +0200
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-04-30 10:23:59 +0000
commitaec730a0af4c977513ce28236cbecaca72af6901 (patch)
tree0b2df0989a666add01081b79beaf5f1916be521b
parentMerge pull request #170862 from NixOS/backport-170760-to-release-21.11 (diff)
downloadnixpkgs-aec730a0af4c977513ce28236cbecaca72af6901.tar.gz
pkgs: Add _type = "pkgs"
(cherry picked from commit ad1e2500efd0aa49b0dc7427bf69d4879f3b0ff5)
-rw-r--r--pkgs/top-level/all-packages.nix15
1 files changed, 15 insertions, 0 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8abb503e5554..ff624b9f9021 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11,6 +11,21 @@ res: pkgs: super:
with pkgs;
{
+ # A module system style type tag
+ #
+ # Allows the nixpkgs fixpoint, usually known as `pkgs`
+ # to be distinguished nominally.
+ #
+ # pkgs._type == "pkgs"
+ # pkgs.pkgsStatic._type == "pkgs"
+ #
+ # Design note:
+ # While earlier stages of nixpkgs fixpoint construction
+ # are supertypes of this stage, they're generally not
+ # usable in places where a `pkgs` is expected.
+ # (earlier stages being the various `super` variables
+ # that precede all-packages.nix)
+ _type = "pkgs";
# A stdenv capable of building 32-bit binaries. On x86_64-linux,
# it uses GCC compiled with multilib support; on i686-linux, it's