about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-04-07 11:05:28 +0200
committerRobert Hensing <robert@roberthensing.nl>2022-05-02 09:53:10 +0200
commit345ff18c99af958afdbd57f077aae9af4000e864 (patch)
treefc6ee7dfba80212731f5e8d8c8a14359685051e3
parenteb73405ecceb1dc505b7cbbd234f8f94165e2696 (diff)
pkgs: Add _type = "pkgs" release-20.03
(cherry picked from commit ad1e2500efd0aa49b0dc7427bf69d4879f3b0ff5)
(cherry picked from commit aec730a0af4c977513ce28236cbecaca72af6901)
-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 b18a27c4ed41..33491e615838 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24,6 +24,21 @@ let
 
 in
 {
+  # 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