{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/master";
  outputs = { self, nixpkgs }: let
    pkgs = import nixpkgs {
      system = "x86_64-linux";
    };
    inherit (nixpkgs) lib;
  in {
    packages."x86_64-linux".default = let
      metadata = lib.pipe nixpkgs.legacyPackages."x86_64-linux" [
        (pkgs: builtins.removeAttrs pkgs [ "lib" ])
        (builtins.mapAttrs (_: pkg: if (builtins.tryEval pkg).success then pkg else null))
        (builtins.mapAttrs (_: pkg: if pkg ? meta then pkg.meta else null))
        (builtins.mapAttrs (_: meta: if (builtins.tryEval meta).success then meta else null))
        (lib.filterAttrs (_: meta: meta != null))
        (lib.filterAttrs (_: meta: !(lib.isDerivation meta)))
        # (builtins.mapAttrs (_: meta: lib.traceValSeqN 1 (builtins.removeAttrs meta ["name"])))
        # (builtins.mapAttrs (_: lib.traceVal))
        (builtins.mapAttrs (_: meta: meta // {
          name = if (builtins.tryEval meta.name or null).success then (meta.name or null) else "@EVAL_FAILURE@";
        }))
        # (builtins.mapAttrs (name:
        #   (lib.filterAttrs (n: v: if builtins.isDerivation v then lib.trace "${name}.${n}" false else true))
        # ))
        # (builtins.mapAttrs (name:
        #   (lib.filterAttrs (n: v: if builtins.isFunction v then lib.trace "${name}.${n}" false else true))
        # ))
        (builtins.mapAttrs (_: meta: {
          available = meta.available or null;
          badPlatforms = meta.badPlatforms or [];
          branch = meta.branch or null;
          broken = meta.broken or null;
          changelog = meta.changelog or null;
          description = meta.description or null;
          downloadPage = meta.downloadPage or null;
          homepage = meta.homepage or null;
          hydraPlatforms = meta.hydraPlatforms or [];
          insecure = meta.insecure or null;
          license = meta.license or [];
          longDescription = meta.longDescription or null;
          mainProgram = meta.mainProgram or null;
          maintainers = meta.maintainers or [];
          name = if (builtins.tryEval meta.name or null).success then (meta.name or null) else "@EVAL_FAILURE@";
          outputsToInstall = meta.outputsToInstall or [];
          pkgConfigModules = meta.pkgConfigModules or [];
          platforms = meta.platforms or [];
          position = meta.position or null;
          priority = meta.priority or null;
          sourceProvenance = meta.sourceProvenance or [];
          timeout = meta.timeout or null;
          unfree = meta.unfree or null;
          unsupported = meta.unsupported or null;
        }))
      ];
    in pkgs.runCommandLocal "nixpkgs-meta.json" {
      metadata = builtins.toJSON metadata;
      # metadata = builtins.toJSON (lib.foldl' (acc: meta: acc // meta) { } (builtins.attrValues metadata))
      passAsFile = [ "metadata" ];
      nativeBuildInputs = [ pkgs.jq ];
    } ''
      jq <"$metadataPath" >"$out"
    '';
  };
}