noogle/pesto/json.json
2024-01-07 17:20:35 +01:00

1 line
1.5 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[{"meta":{"title":"builtins.abort","path":["builtins","abort"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"abort","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","abort"],"pos_type":"Lambda"}},"content":{"content":"\nAbort Nix expression evaluation and print the error message *s*.\n","source":{"position":null,"path":["builtins","abort"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.add","path":["builtins","add"],"aliases":[["lib","add"],["lib","trivial","add"]],"signature":null,"is_primop":true,"primop_meta":{"name":"add","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","add"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the sum of the numbers *e1* and *e2*.\n","source":{"position":null,"path":["builtins","add"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.addErrorContext","path":["builtins","addErrorContext"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"addErrorContext","args":[],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","addErrorContext"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","addErrorContext"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.all","path":["builtins","all"],"aliases":[["lib","all"],["lib","lists","all"]],"signature":"all :: (a -> bool) -> [a] -> bool\n","is_primop":true,"primop_meta":{"name":"all","args":["pred","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"path":["lib","lists","all"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if function `pred` returns true for all elements of\n`list`.\n\n# Example\n\n```nix\nall (x: x < 3) [ 1 2 ]\n=> true\nall (x: x < 3) [ 1 2 3 ]\n=> false\n```\n\n# Type\n\n```\nall :: (a -> bool) -> [a] -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"path":["lib","lists","all"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.any","path":["builtins","any"],"aliases":[["lib","any"],["lib","lists","any"]],"signature":"any :: (a -> bool) -> [a] -> bool\n","is_primop":true,"primop_meta":{"name":"any","args":["pred","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"path":["lib","lists","any"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if function `pred` returns true for at least one\nelement of `list`.\n\n# Example\n\n```nix\nany isString [ 1 \"a\" { } ]\n=> true\nany isString [ 1 { } ]\n=> false\n```\n\n# Type\n\n```\nany :: (a -> bool) -> [a] -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"path":["lib","lists","any"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.appendContext","path":["builtins","appendContext"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"appendContext","args":[],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","appendContext"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","appendContext"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.attrNames","path":["builtins","attrNames"],"aliases":[["lib","attrNames"],["lib","attrsets","attrNames"]],"signature":null,"is_primop":true,"primop_meta":{"name":"attrNames","args":["set"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","attrNames"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the names of the attributes in the set *set* in an\nalphabetically sorted list. For instance, `builtins.attrNames { y\n= 1; x = \"foo\"; }` evaluates to `[ \"x\" \"y\" ]`.\n","source":{"position":null,"path":["builtins","attrNames"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.attrValues","path":["builtins","attrValues"],"aliases":[["lib","attrValues"],["lib","attrsets","attrValues"]],"signature":"attrValues :: AttrSet -> [Any]\n","is_primop":true,"primop_meta":{"name":"attrValues","args":["set"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"path":["lib","attrsets","attrValues"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the values of all attributes in the given set, sorted by\nattribute name.\n\n# Example\n\n```nix\nattrValues {c = 3; a = 1; b = 2;}\n=> [1 2 3]\n```\n\n# Type\n\n```\nattrValues :: AttrSet -> [Any]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"path":["lib","attrsets","attrValues"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.baseNameOf","path":["builtins","baseNameOf"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"baseNameOf","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","baseNameOf"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the *base name* of the string *s*, that is, everything\nfollowing the final slash in the string. This is similar to the GNU\n`basename` command.\n","source":{"position":null,"path":["builtins","baseNameOf"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.bitAnd","path":["builtins","bitAnd"],"aliases":[["lib","bitAnd"],["lib","trivial","bitAnd"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitAnd","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"path":["lib","trivial","bitAnd"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “and”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"path":["lib","trivial","bitAnd"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.bitOr","path":["builtins","bitOr"],"aliases":[["lib","bitOr"],["lib","trivial","bitOr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitOr","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"path":["lib","trivial","bitOr"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “or”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"path":["lib","trivial","bitOr"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.bitXor","path":["builtins","bitXor"],"aliases":[["lib","bitXor"],["lib","trivial","bitXor"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitXor","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"path":["lib","trivial","bitXor"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “xor”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"path":["lib","trivial","bitXor"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.break","path":["builtins","break"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"break","args":["v"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","break"],"pos_type":"Lambda"}},"content":{"content":"\nIn debug mode (enabled using `--debugger`), pause Nix expression evaluation and enter the REPL.\nOtherwise, return the argument `v`.\n","source":{"position":null,"path":["builtins","break"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.catAttrs","path":["builtins","catAttrs"],"aliases":[["lib","catAttrs"],["lib","attrsets","catAttrs"]],"signature":"catAttrs :: String -> [AttrSet] -> [Any]\n","is_primop":true,"primop_meta":{"name":"catAttrs","args":["attr","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"path":["lib","attrsets","catAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nCollect each attribute named `attr` from a list of attribute\nsets. Sets that don't contain the named attribute are ignored.\n\n# Example\n\n```nix\ncatAttrs \"a\" [{a = 1;} {b = 0;} {a = 2;}]\n=> [1 2]\n```\n\n# Type\n\n```\ncatAttrs :: String -> [AttrSet] -> [Any]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"path":["lib","attrsets","catAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.ceil","path":["builtins","ceil"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"ceil","args":["double"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","ceil"],"pos_type":"Lambda"}},"content":{"content":"\nConverts an IEEE-754 double-precision floating-point number (*double*) to\nthe next higher integer.\n\nIf the datatype is neither an integer nor a \"float\", an evaluation error will be\nthrown.\n","source":{"position":null,"path":["builtins","ceil"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.compareVersions","path":["builtins","compareVersions"],"aliases":[["lib","strings","compareVersions"]],"signature":null,"is_primop":true,"primop_meta":{"name":"compareVersions","args":["s1","s2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","compareVersions"],"pos_type":"Lambda"}},"content":{"content":"\nCompare two strings representing versions and return `-1` if\nversion *s1* is older than version *s2*, `0` if they are the same,\nand `1` if *s1* is newer than *s2*. The version comparison\nalgorithm is the same as the one used by [`nix-env\n-u`](../command-ref/nix-env.md#operation---upgrade).\n","source":{"position":null,"path":["builtins","compareVersions"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.concatLists","path":["builtins","concatLists"],"aliases":[["lib","concatLists"],["lib","lists","concatLists"]],"signature":null,"is_primop":true,"primop_meta":{"name":"concatLists","args":["lists"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","concatLists"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate a list of lists into a single list.\n","source":{"position":null,"path":["builtins","concatLists"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.concatMap","path":["builtins","concatMap"],"aliases":[["lib","concatMap"],["lib","lists","concatMap"]],"signature":"concatMap :: (a -> [b]) -> [a] -> [b]\n","is_primop":true,"primop_meta":{"name":"concatMap","args":["f","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"path":["lib","lists","concatMap"],"pos_type":"Attribute"}},"content":{"content":"\nMap and concatenate the result.\n\n# Example\n\n```nix\nconcatMap (x: [x] ++ [\"z\"]) [\"a\" \"b\"]\n=> [ \"a\" \"z\" \"b\" \"z\" ]\n```\n\n# Type\n\n```\nconcatMap :: (a -> [b]) -> [a] -> [b]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"path":["lib","lists","concatMap"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.concatStringsSep","path":["builtins","concatStringsSep"],"aliases":[["lib","concatStringsSep"],["lib","strings","concatStringsSep"]],"signature":"concatStringsSep :: string -> [string] -> string\n","is_primop":true,"primop_meta":{"name":"concatStringsSep","args":["separator","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"path":["lib","strings","concatStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings with a separator between each element\n\n# Example\n\n```nix\nconcatStringsSep \"/\" [\"usr\" \"local\" \"bin\"]\n=> \"usr/local/bin\"\n```\n\n# Type\n\n```\nconcatStringsSep :: string -> [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"path":["lib","strings","concatStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.deepSeq","path":["builtins","deepSeq"],"aliases":[["lib","deepSeq"],["lib","trivial","deepSeq"]],"signature":null,"is_primop":true,"primop_meta":{"name":"deepSeq","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","deepSeq"],"pos_type":"Lambda"}},"content":{"content":"\nThis is like `seq e1 e2`, except that *e1* is evaluated *deeply*:\nif its a list or set, its elements or attributes are also\nevaluated recursively.\n","source":{"position":null,"path":["builtins","deepSeq"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.derivation","path":["builtins","derivation"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/builtin/derivation.nix","line":5,"column":1},"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"builtins.derivationStrict","path":["builtins","derivationStrict"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"derivationStrict","args":[],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","derivationStrict"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","derivationStrict"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.dirOf","path":["builtins","dirOf"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"dirOf","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","dirOf"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the directory part of the string *s*, that is, everything\nbefore the final slash in the string. This is similar to the GNU\n`dirname` command.\n","source":{"position":null,"path":["builtins","dirOf"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.div","path":["builtins","div"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"div","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","div"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the quotient of the numbers *e1* and *e2*.\n","source":{"position":null,"path":["builtins","div"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.elem","path":["builtins","elem"],"aliases":[["lib","elem"],["lib","lists","elem"],["lib","strings","elem"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elem","args":["x","xs"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","elem"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if a value equal to *x* occurs in the list *xs*, and\n`false` otherwise.\n","source":{"position":null,"path":["builtins","elem"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.elemAt","path":["builtins","elemAt"],"aliases":[["lib","elemAt"],["lib","lists","elemAt"],["lib","strings","elemAt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elemAt","args":["xs","n"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","elemAt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn element *n* from the list *xs*. Elements are counted starting\nfrom 0. A fatal error occurs if the index is out of bounds.\n","source":{"position":null,"path":["builtins","elemAt"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.fetchGit","path":["builtins","fetchGit"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"fetchGit","args":["args"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","fetchGit"],"pos_type":"Lambda"}},"content":{"content":"\nFetch a path from git. *args* can be a URL, in which case the HEAD\nof the repo at that URL is fetched. Otherwise, it can be an\nattribute with the following attributes (all except `url` optional):\n\n- `url`\n\n The URL of the repo.\n\n- `name` (default: *basename of the URL*)\n\n The name of the directory the repo should be exported to in the store.\n\n- `rev` (default: *the tip of `ref`*)\n\n The [Git revision] to fetch.\n This is typically a commit hash.\n\n [Git revision]: https://git-scm.com/docs/git-rev-parse#_specifying_revisions\n\n- `ref` (default: `HEAD`)\n\n The [Git reference] under which to look for the requested revision.\n This is often a branch or tag name.\n\n [Git reference]: https://git-scm.com/book/en/v2/Git-Internals-Git-References\n\n By default, the `ref` value is prefixed with `refs/heads/`.\n As of 2.3.0, Nix will not prefix `refs/heads/` if `ref` starts with `refs/`.\n\n- `submodules` (default: `false`)\n\n A Boolean parameter that specifies whether submodules should be checked out.\n\n- `shallow` (default: `false`)\n\n A Boolean parameter that specifies whether fetching a shallow clone is allowed.\n\n- `allRefs`\n\n Whether to fetch all references of the repository.\n With this argument being true, it's possible to load a `rev` from *any* `ref`\n (by default only `rev`s from the specified `ref` are supported).\n\nHere are some examples of how to use `fetchGit`.\n\n - To fetch a private repository over SSH:\n\n ```nix\n builtins.fetchGit {\n url = \"git@github.com:my-secret/repository.git\";\n ref = \"master\";\n rev = \"adab8b916a45068c044658c4158d81878f9ed1c3\";\n }\n ```\n\n - To fetch an arbitrary reference:\n\n ```nix\n builtins.fetchGit {\n url = \"https://github.com/NixOS/nix.git\";\n ref = \"refs/heads/0.5-release\";\n }\n ```\n\n - If the revision you're looking for is in the default branch of\n the git repository you don't strictly need to specify the branch\n name in the `ref` attribute.\n\n However, if the revision you're looking for is in a future\n branch for the non-default branch you will need to specify the\n the `ref` attribute as well.\n\n ```nix\n builtins.fetchGit {\n url = \"https://github.com/nixos/nix.git\";\n rev = \"841fcbd04755c7a2865c51c1e2d3b045976b7452\";\n ref = \"1.11-maintenance\";\n }\n ```\n\n > **Note**\n >\n > It is nice to always specify the branch which a revision\n > belongs to. Without the branch being specified, the fetcher\n > might fail if the default branch changes. Additionally, it can\n > be confusing to try a commit from a non-default branch and see\n > the fetch fail. If the branch is specified the fault is much\n > more obvious.\n\n - If the revision you're looking for is in the default branch of\n the git repository you may omit the `ref` attribute.\n\n ```nix\n builtins.fetchGit {\n url = \"https://github.com/nixos/nix.git\";\n rev = \"841fcbd04755c7a2865c51c1e2d3b045976b7452\";\n }\n ```\n\n - To fetch a specific tag:\n\n ```nix\n builtins.fetchGit {\n url = \"https://github.com/nixos/nix.git\";\n ref = \"refs/tags/1.9\";\n }\n ```\n\n - To fetch the latest version of a remote branch:\n\n ```nix\n builtins.fetchGit {\n url = \"ssh://git@github.com/nixos/nix.git\";\n ref = \"master\";\n }\n ```\n\n Nix will refetch the branch according to the [`tarball-ttl`](@docroot@/command-ref/conf-file.md#conf-tarball-ttl) setting.\n\n This behavior is disabled in [pure evaluation mode](@docroot@/command-ref/conf-file.md#conf-pure-eval).\n\n - To fetch the content of a checked-out work directory:\n\n ```nix\n builtins.fetchGit ./work-dir\n ```\n\nIf the URL points to a local directory, and no `ref` or `rev` is\ngiven, `fetchGit` will use the current content of the checked-out\nfiles, even if they are not committed or added to Git's index. It will\nonly consider files added to the Git repository, as listed by `git ls-files`.\n","source":{"position":null,"path":["builtins","fetchGit"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.fetchMercurial","path":["builtins","fetchMercurial"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"fetchMercurial","args":[],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","fetchMercurial"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","fetchMercurial"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.fetchTarball","path":["builtins","fetchTarball"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"fetchTarball","args":["args"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","fetchTarball"],"pos_type":"Lambda"}},"content":{"content":"\nDownload the specified URL, unpack it and return the path of the\nunpacked tree. The file must be a tape archive (`.tar`) compressed\nwith `gzip`, `bzip2` or `xz`. The top-level path component of the\nfiles in the tarball is removed, so it is best if the tarball\ncontains a single directory at top level. The typical use of the\nfunction is to obtain external Nix expression dependencies, such as\na particular version of Nixpkgs, e.g.\n\n```nix\nwith import (fetchTarball https://github.com/NixOS/nixpkgs/archive/nixos-14.12.tar.gz) {};\n\nstdenv.mkDerivation { … }\n```\n\nThe fetched tarball is cached for a certain amount of time (1\nhour by default) in `~/.cache/nix/tarballs/`. You can change the\ncache timeout either on the command line with `--tarball-ttl`\n*number-of-seconds* or in the Nix configuration file by adding\nthe line `tarball-ttl = ` *number-of-seconds*.\n\nNote that when obtaining the hash with `nix-prefetch-url` the\noption `--unpack` is required.\n\nThis function can also verify the contents against a hash. In that\ncase, the function takes a set instead of a URL. The set requires\nthe attribute `url` and the attribute `sha256`, e.g.\n\n```nix\nwith import (fetchTarball {\n url = \"https://github.com/NixOS/nixpkgs/archive/nixos-14.12.tar.gz\";\n sha256 = \"1jppksrfvbk5ypiqdz4cddxdl8z6zyzdb2srq8fcffr327ld5jj2\";\n}) {};\n\nstdenv.mkDerivation { … }\n```\n\nNot available in [restricted evaluation mode](@docroot@/command-ref/conf-file.md#conf-restrict-eval).\n","source":{"position":null,"path":["builtins","fetchTarball"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.fetchurl","path":["builtins","fetchurl"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"fetchurl","args":["url"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","fetchurl"],"pos_type":"Lambda"}},"content":{"content":"\nDownload the specified URL and return the path of the downloaded file.\n\nNot available in [restricted evaluation mode](@docroot@/command-ref/conf-file.md#conf-restrict-eval).\n","source":{"position":null,"path":["builtins","fetchurl"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.filter","path":["builtins","filter"],"aliases":[["lib","filter"],["lib","lists","filter"],["lib","strings","filter"]],"signature":null,"is_primop":true,"primop_meta":{"name":"filter","args":["f","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","filter"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a list consisting of the elements of *list* for which the\nfunction *f* returns `true`.\n","source":{"position":null,"path":["builtins","filter"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.filterSource","path":["builtins","filterSource"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"filterSource","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","filterSource"],"pos_type":"Lambda"}},"content":{"content":"\n> **Warning**\n>\n> `filterSource` should not be used to filter store paths. Since\n> `filterSource` uses the name of the input directory while naming\n> the output directory, doing so will produce a directory name in\n> the form of `<hash2>-<hash>-<name>`, where `<hash>-<name>` is\n> the name of the input directory. Since `<hash>` depends on the\n> unfiltered directory, the name of the output directory will\n> indirectly depend on files that are filtered out by the\n> function. This will trigger a rebuild even when a filtered out\n> file is changed. Use `builtins.path` instead, which allows\n> specifying the name of the output directory.\n\nThis function allows you to copy sources into the Nix store while\nfiltering certain files. For instance, suppose that you want to use\nthe directory `source-dir` as an input to a Nix expression, e.g.\n\n```nix\nstdenv.mkDerivation {\n ...\n src = ./source-dir;\n}\n```\n\nHowever, if `source-dir` is a Subversion working copy, then all\nthose annoying `.svn` subdirectories will also be copied to the\nstore. Worse, the contents of those directories may change a lot,\ncausing lots of spurious rebuilds. With `filterSource` you can\nfilter out the `.svn` directories:\n\n```nix\nsrc = builtins.filterSource\n (path: type: type != \"directory\" || baseNameOf path != \".svn\")\n ./source-dir;\n```\n\nThus, the first argument *e1* must be a predicate function that is\ncalled for each regular file, directory or symlink in the source\ntree *e2*. If the function returns `true`, the file is copied to the\nNix store, otherwise it is omitted. The function is called with two\narguments. The first is the full path of the file. The second is a\nstring that identifies the type of the file, which is either\n`\"regular\"`, `\"directory\"`, `\"symlink\"` or `\"unknown\"` (for other\nkinds of files such as device nodes or fifos — but note that those\ncannot be copied to the Nix store, so if the predicate returns\n`true` for them, the copy will fail). If you exclude a directory,\nthe entire corresponding subtree of *e2* will be excluded.\n","source":{"position":null,"path":["builtins","filterSource"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.findFile","path":["builtins","findFile"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"findFile","args":["search path","lookup path"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","findFile"],"pos_type":"Lambda"}},"content":{"content":"\nLook up the given path with the given search path.\n\nA search path is represented list of [attribute sets](./values.md#attribute-set) with two attributes, `prefix`, and `path`.\n`prefix` is a relative path.\n`path` denotes a file system location; the exact syntax depends on the command line interface.\n\nExamples of search path attribute sets:\n\n- ```\n {\n prefix = \"nixos-config\";\n path = \"/etc/nixos/configuration.nix\";\n }\n ```\n\n- ```\n {\n prefix = \"\";\n path = \"/nix/var/nix/profiles/per-user/root/channels\";\n }\n ```\n\nThe lookup algorithm checks each entry until a match is found, returning a [path value](@docroot@/language/values.html#type-path) of the match.\n\nThis is the process for each entry:\nIf the lookup path matches `prefix`, then the remainder of the lookup path (the \"suffix\") is searched for within the directory denoted by `patch`.\nNote that the `path` may need to be downloaded at this point to look inside.\nIf the suffix is found inside that directory, then the entry is a match;\nthe combined absolute path of the directory (now downloaded if need be) and the suffix is returned.\n\n[Lookup path](@docroot@/language/constructs/lookup-path.md) expressions can be [desugared](https://en.wikipedia.org/wiki/Syntactic_sugar) using this and [`builtins.nixPath`](@docroot@/language/builtin-constants.md#builtins-nixPath):\n\n```nix\n<nixpkgs>\n```\n\nis equivalent to:\n\n```nix\nbuiltins.findFile builtins.nixPath \"nixpkgs\"\n```\n","source":{"position":null,"path":["builtins","findFile"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.floor","path":["builtins","floor"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"floor","args":["double"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","floor"],"pos_type":"Lambda"}},"content":{"content":"\nConverts an IEEE-754 double-precision floating-point number (*double*) to\nthe next lower integer.\n\nIf the datatype is neither an integer nor a \"float\", an evaluation error will be\nthrown.\n","source":{"position":null,"path":["builtins","floor"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.foldl' (Prime)","path":["builtins","foldl'"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"foldl'","args":["op","nul","list"],"experimental":false,"arity":3},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","foldl'"],"pos_type":"Lambda"}},"content":{"content":"\nReduce a list by applying a binary operator, from left to right,\ne.g. `foldl' op nul [x0 x1 x2 ...] = op (op (op nul x0) x1) x2)\n...`. For example, `foldl' (x: y: x + y) 0 [1 2 3]` evaluates to 6.\nThe return value of each application of `op` is evaluated immediately,\neven for intermediate values.\n","source":{"position":null,"path":["builtins","foldl'"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.fromJSON","path":["builtins","fromJSON"],"aliases":[["lib","strings","fromJSON"]],"signature":null,"is_primop":true,"primop_meta":{"name":"fromJSON","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","fromJSON"],"pos_type":"Lambda"}},"content":{"content":"\nConvert a JSON string to a Nix value. For example,\n\n```nix\nbuiltins.fromJSON ''{\"x\": [1, 2, 3], \"y\": null}''\n```\n\nreturns the value `{ x = [ 1 2 3 ]; y = null; }`.\n","source":{"position":null,"path":["builtins","fromJSON"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.fromTOML","path":["builtins","fromTOML"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"fromTOML","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","fromTOML"],"pos_type":"Lambda"}},"content":{"content":"\nConvert a TOML string to a Nix value. For example,\n\n```nix\nbuiltins.fromTOML ''\n x=1\n s=\"a\"\n [table]\n y=2\n''\n```\n\nreturns the value `{ s = \"a\"; table = { y = 2; }; x = 1; }`.\n","source":{"position":null,"path":["builtins","fromTOML"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.functionArgs","path":["builtins","functionArgs"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"functionArgs","args":["f"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","functionArgs"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a set containing the names of the formal arguments expected\nby the function *f*. The value of each attribute is a Boolean\ndenoting whether the corresponding argument has a default value. For\ninstance, `functionArgs ({ x, y ? 123}: ...) = { x = false; y =\ntrue; }`.\n\n\"Formal argument\" here refers to the attributes pattern-matched by\nthe function. Plain lambdas are not included, e.g. `functionArgs (x:\n...) = { }`.\n","source":{"position":null,"path":["builtins","functionArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.genList","path":["builtins","genList"],"aliases":[["lib","genList"],["lib","lists","genList"],["lib","strings","genList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genList","args":["generator","length"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","genList"],"pos_type":"Lambda"}},"content":{"content":"\nGenerate list of size *length*, with each element *i* equal to the\nvalue returned by *generator* `i`. For example,\n\n```nix\nbuiltins.genList (x: x * x) 5\n```\n\nreturns the list `[ 0 1 4 9 16 ]`.\n","source":{"position":null,"path":["builtins","genList"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.genericClosure","path":["builtins","genericClosure"],"aliases":[["lib","genericClosure"],["lib","trivial","genericClosure"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genericClosure","args":["attrset"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","genericClosure"],"pos_type":"Lambda"}},"content":{"content":"\nTakes an *attrset* with the following attributes:\n\n- `startSet` [ Item ]\n - A list of start items. Each item must be an attrset containing a `key`. The `key` must be comparable.\n- `operator` Item -> [ Item ]\n - A function\n\nreturns a *list of attrsets*\n\nGenericClosure starts with the `startSet` and recursively\napplying the `operator` function to each `item`. The *attrsets* in the\n`startSet` and the *attrsets* produced by `operator` must contain a value\nnamed `key` which is comparable. The result is produced by calling `operator`\nfor each `item` with a value for `key` that has not been called yet including\nnewly produced `item`s. The function terminates when no new `item`s are\nproduced. The resulting *list of attrsets* contains only *attrsets* with a\nunique key. For example,\n\n```\nbuiltins.genericClosure {\n startSet = [ {key = 5;} ];\n operator = item: [{\n key = if (item.key / 2 ) * 2 == item.key\n then item.key / 2\n else 3 * item.key + 1;\n }];\n}\n```\nevaluates to\n```\n[ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ]\n```\n","source":{"position":null,"path":["builtins","genericClosure"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.getAttr","path":["builtins","getAttr"],"aliases":[["lib","getAttr"],["lib","attrsets","getAttr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"getAttr","args":["s","set"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","getAttr"],"pos_type":"Lambda"}},"content":{"content":"\n`getAttr` returns the attribute named *s* from *set*. Evaluation\naborts if the attribute doesnt exist. This is a dynamic version of\nthe `.` operator, since *s* is an expression rather than an\nidentifier.\n","source":{"position":null,"path":["builtins","getAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.getContext","path":["builtins","getContext"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"getContext","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","getContext"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the string context of *s*.\n\nThe string context tracks references to derivations within a string.\nIt is represented as an attribute set of [store derivation](@docroot@/glossary.md#gloss-store-derivation) paths mapping to output names.\n\nUsing [string interpolation](@docroot@/language/string-interpolation.md) on a derivation will add that derivation to the string context.\nFor example,\n\n```nix\nbuiltins.getContext \"${derivation { name = \"a\"; builder = \"b\"; system = \"c\"; }}\"\n```\n\nevaluates to\n\n```\n{ \"/nix/store/arhvjaf6zmlyn8vh8fgn55rpwnxq0n7l-a.drv\" = { outputs = [ \"out\" ]; }; }\n```\n","source":{"position":null,"path":["builtins","getContext"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.getEnv","path":["builtins","getEnv"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"getEnv","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","getEnv"],"pos_type":"Lambda"}},"content":{"content":"\n`getEnv` returns the value of the environment variable *s*, or an\nempty string if the variable doesnt exist. This function should be\nused with care, as it can introduce all sorts of nasty environment\ndependencies in your Nix expression.\n\n`getEnv` is used in Nix Packages to locate the file\n`~/.nixpkgs/config.nix`, which contains user-local settings for Nix\nPackages. (That is, it does a `getEnv \"HOME\"` to locate the users\nhome directory.)\n","source":{"position":null,"path":["builtins","getEnv"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.groupBy","path":["builtins","groupBy"],"aliases":[["lib","groupBy"],["lib","lists","groupBy"]],"signature":null,"is_primop":true,"primop_meta":{"name":"groupBy","args":["f","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","groupBy"],"pos_type":"Lambda"}},"content":{"content":"\nGroups elements of *list* together by the string returned from the\nfunction *f* called on each element. It returns an attribute set\nwhere each attribute value contains the elements of *list* that are\nmapped to the same corresponding attribute name returned by *f*.\n\nFor example,\n\n```nix\nbuiltins.groupBy (builtins.substring 0 1) [\"foo\" \"bar\" \"baz\"]\n```\n\nevaluates to\n\n```nix\n{ b = [ \"bar\" \"baz\" ]; f = [ \"foo\" ]; }\n```\n","source":{"position":null,"path":["builtins","groupBy"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.hasAttr","path":["builtins","hasAttr"],"aliases":[["lib","hasAttr"],["lib","attrsets","hasAttr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"hasAttr","args":["s","set"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","hasAttr"],"pos_type":"Lambda"}},"content":{"content":"\n`hasAttr` returns `true` if *set* has an attribute named *s*, and\n`false` otherwise. This is a dynamic version of the `?` operator,\nsince *s* is an expression rather than an identifier.\n","source":{"position":null,"path":["builtins","hasAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.hasContext","path":["builtins","hasContext"],"aliases":[["lib","pathHasContext"],["lib","sources","pathHasContext"]],"signature":null,"is_primop":true,"primop_meta":{"name":"hasContext","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","hasContext"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if string *s* has a non-empty context. The\ncontext can be obtained with\n[`getContext`](#builtins-getContext).\n","source":{"position":null,"path":["builtins","hasContext"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.hashFile","path":["builtins","hashFile"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"hashFile","args":["type","p"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","hashFile"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a base-16 representation of the cryptographic hash of the\nfile at path *p*. The hash algorithm specified by *type* must be one\nof `\"md5\"`, `\"sha1\"`, `\"sha256\"` or `\"sha512\"`.\n","source":{"position":null,"path":["builtins","hashFile"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.hashString","path":["builtins","hashString"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"hashString","args":["type","s"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","hashString"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a base-16 representation of the cryptographic hash of string\n*s*. The hash algorithm specified by *type* must be one of `\"md5\"`,\n`\"sha1\"`, `\"sha256\"` or `\"sha512\"`.\n","source":{"position":null,"path":["builtins","hashString"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.head","path":["builtins","head"],"aliases":[["lib","head"],["lib","lists","head"],["lib","strings","head"]],"signature":null,"is_primop":true,"primop_meta":{"name":"head","args":["list"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","head"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the first element of a list; abort evaluation if the argument\nisnt a list or is an empty list. You can test whether a list is\nempty by comparing it with `[]`.\n","source":{"position":null,"path":["builtins","head"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.import","path":["builtins","import"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"import","args":["path"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","import"],"pos_type":"Lambda"}},"content":{"content":"\nLoad, parse, and return the Nix expression in the file *path*.\n\n> **Note**\n>\n> Unlike some languages, `import` is a regular function in Nix.\n\nThe *path* argument must meet the same criteria as an [interpolated expression](@docroot@/language/string-interpolation.md#interpolated-expression).\n\nIf *path* is a directory, the file `default.nix` in that directory is used if it exists.\n\n> **Example**\n>\n> ```console\n> $ echo 123 > default.nix\n> ```\n>\n> Import `default.nix` from the current directory.\n>\n> ```nix\n> import ./.\n> ```\n>\n> 123\n\nEvaluation aborts if the file doesnt exist or contains an invalid Nix expression.\n\nA Nix expression loaded by `import` must not contain any *free variables*, that is, identifiers that are not defined in the Nix expression itself and are not built-in.\nTherefore, it cannot refer to variables that are in scope at the call site.\n\n> **Example**\n>\n> If you have a calling expression\n>\n> ```nix\n> rec {\n> x = 123;\n> y = import ./foo.nix;\n> }\n> ```\n>\n> then the following `foo.nix` will give an error:\n>\n> ```nix\n> # foo.nix\n> x + 456\n> ```\n>\n> since `x` is not in scope in `foo.nix`.\n> If you want `x` to be available in `foo.nix`, pass it as a function argument:\n>\n> ```nix\n> rec {\n> x = 123;\n> y = import ./foo.nix x;\n> }\n> ```\n>\n> and\n>\n> ```nix\n> # foo.nix\n> x: x + 456\n> ```\n>\n> The function argument doesnt have to be called `x` in `foo.nix`; any name would work.\n","source":{"position":null,"path":["builtins","import"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.intersectAttrs","path":["builtins","intersectAttrs"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"intersectAttrs","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","intersectAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a set consisting of the attributes in the set *e2* which have the\nsame name as some attribute in *e1*.\n\nPerforms in O(*n* log *m*) where *n* is the size of the smaller set and *m* the larger set's size.\n","source":{"position":null,"path":["builtins","intersectAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isAttrs","path":["builtins","isAttrs"],"aliases":[["lib","isAttrs"],["lib","attrsets","isAttrs"],["lib","strings","isAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a set, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isBool","path":["builtins","isBool"],"aliases":[["lib","isBool"],["lib","trivial","isBool"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isBool","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isBool"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a bool, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isBool"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isFloat","path":["builtins","isFloat"],"aliases":[["lib","isFloat"],["lib","trivial","isFloat"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isFloat","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isFloat"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a float, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isFloat"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isFunction","path":["builtins","isFunction"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"isFunction","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isFunction"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a function, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isFunction"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isInt","path":["builtins","isInt"],"aliases":[["lib","isInt"],["lib","strings","isInt"],["lib","trivial","isInt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isInt","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isInt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to an integer, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isInt"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isList","path":["builtins","isList"],"aliases":[["lib","isList"],["lib","lists","isList"],["lib","strings","isList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isList","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isList"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a list, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isList"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isNull","path":["builtins","isNull"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"isNull","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isNull"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to `null`, and `false` otherwise.\n\n> **Warning**\n>\n> This function is *deprecated*; just write `e == null` instead.\n","source":{"position":null,"path":["builtins","isNull"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isPath","path":["builtins","isPath"],"aliases":[["lib","isPath"],["lib","strings","isPath"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isPath","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isPath"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a path, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isPath"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.isString","path":["builtins","isString"],"aliases":[["lib","isString"],["lib","strings","isString"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isString","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","isString"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a string, and `false` otherwise.\n","source":{"position":null,"path":["builtins","isString"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.lambdaMeta","path":["builtins","lambdaMeta"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"lambdaMeta","args":["f"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","lambdaMeta"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","lambdaMeta"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.length","path":["builtins","length"],"aliases":[["lib","length"],["lib","lists","length"]],"signature":null,"is_primop":true,"primop_meta":{"name":"length","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","length"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the length of the list *e*.\n","source":{"position":null,"path":["builtins","length"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.lessThan","path":["builtins","lessThan"],"aliases":[["lib","lessThan"],["lib","trivial","lessThan"]],"signature":null,"is_primop":true,"primop_meta":{"name":"lessThan","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","lessThan"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if the number *e1* is less than the number *e2*, and\n`false` otherwise. Evaluation aborts if either *e1* or *e2* does not\nevaluate to a number.\n","source":{"position":null,"path":["builtins","lessThan"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.listToAttrs","path":["builtins","listToAttrs"],"aliases":[["lib","listToAttrs"],["lib","attrsets","listToAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"listToAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","listToAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nConstruct a set from a list specifying the names and values of each\nattribute. Each element of the list should be a set consisting of a\nstring-valued attribute `name` specifying the name of the attribute,\nand an attribute `value` specifying its value.\n\nIn case of duplicate occurrences of the same name, the first\ntakes precedence.\n\nExample:\n\n```nix\nbuiltins.listToAttrs\n [ { name = \"foo\"; value = 123; }\n { name = \"bar\"; value = 456; }\n { name = \"bar\"; value = 420; }\n ]\n```\n\nevaluates to\n\n```nix\n{ foo = 123; bar = 456; }\n```\n","source":{"position":null,"path":["builtins","listToAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.map","path":["builtins","map"],"aliases":[["lib","lists","map"]],"signature":null,"is_primop":true,"primop_meta":{"name":"map","args":["f","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","map"],"pos_type":"Lambda"}},"content":{"content":"\nApply the function *f* to each element in the list *list*. For\nexample,\n\n```nix\nmap (x: \"foo\" + x) [ \"bar\" \"bla\" \"abc\" ]\n```\n\nevaluates to `[ \"foobar\" \"foobla\" \"fooabc\" ]`.\n","source":{"position":null,"path":["builtins","map"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.mapAttrs","path":["builtins","mapAttrs"],"aliases":[["lib","mapAttrs"],["lib","attrsets","mapAttrs"]],"signature":"mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet\n","is_primop":true,"primop_meta":{"name":"mapAttrs","args":["f","attrset"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"path":["lib","attrsets","mapAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nApply a function to each element in an attribute set, creating a new attribute set.\n\n# Example\n\n```nix\nmapAttrs (name: value: name + \"-\" + value)\n { x = \"foo\"; y = \"bar\"; }\n=> { x = \"x-foo\"; y = \"y-bar\"; }\n```\n\n# Type\n\n```\nmapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"path":["lib","attrsets","mapAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.match","path":["builtins","match"],"aliases":[["lib","strings","match"]],"signature":null,"is_primop":true,"primop_meta":{"name":"match","args":["regex","str"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","match"],"pos_type":"Lambda"}},"content":{"content":"\nReturns a list if the [extended POSIX regular\nexpression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)\n*regex* matches *str* precisely, otherwise returns `null`. Each item\nin the list is a regex group.\n\n```nix\nbuiltins.match \"ab\" \"abc\"\n```\n\nEvaluates to `null`.\n\n```nix\nbuiltins.match \"abc\" \"abc\"\n```\n\nEvaluates to `[ ]`.\n\n```nix\nbuiltins.match \"a(b)(c)\" \"abc\"\n```\n\nEvaluates to `[ \"b\" \"c\" ]`.\n\n```nix\nbuiltins.match \"[[:space:]]+([[:upper:]]+)[[:space:]]+\" \" FOO \"\n```\n\nEvaluates to `[ \"FOO\" ]`.\n","source":{"position":null,"path":["builtins","match"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.mul","path":["builtins","mul"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"mul","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","mul"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the product of the numbers *e1* and *e2*.\n","source":{"position":null,"path":["builtins","mul"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.parseDrvName","path":["builtins","parseDrvName"],"aliases":[["lib","strings","parseDrvName"]],"signature":null,"is_primop":true,"primop_meta":{"name":"parseDrvName","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","parseDrvName"],"pos_type":"Lambda"}},"content":{"content":"\nSplit the string *s* into a package name and version. The package\nname is everything up to but not including the first dash not followed\nby a letter, and the version is everything following that dash. The\nresult is returned in a set `{ name, version }`. Thus,\n`builtins.parseDrvName \"nix-0.12pre12876\"` returns `{ name =\n\"nix\"; version = \"0.12pre12876\"; }`.\n","source":{"position":null,"path":["builtins","parseDrvName"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.partition","path":["builtins","partition"],"aliases":[["lib","partition"],["lib","lists","partition"]],"signature":"(a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }\n","is_primop":true,"primop_meta":{"name":"partition","args":["pred","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"path":["lib","lists","partition"],"pos_type":"Attribute"}},"content":{"content":"\nSplits the elements of a list in two lists, `right` and\n`wrong`, depending on the evaluation of a predicate.\n\n# Example\n\n```nix\npartition (x: x > 2) [ 5 1 2 3 4 ]\n=> { right = [ 5 3 4 ]; wrong = [ 1 2 ]; }\n```\n\n# Type\n\n```\n(a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"path":["lib","lists","partition"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.path","path":["builtins","path"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"path","args":["args"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","path"],"pos_type":"Lambda"}},"content":{"content":"\nAn enrichment of the built-in path type, based on the attributes\npresent in *args*. All are optional except `path`:\n\n - path\\\n The underlying path.\n\n - name\\\n The name of the path when added to the store. This can used to\n reference paths that have nix-illegal characters in their names,\n like `@`.\n\n - filter\\\n A function of the type expected by `builtins.filterSource`,\n with the same semantics.\n\n - recursive\\\n When `false`, when `path` is added to the store it is with a\n flat hash, rather than a hash of the NAR serialization of the\n file. Thus, `path` must refer to a regular file, not a\n directory. This allows similar behavior to `fetchurl`. Defaults\n to `true`.\n\n - sha256\\\n When provided, this is the expected hash of the file at the\n path. Evaluation will fail if the hash is incorrect, and\n providing a hash allows `builtins.path` to be used even when the\n `pure-eval` nix config option is on.\n","source":{"position":null,"path":["builtins","path"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.pathExists","path":["builtins","pathExists"],"aliases":[["lib","pathExists"],["lib","trivial","pathExists"]],"signature":null,"is_primop":true,"primop_meta":{"name":"pathExists","args":["path"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","pathExists"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if the path *path* exists at evaluation time, and\n`false` otherwise.\n","source":{"position":null,"path":["builtins","pathExists"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.placeholder","path":["builtins","placeholder"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"placeholder","args":["output"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","placeholder"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a placeholder string for the specified *output* that will be\nsubstituted by the corresponding output path at build time. Typical\noutputs would be `\"out\"`, `\"bin\"` or `\"dev\"`.\n","source":{"position":null,"path":["builtins","placeholder"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.readDir","path":["builtins","readDir"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"readDir","args":["path"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","readDir"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the contents of the directory *path* as a set mapping\ndirectory entries to the corresponding file type. For instance, if\ndirectory `A` contains a regular file `B` and another directory\n`C`, then `builtins.readDir ./A` will return the set\n\n```nix\n{ B = \"regular\"; C = \"directory\"; }\n```\n\nThe possible values for the file type are `\"regular\"`,\n`\"directory\"`, `\"symlink\"` and `\"unknown\"`.\n","source":{"position":null,"path":["builtins","readDir"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.readFile","path":["builtins","readFile"],"aliases":[["lib","readFile"],["lib","strings","readFile"],["lib","trivial","readFile"]],"signature":null,"is_primop":true,"primop_meta":{"name":"readFile","args":["path"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","readFile"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the contents of the file *path* as a string.\n","source":{"position":null,"path":["builtins","readFile"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.readFileType","path":["builtins","readFileType"],"aliases":[["lib","pathType"],["lib","filesystem","pathType"],["lib","sources","pathType"]],"signature":"pathType :: Path -> String\n","is_primop":true,"primop_meta":{"name":"readFileType","args":["p"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}},"content":{"content":"\nThe type of a path. The path needs to exist and be accessible.\nThe result is either \"directory\" for a directory, \"regular\" for a regular file, \"symlink\" for a symlink, or \"unknown\" for anything else.\n\n# Example\n\n```nix\npathType /.\n=> \"directory\"\npathType /some/file.nix\n=> \"regular\"\n```\n\n# Type\n\n```\npathType :: Path -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.removeAttrs","path":["builtins","removeAttrs"],"aliases":[["lib","attrsets","removeAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"removeAttrs","args":["set","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","removeAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nRemove the attributes listed in *list* from *set*. The attributes\ndont have to exist in *set*. For instance,\n\n```nix\nremoveAttrs { x = 1; y = 2; z = 3; } [ \"a\" \"x\" \"z\" ]\n```\n\nevaluates to `{ y = 2; }`.\n","source":{"position":null,"path":["builtins","removeAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.replaceStrings","path":["builtins","replaceStrings"],"aliases":[["lib","replaceChars"],["lib","replaceStrings"],["lib","strings","replaceChars"],["lib","strings","replaceStrings"]],"signature":null,"is_primop":true,"primop_meta":{"name":"replaceStrings","args":["from","to","s"],"experimental":false,"arity":3},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","replaceStrings"],"pos_type":"Lambda"}},"content":{"content":"\nGiven string *s*, replace every occurrence of the strings in *from*\nwith the corresponding string in *to*.\n\nThe argument *to* is lazy, that is, it is only evaluated when its corresponding pattern in *from* is matched in the string *s*\n\nExample:\n\n```nix\nbuiltins.replaceStrings [\"oo\" \"a\"] [\"a\" \"i\"] \"foobar\"\n```\n\nevaluates to `\"fabir\"`.\n","source":{"position":null,"path":["builtins","replaceStrings"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.scopedImport","path":["builtins","scopedImport"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"scopedImport","args":[],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","scopedImport"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","scopedImport"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.seq","path":["builtins","seq"],"aliases":[["lib","seq"],["lib","trivial","seq"]],"signature":null,"is_primop":true,"primop_meta":{"name":"seq","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","seq"],"pos_type":"Lambda"}},"content":{"content":"\nEvaluate *e1*, then evaluate and return *e2*. This ensures that a\ncomputation is strict in the value of *e1*.\n","source":{"position":null,"path":["builtins","seq"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.sort","path":["builtins","sort"],"aliases":[["lib","sort"],["lib","lists","sort"]],"signature":null,"is_primop":true,"primop_meta":{"name":"sort","args":["comparator","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"path":["lib","lists","sort"],"pos_type":"Attribute"}},"content":{"content":"\nSort a list based on a comparator function which compares two\nelements and returns true if the first argument is strictly below\nthe second argument. The returned list is sorted in an increasing\norder. The implementation does a quick-sort.\n\n# Example\n\n```nix\nsort (a: b: a < b) [ 5 3 7 ]\n=> [ 3 5 7 ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"path":["lib","lists","sort"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.split","path":["builtins","split"],"aliases":[["lib","strings","split"]],"signature":null,"is_primop":true,"primop_meta":{"name":"split","args":["regex","str"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","split"],"pos_type":"Lambda"}},"content":{"content":"\nReturns a list composed of non matched strings interleaved with the\nlists of the [extended POSIX regular\nexpression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)\n*regex* matches of *str*. Each item in the lists of matched\nsequences is a regex group.\n\n```nix\nbuiltins.split \"(a)b\" \"abc\"\n```\n\nEvaluates to `[ \"\" [ \"a\" ] \"c\" ]`.\n\n```nix\nbuiltins.split \"([ac])\" \"abc\"\n```\n\nEvaluates to `[ \"\" [ \"a\" ] \"b\" [ \"c\" ] \"\" ]`.\n\n```nix\nbuiltins.split \"(a)|(c)\" \"abc\"\n```\n\nEvaluates to `[ \"\" [ \"a\" null ] \"b\" [ null \"c\" ] \"\" ]`.\n\n```nix\nbuiltins.split \"([[:upper:]]+)\" \" FOO \"\n```\n\nEvaluates to `[ \" \" [ \"FOO\" ] \" \" ]`.\n","source":{"position":null,"path":["builtins","split"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.splitVersion","path":["builtins","splitVersion"],"aliases":[["lib","splitVersion"],["lib","versions","splitVersion"]],"signature":null,"is_primop":true,"primop_meta":{"name":"splitVersion","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"path":["lib","versions","splitVersion"],"pos_type":"Attribute"}},"content":{"content":"\nBreak a version string into its component parts.\n\n# Example\n\n```nix\nsplitVersion \"1.2.3\"\n=> [\"1\" \"2\" \"3\"]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"path":["lib","versions","splitVersion"],"pos_type":"Attribute"}}},{"meta":{"title":"builtins.storePath","path":["builtins","storePath"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"storePath","args":["path"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","storePath"],"pos_type":"Lambda"}},"content":{"content":"\nThis function allows you to define a dependency on an already\nexisting store path. For example, the derivation attribute `src\n= builtins.storePath /nix/store/f1d18v1y…-source` causes the\nderivation to depend on the specified path, which must exist or\nbe substitutable. Note that this differs from a plain path\n(e.g. `src = /nix/store/f1d18v1y…-source`) in that the latter\ncauses the path to be *copied* again to the Nix store, resulting\nin a new path (e.g. `/nix/store/ld01dnzc…-source-source`).\n\nNot available in [pure evaluation mode](@docroot@/command-ref/conf-file.md#conf-pure-eval).\n\nSee also [`builtins.fetchClosure`](#builtins-fetchClosure).\n","source":{"position":null,"path":["builtins","storePath"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.stringLength","path":["builtins","stringLength"],"aliases":[["lib","stringLength"],["lib","strings","stringLength"]],"signature":null,"is_primop":true,"primop_meta":{"name":"stringLength","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","stringLength"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the length of the string *e*. If *e* is not a string,\nevaluation is aborted.\n","source":{"position":null,"path":["builtins","stringLength"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.sub","path":["builtins","sub"],"aliases":[["lib","sub"],["lib","trivial","sub"]],"signature":null,"is_primop":true,"primop_meta":{"name":"sub","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","sub"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the difference between the numbers *e1* and *e2*.\n","source":{"position":null,"path":["builtins","sub"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.substring","path":["builtins","substring"],"aliases":[["lib","substring"],["lib","strings","substring"]],"signature":null,"is_primop":true,"primop_meta":{"name":"substring","args":["start","len","s"],"experimental":false,"arity":3},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","substring"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the substring of *s* from character position *start*\n(zero-based) up to but not including *start + len*. If *start* is\ngreater than the length of the string, an empty string is returned,\nand if *start + len* lies beyond the end of the string, only the\nsubstring up to the end of the string is returned. *start* must be\nnon-negative. For example,\n\n```nix\nbuiltins.substring 0 3 \"nixos\"\n```\n\nevaluates to `\"nix\"`.\n","source":{"position":null,"path":["builtins","substring"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.tail","path":["builtins","tail"],"aliases":[["lib","tail"],["lib","lists","tail"],["lib","strings","tail"]],"signature":null,"is_primop":true,"primop_meta":{"name":"tail","args":["list"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","tail"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the list without its first item; abort evaluation if\nthe argument isnt a list or is an empty list.\n\n> **Warning**\n>\n> This function should generally be avoided since it's inefficient:\n> unlike Haskell's `tail`, it takes O(n) time, so recursing over a\n> list by repeatedly calling `tail` takes O(n^2) time.\n","source":{"position":null,"path":["builtins","tail"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.throw","path":["builtins","throw"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"throw","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","throw"],"pos_type":"Lambda"}},"content":{"content":"\nThrow an error message *s*. This usually aborts Nix expression\nevaluation, but in `nix-env -qa` and other commands that try to\nevaluate a set of derivations to get information about those\nderivations, a derivation that throws an error is silently skipped\n(which is not the case for `abort`).\n","source":{"position":null,"path":["builtins","throw"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.toFile","path":["builtins","toFile"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"toFile","args":["name","s"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","toFile"],"pos_type":"Lambda"}},"content":{"content":"\nStore the string *s* in a file in the Nix store and return its\npath. The file has suffix *name*. This file can be used as an\ninput to derivations. One application is to write builders\n“inline”. For instance, the following Nix expression combines the\nNix expression for GNU Hello and its build script into one file:\n\n```nix\n{ stdenv, fetchurl, perl }:\n\nstdenv.mkDerivation {\n name = \"hello-2.1.1\";\n\n builder = builtins.toFile \"builder.sh\" \"\n source $stdenv/setup\n\n PATH=$perl/bin:$PATH\n\n tar xvfz $src\n cd hello-*\n ./configure --prefix=$out\n make\n make install\n \";\n\n src = fetchurl {\n url = \"http://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz\";\n sha256 = \"1md7jsfd8pa45z73bz1kszpp01yw6x5ljkjk2hx7wl800any6465\";\n };\n inherit perl;\n}\n```\n\nIt is even possible for one file to refer to another, e.g.,\n\n```nix\nbuilder = let\n configFile = builtins.toFile \"foo.conf\" \"\n # This is some dummy configuration file.\n ...\n \";\nin builtins.toFile \"builder.sh\" \"\n source $stdenv/setup\n ...\n cp ${configFile} $out/etc/foo.conf\n\";\n```\n\nNote that `${configFile}` is a\n[string interpolation](@docroot@/language/values.md#type-string), so the result of the\nexpression `configFile`\n(i.e., a path like `/nix/store/m7p7jfny445k...-foo.conf`) will be\nspliced into the resulting string.\n\nIt is however *not* allowed to have files mutually referring to each\nother, like so:\n\n```nix\nlet\n foo = builtins.toFile \"foo\" \"...${bar}...\";\n bar = builtins.toFile \"bar\" \"...${foo}...\";\nin foo\n```\n\nThis is not allowed because it would cause a cyclic dependency in\nthe computation of the cryptographic hashes for `foo` and `bar`.\n\nIt is also not possible to reference the result of a derivation. If\nyou are using Nixpkgs, the `writeTextFile` function is able to do\nthat.\n","source":{"position":null,"path":["builtins","toFile"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.toJSON","path":["builtins","toJSON"],"aliases":[["lib","strings","toJSON"]],"signature":null,"is_primop":true,"primop_meta":{"name":"toJSON","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","toJSON"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a string containing a JSON representation of *e*. Strings,\nintegers, floats, booleans, nulls and lists are mapped to their JSON\nequivalents. Sets (except derivations) are represented as objects.\nDerivations are translated to a JSON string containing the\nderivations output path. Paths are copied to the store and\nrepresented as a JSON string of the resulting store path.\n","source":{"position":null,"path":["builtins","toJSON"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.toPath","path":["builtins","toPath"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"toPath","args":["s"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","toPath"],"pos_type":"Lambda"}},"content":{"content":"\n**DEPRECATED.** Use `/. + \"/path\"` to convert a string into an absolute\npath. For relative paths, use `./. + \"/path\"`.\n","source":{"position":null,"path":["builtins","toPath"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.toString","path":["builtins","toString"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"toString","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","toString"],"pos_type":"Lambda"}},"content":{"content":"\nConvert the expression *e* to a string. *e* can be:\n\n - A string (in which case the string is returned unmodified).\n\n - A path (e.g., `toString /foo/bar` yields `\"/foo/bar\"`.\n\n - A set containing `{ __toString = self: ...; }` or `{ outPath = ...; }`.\n\n - An integer.\n\n - A list, in which case the string representations of its elements\n are joined with spaces.\n\n - A Boolean (`false` yields `\"\"`, `true` yields `\"1\"`).\n\n - `null`, which yields the empty string.\n","source":{"position":null,"path":["builtins","toString"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.toXML","path":["builtins","toXML"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"toXML","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","toXML"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a string containing an XML representation of *e*. The main\napplication for `toXML` is to communicate information with the\nbuilder in a more structured format than plain environment\nvariables.\n\nHere is an example where this is the case:\n\n```nix\n{ stdenv, fetchurl, libxslt, jira, uberwiki }:\n\nstdenv.mkDerivation (rec {\n name = \"web-server\";\n\n buildInputs = [ libxslt ];\n\n builder = builtins.toFile \"builder.sh\" \"\n source $stdenv/setup\n mkdir $out\n echo \"$servlets\" | xsltproc ${stylesheet} - > $out/server-conf.xml ①\n \";\n\n stylesheet = builtins.toFile \"stylesheet.xsl\" ②\n \"<?xml version='1.0' encoding='UTF-8'?>\n <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>\n <xsl:template match='/'>\n <Configure>\n <xsl:for-each select='/expr/list/attrs'>\n <Call name='addWebApplication'>\n <Arg><xsl:value-of select=\\\"attr[@name = 'path']/string/@value\\\" /></Arg>\n <Arg><xsl:value-of select=\\\"attr[@name = 'war']/path/@value\\\" /></Arg>\n </Call>\n </xsl:for-each>\n </Configure>\n </xsl:template>\n </xsl:stylesheet>\n \";\n\n servlets = builtins.toXML [ ③\n { path = \"/bugtracker\"; war = jira + \"/lib/atlassian-jira.war\"; }\n { path = \"/wiki\"; war = uberwiki + \"/uberwiki.war\"; }\n ];\n})\n```\n\nThe builder is supposed to generate the configuration file for a\n[Jetty servlet container](http://jetty.mortbay.org/). A servlet\ncontainer contains a number of servlets (`*.war` files) each\nexported under a specific URI prefix. So the servlet configuration\nis a list of sets containing the `path` and `war` of the servlet\n(①). This kind of information is difficult to communicate with the\nnormal method of passing information through an environment\nvariable, which just concatenates everything together into a\nstring (which might just work in this case, but wouldnt work if\nfields are optional or contain lists themselves). Instead the Nix\nexpression is converted to an XML representation with `toXML`,\nwhich is unambiguous and can easily be processed with the\nappropriate tools. For instance, in the example an XSLT stylesheet\n(at point ②) is applied to it (at point ①) to generate the XML\nconfiguration file for the Jetty server. The XML representation\nproduced at point ③ by `toXML` is as follows:\n\n```xml\n<?xml version='1.0' encoding='utf-8'?>\n<expr>\n <list>\n <attrs>\n <attr name=\"path\">\n <string value=\"/bugtracker\" />\n </attr>\n <attr name=\"war\">\n <path value=\"/nix/store/d1jh9pasa7k2...-jira/lib/atlassian-jira.war\" />\n </attr>\n </attrs>\n <attrs>\n <attr name=\"path\">\n <string value=\"/wiki\" />\n </attr>\n <attr name=\"war\">\n <path value=\"/nix/store/y6423b1yi4sx...-uberwiki/uberwiki.war\" />\n </attr>\n </attrs>\n </list>\n</expr>\n```\n\nNote that we used the `toFile` built-in to write the builder and\nthe stylesheet “inline” in the Nix expression. The path of the\nstylesheet is spliced into the builder using the syntax `xsltproc\n${stylesheet}`.\n","source":{"position":null,"path":["builtins","toXML"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.trace","path":["builtins","trace"],"aliases":[["lib","trace"]],"signature":null,"is_primop":true,"primop_meta":{"name":"trace","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","trace"],"pos_type":"Lambda"}},"content":{"content":"\nEvaluate *e1* and print its abstract syntax representation on\nstandard error. Then return *e2*. This function is useful for\ndebugging.\n","source":{"position":null,"path":["builtins","trace"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.traceVerbose","path":["builtins","traceVerbose"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"traceVerbose","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","traceVerbose"],"pos_type":"Lambda"}},"content":{"content":"\nEvaluate *e1* and print its abstract syntax representation on standard\nerror if `--trace-verbose` is enabled. Then return *e2*. This function\nis useful for debugging.\n","source":{"position":null,"path":["builtins","traceVerbose"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.tryEval","path":["builtins","tryEval"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"tryEval","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","tryEval"],"pos_type":"Lambda"}},"content":{"content":"\nTry to shallowly evaluate *e*. Return a set containing the\nattributes `success` (`true` if *e* evaluated successfully,\n`false` if an error was thrown) and `value`, equalling *e* if\nsuccessful and `false` otherwise. `tryEval` will only prevent\nerrors created by `throw` or `assert` from being thrown.\nErrors `tryEval` will not catch are for example those created\nby `abort` and type errors generated by builtins. Also note that\nthis doesn't evaluate *e* deeply, so `let e = { x = throw \"\"; };\nin (builtins.tryEval e).success` will be `true`. Using\n`builtins.deepSeq` one can get the expected result:\n`let e = { x = throw \"\"; }; in\n(builtins.tryEval (builtins.deepSeq e e)).success` will be\n`false`.\n","source":{"position":null,"path":["builtins","tryEval"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.typeOf","path":["builtins","typeOf"],"aliases":[["lib","strings","typeOf"]],"signature":null,"is_primop":true,"primop_meta":{"name":"typeOf","args":["e"],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","typeOf"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a string representing the type of the value *e*, namely\n`\"int\"`, `\"bool\"`, `\"string\"`, `\"path\"`, `\"null\"`, `\"set\"`,\n`\"list\"`, `\"lambda\"` or `\"float\"`.\n","source":{"position":null,"path":["builtins","typeOf"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.unsafeDiscardOutputDependency","path":["builtins","unsafeDiscardOutputDependency"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"unsafeDiscardOutputDependency","args":[],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","unsafeDiscardOutputDependency"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","unsafeDiscardOutputDependency"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.unsafeDiscardStringContext","path":["builtins","unsafeDiscardStringContext"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"unsafeDiscardStringContext","args":[],"experimental":false,"arity":1},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","unsafeDiscardStringContext"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","unsafeDiscardStringContext"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.unsafeGetAttrPos","path":["builtins","unsafeGetAttrPos"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"unsafeGetAttrPos","args":[],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["builtins","unsafeGetAttrPos"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["builtins","unsafeGetAttrPos"],"pos_type":"Lambda"}}},{"meta":{"title":"builtins.zipAttrsWith","path":["builtins","zipAttrsWith"],"aliases":[["lib","zip"],["lib","zipAttrsWith"],["lib","attrsets","zip"],["lib","attrsets","zipAttrsWith"]],"signature":"zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":true,"primop_meta":{"name":"zipAttrsWith","args":["f","list"],"experimental":false,"arity":2},"attr_position":null,"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function f to merge attribute values.\nLike `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`.\nImplementation note: Common names appear multiple times in the list of\nnames, hopefully this does not affect the system because the maximal\nlaziness avoid computing twice the same expression and `listToAttrs` does\nnot care about duplicated attribute names.\n\n# Example\n\n```nix\nzipAttrsWith (name: values: values) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.dockerTools.buildImage","path":["pkgs","dockerTools","buildImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":508,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dockerTools.buildImageWithNixDb","path":["pkgs","dockerTools","buildImageWithNixDb"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":829,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":829,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":829,"column":25},"path":["pkgs","dockerTools","buildImageWithNixDb"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":829,"column":25},"path":["pkgs","dockerTools","buildImageWithNixDb"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.buildLayeredImage","path":["pkgs","dockerTools","buildLayeredImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":490,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dockerTools.buildLayeredImageWithNixDb","path":["pkgs","dockerTools","buildLayeredImageWithNixDb"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":836,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":836,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":836,"column":32},"path":["pkgs","dockerTools","buildLayeredImageWithNixDb"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":836,"column":32},"path":["pkgs","dockerTools","buildLayeredImageWithNixDb"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.buildNixShellImage","path":["pkgs","dockerTools","buildNixShellImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1229,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1229,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1229,"column":24},"path":["pkgs","dockerTools","buildNixShellImage"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1229,"column":24},"path":["pkgs","dockerTools","buildNixShellImage"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.exportImage","path":["pkgs","dockerTools","exportImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":313,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":313,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":313,"column":17},"path":["pkgs","dockerTools","exportImage"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":313,"column":17},"path":["pkgs","dockerTools","exportImage"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.mergeDrvs","path":["pkgs","dockerTools","mergeDrvs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":148,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":149,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":149,"column":5},"path":["pkgs","dockerTools","mergeDrvs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":149,"column":5},"path":["pkgs","dockerTools","mergeDrvs"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.mergeImages","path":["pkgs","dockerTools","mergeImages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":761,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":761,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":761,"column":17},"path":["pkgs","dockerTools","mergeImages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":761,"column":17},"path":["pkgs","dockerTools","mergeImages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.mkPureLayer","path":["pkgs","dockerTools","mkPureLayer"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":341,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":342,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":342,"column":5},"path":["pkgs","dockerTools","mkPureLayer"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":342,"column":5},"path":["pkgs","dockerTools","mkPureLayer"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.mkRootLayer","path":["pkgs","dockerTools","mkRootLayer"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":400,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":401,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":401,"column":5},"path":["pkgs","dockerTools","mkRootLayer"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":401,"column":5},"path":["pkgs","dockerTools","mkRootLayer"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.override","path":["pkgs","dockerTools","override"],"aliases":[["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":115,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dockerTools.overrideDerivation","path":["pkgs","dockerTools","overrideDerivation"],"aliases":[["lib","overrideDerivation"],["lib","customisation","overrideDerivation"],["pkgs","pythonPackages","overrideDerivation"],["pkgs","stdenv","overrideDerivation"],["pkgs","writers","overrideDerivation"]],"signature":"overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}},"content":{"content":"\n`overrideDerivation drv f` takes a derivation (i.e., the result\nof a call to the builtin function `derivation`) and returns a new\nderivation in which the attributes of the original are overridden\naccording to the function `f`. The function `f` is called with\nthe original derivation attributes.\n`overrideDerivation` allows certain \"ad-hoc\" customisation\nscenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,\nif you want to \"patch\" the derivation returned by a package\nfunction in Nixpkgs to build another version than what the\nfunction itself provides.\nFor another application, see build-support/vm, where this\nfunction is used to build arbitrary derivations inside a QEMU\nvirtual machine.\nNote that in order to preserve evaluation errors, the new derivation's\noutPath depends on the old one's, which means that this function cannot\nbe used in circular situations when the old derivation also depends on the\nnew one.\nYou should in general prefer `drv.overrideAttrs` over this function;\nsee the nixpkgs manual for more information on overriding.\n\n# Example\n\n```nix\nmySed = overrideDerivation pkgs.gnused (oldAttrs: {\n name = \"sed-4.2.2-pre\";\n src = fetchurl {\n url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;\n hash = \"sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=\";\n };\n patches = [];\n});\n```\n\n# Type\n\n```\noverrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.dockerTools.pullImage","path":["pkgs","dockerTools","pullImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":94,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":98,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":98,"column":5},"path":["pkgs","dockerTools","pullImage"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":98,"column":5},"path":["pkgs","dockerTools","pullImage"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.runWithOverlay","path":["pkgs","dockerTools","runWithOverlay"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":203,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":204,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":204,"column":5},"path":["pkgs","dockerTools","runWithOverlay"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":204,"column":5},"path":["pkgs","dockerTools","runWithOverlay"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.shellScript","path":["pkgs","dockerTools","shellScript"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":332,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":332,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":332,"column":17},"path":["pkgs","dockerTools","shellScript"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":332,"column":17},"path":["pkgs","dockerTools","shellScript"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dockerTools.streamLayeredImage","path":["pkgs","dockerTools","streamLayeredImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":842,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dockerTools.streamNixShellImage","path":["pkgs","dockerTools","streamNixShellImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1057,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1058,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1058,"column":5},"path":["pkgs","dockerTools","streamNixShellImage"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/docker/default.nix","line":1058,"column":5},"path":["pkgs","dockerTools","streamNixShellImage"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addBuildDepend","path":["pkgs","haskell","lib","addBuildDepend"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":182,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":182,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":182,"column":20},"path":["pkgs","haskell","lib","addBuildDepend"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":182,"column":20},"path":["pkgs","haskell","lib","addBuildDepend"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addBuildDepends","path":["pkgs","haskell","lib","addBuildDepends"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":183,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":183,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":183,"column":21},"path":["pkgs","haskell","lib","addBuildDepends"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":183,"column":21},"path":["pkgs","haskell","lib","addBuildDepends"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addBuildTool","path":["pkgs","haskell","lib","addBuildTool"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":176,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":176,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":176,"column":18},"path":["pkgs","haskell","lib","addBuildTool"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":176,"column":18},"path":["pkgs","haskell","lib","addBuildTool"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addBuildTools","path":["pkgs","haskell","lib","addBuildTools"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":177,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":177,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":177,"column":19},"path":["pkgs","haskell","lib","addBuildTools"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":177,"column":19},"path":["pkgs","haskell","lib","addBuildTools"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addExtraLibraries","path":["pkgs","haskell","lib","addExtraLibraries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":180,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":180,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":180,"column":23},"path":["pkgs","haskell","lib","addExtraLibraries"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":180,"column":23},"path":["pkgs","haskell","lib","addExtraLibraries"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addExtraLibrary","path":["pkgs","haskell","lib","addExtraLibrary"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":179,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":179,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":179,"column":21},"path":["pkgs","haskell","lib","addExtraLibrary"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":179,"column":21},"path":["pkgs","haskell","lib","addExtraLibrary"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addOptparseApplicativeCompletionScripts","path":["pkgs","haskell","lib","addOptparseApplicativeCompletionScripts"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":381,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":381,"column":45},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":381,"column":45},"path":["pkgs","haskell","lib","addOptparseApplicativeCompletionScripts"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":381,"column":45},"path":["pkgs","haskell","lib","addOptparseApplicativeCompletionScripts"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addPkgconfigDepend","path":["pkgs","haskell","lib","addPkgconfigDepend"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":188,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":188,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":188,"column":24},"path":["pkgs","haskell","lib","addPkgconfigDepend"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":188,"column":24},"path":["pkgs","haskell","lib","addPkgconfigDepend"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addPkgconfigDepends","path":["pkgs","haskell","lib","addPkgconfigDepends"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":189,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":189,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":189,"column":25},"path":["pkgs","haskell","lib","addPkgconfigDepends"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":189,"column":25},"path":["pkgs","haskell","lib","addPkgconfigDepends"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addSetupDepend","path":["pkgs","haskell","lib","addSetupDepend"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":191,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":191,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":191,"column":20},"path":["pkgs","haskell","lib","addSetupDepend"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":191,"column":20},"path":["pkgs","haskell","lib","addSetupDepend"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addSetupDepends","path":["pkgs","haskell","lib","addSetupDepends"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":192,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":192,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":192,"column":21},"path":["pkgs","haskell","lib","addSetupDepends"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":192,"column":21},"path":["pkgs","haskell","lib","addSetupDepends"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addTestToolDepend","path":["pkgs","haskell","lib","addTestToolDepend"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":185,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":185,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":185,"column":23},"path":["pkgs","haskell","lib","addTestToolDepend"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":185,"column":23},"path":["pkgs","haskell","lib","addTestToolDepend"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.addTestToolDepends","path":["pkgs","haskell","lib","addTestToolDepends"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":186,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":186,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":186,"column":24},"path":["pkgs","haskell","lib","addTestToolDepends"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":186,"column":24},"path":["pkgs","haskell","lib","addTestToolDepends"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.allowInconsistentDependencies","path":["pkgs","haskell","lib","allowInconsistentDependencies"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":412,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.appendBuildFlag","path":["pkgs","haskell","lib","appendBuildFlag"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":160,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":160,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":160,"column":21},"path":["pkgs","haskell","lib","appendBuildFlag"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":160,"column":21},"path":["pkgs","haskell","lib","appendBuildFlag"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.appendBuildFlags","path":["pkgs","haskell","lib","appendBuildFlags"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":161,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":161,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":161,"column":22},"path":["pkgs","haskell","lib","appendBuildFlags"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":161,"column":22},"path":["pkgs","haskell","lib","appendBuildFlags"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.appendConfigureFlag","path":["pkgs","haskell","lib","appendConfigureFlag"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":157,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":157,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":157,"column":3},"path":["pkgs","haskell","lib","appendConfigureFlag"],"pos_type":"Attribute"}},"content":{"content":"\nappendConfigureFlag adds a single argument that will be passed to the\ncabal configure command, after the arguments that have been defined\nin the initial declaration or previous overrides.\n\n# Example\n\n```nix\n> haskell.lib.appendConfigureFlag haskellPackages.servant \"--profiling-detail=all-functions\"\n```\n\n# Arguments\n\n- [drv] \n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":157,"column":3},"path":["pkgs","haskell","lib","appendConfigureFlag"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.appendConfigureFlags","path":["pkgs","haskell","lib","appendConfigureFlags"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":158,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":158,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":158,"column":26},"path":["pkgs","haskell","lib","appendConfigureFlags"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":158,"column":26},"path":["pkgs","haskell","lib","appendConfigureFlags"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.appendPatch","path":["pkgs","haskell","lib","appendPatch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":222,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":222,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":222,"column":17},"path":["pkgs","haskell","lib","appendPatch"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":222,"column":17},"path":["pkgs","haskell","lib","appendPatch"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.appendPatches","path":["pkgs","haskell","lib","appendPatches"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":223,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":223,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":223,"column":19},"path":["pkgs","haskell","lib","appendPatches"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":223,"column":19},"path":["pkgs","haskell","lib","appendPatches"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.buildFromSdist","path":["pkgs","haskell","lib","buildFromSdist"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":295,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":366,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":295,"column":3},"path":["pkgs","haskell","lib","buildFromSdist"],"pos_type":"Attribute"}},"content":{"content":"\nBuild a source distribution tarball instead of using the source files\ndirectly. The effect is that the package is built as if it were published\non hackage. This can be used as a test for the source distribution,\nassuming the build fails when packaging mistakes are in the cabal file.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":295,"column":3},"path":["pkgs","haskell","lib","buildFromSdist"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.buildStackProject","path":["pkgs","haskell","lib","buildStackProject"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":323,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.buildStrictly","path":["pkgs","haskell","lib","buildStrictly"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":301,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":384,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":301,"column":3},"path":["pkgs","haskell","lib","buildStrictly"],"pos_type":"Attribute"}},"content":{"content":"\nBuild the package in a strict way to uncover potential problems.\nThis includes buildFromSdist and failOnAllWarnings.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":301,"column":3},"path":["pkgs","haskell","lib","buildStrictly"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.checkUnusedPackages","path":["pkgs","haskell","lib","checkUnusedPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":321,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":410,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":321,"column":3},"path":["pkgs","haskell","lib","checkUnusedPackages"],"pos_type":"Attribute"}},"content":{"content":"\nAdd a post-build check to verify that dependencies declared in\nthe cabal file are actually used.\nThe first attrset argument can be used to configure the strictness\nof this check and a list of ignored package names that would otherwise\ncause false alarms.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":321,"column":3},"path":["pkgs","haskell","lib","checkUnusedPackages"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.controlPhases","path":["pkgs","haskell","lib","controlPhases"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":373,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":480,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":480,"column":19},"path":["pkgs","haskell","lib","controlPhases"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":480,"column":19},"path":["pkgs","haskell","lib","controlPhases"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.disableCabalFlag","path":["pkgs","haskell","lib","disableCabalFlag"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":195,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":195,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":195,"column":22},"path":["pkgs","haskell","lib","disableCabalFlag"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":195,"column":22},"path":["pkgs","haskell","lib","disableCabalFlag"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.disableDeadCodeElimination","path":["pkgs","haskell","lib","disableDeadCodeElimination"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":215,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.disableExecutableProfiling","path":["pkgs","haskell","lib","disableExecutableProfiling"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":206,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.disableHardening","path":["pkgs","haskell","lib","disableHardening"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":245,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":245,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":245,"column":22},"path":["pkgs","haskell","lib","disableHardening"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":245,"column":22},"path":["pkgs","haskell","lib","disableHardening"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.disableLibraryProfiling","path":["pkgs","haskell","lib","disableLibraryProfiling"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":203,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.disableOptimization","path":["pkgs","haskell","lib","disableOptimization"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":306,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":306,"column":3},"path":["pkgs","haskell","lib","disableOptimization"],"pos_type":"Attribute"}},"content":{"content":"\nDisable core optimizations, significantly speeds up build time\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":306,"column":3},"path":["pkgs","haskell","lib","disableOptimization"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.disableSharedExecutables","path":["pkgs","haskell","lib","disableSharedExecutables"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":209,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.disableSharedLibraries","path":["pkgs","haskell","lib","disableSharedLibraries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":212,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.disableStaticLibraries","path":["pkgs","haskell","lib","disableStaticLibraries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":218,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.doBenchmark","path":["pkgs","haskell","lib","doBenchmark"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":122,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":122,"column":3},"path":["pkgs","haskell","lib","doBenchmark"],"pos_type":"Attribute"}},"content":{"content":"\ndoBenchmark enables dependency checking, compilation and execution\nfor benchmarks listed in the package description file.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":122,"column":3},"path":["pkgs","haskell","lib","doBenchmark"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.doCheck","path":["pkgs","haskell","lib","doCheck"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":111,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":111,"column":3},"path":["pkgs","haskell","lib","doCheck"],"pos_type":"Attribute"}},"content":{"content":"\ndoCheck enables dependency checking, compilation and execution\nof test suites listed in the package description file.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":111,"column":3},"path":["pkgs","haskell","lib","doCheck"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.doCoverage","path":["pkgs","haskell","lib","doCoverage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":64,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":64,"column":3},"path":["pkgs","haskell","lib","doCoverage"],"pos_type":"Attribute"}},"content":{"content":"\ndoCoverage modifies a haskell package to enable the generation\nand installation of a coverage report.\nSee https://wiki.haskell.org/Haskell_program_coverage\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":64,"column":3},"path":["pkgs","haskell","lib","doCoverage"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.doDistribute","path":["pkgs","haskell","lib","doDistribute"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":133,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":133,"column":3},"path":["pkgs","haskell","lib","doDistribute"],"pos_type":"Attribute"}},"content":{"content":"\ndoDistribute enables the distribution of binaries for the package\nvia hydra.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":133,"column":3},"path":["pkgs","haskell","lib","doDistribute"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.doHaddock","path":["pkgs","haskell","lib","doHaddock"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":77,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":77,"column":3},"path":["pkgs","haskell","lib","doHaddock"],"pos_type":"Attribute"}},"content":{"content":"\ndoHaddock modifies a haskell package to enable the generation and\ninstallation of API documentation from code comments using the\nhaddock tool.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":77,"column":3},"path":["pkgs","haskell","lib","doHaddock"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.doHyperlinkSource","path":["pkgs","haskell","lib","doHyperlinkSource"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":242,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.doJailbreak","path":["pkgs","haskell","lib","doJailbreak"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":99,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":99,"column":3},"path":["pkgs","haskell","lib","doJailbreak"],"pos_type":"Attribute"}},"content":{"content":"\ndoJailbreak enables the removal of version bounds from the cabal\nfile. You may want to avoid this function.\nThis is useful when a package reports that it can not be built\ndue to version mismatches. In some cases, removing the version\nbounds entirely is an easy way to make a package build, but at\nthe risk of breaking software in non-obvious ways now or in the\nfuture.\nInstead of jailbreaking, you can patch the cabal file.\nNote that jailbreaking at this time, doesn't lift bounds on\nconditional branches.\nhttps://github.com/peti/jailbreak-cabal/issues/7 has further details.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":99,"column":3},"path":["pkgs","haskell","lib","doJailbreak"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.doStrip","path":["pkgs","haskell","lib","doStrip"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":251,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":251,"column":3},"path":["pkgs","haskell","lib","doStrip"],"pos_type":"Attribute"}},"content":{"content":"\nLet Nix strip the binary files.\n* This removes debugging symbols.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":251,"column":3},"path":["pkgs","haskell","lib","doStrip"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.documentationTarball","path":["pkgs","haskell","lib","documentationTarball"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":275,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":308,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":275,"column":3},"path":["pkgs","haskell","lib","documentationTarball"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a documentation tarball suitable for uploading to Hackage instead\nof building the package.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":275,"column":3},"path":["pkgs","haskell","lib","documentationTarball"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontBenchmark","path":["pkgs","haskell","lib","dontBenchmark"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":127,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":127,"column":3},"path":["pkgs","haskell","lib","dontBenchmark"],"pos_type":"Attribute"}},"content":{"content":"\ndontBenchmark disables dependency checking, compilation and execution\nfor benchmarks listed in the package description file.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":127,"column":3},"path":["pkgs","haskell","lib","dontBenchmark"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontCheck","path":["pkgs","haskell","lib","dontCheck"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":116,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":116,"column":3},"path":["pkgs","haskell","lib","dontCheck"],"pos_type":"Attribute"}},"content":{"content":"\ndontCheck disables dependency checking, compilation and execution\nof test suites listed in the package description file.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":116,"column":3},"path":["pkgs","haskell","lib","dontCheck"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontCoverage","path":["pkgs","haskell","lib","dontCoverage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":70,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":70,"column":3},"path":["pkgs","haskell","lib","dontCoverage"],"pos_type":"Attribute"}},"content":{"content":"\ndontCoverage modifies a haskell package to disable the generation\nand installation of a coverage report.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":70,"column":3},"path":["pkgs","haskell","lib","dontCoverage"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontDistribute","path":["pkgs","haskell","lib","dontDistribute"],"aliases":[["lib","dontDistribute"],["lib","meta","dontDistribute"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":138,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":138,"column":3},"path":["pkgs","haskell","lib","dontDistribute"],"pos_type":"Attribute"}},"content":{"content":"\ndontDistribute disables the distribution of binaries for the package\nvia hydra.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":138,"column":3},"path":["pkgs","haskell","lib","dontDistribute"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontHaddock","path":["pkgs","haskell","lib","dontHaddock"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":84,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":84,"column":3},"path":["pkgs","haskell","lib","dontHaddock"],"pos_type":"Attribute"}},"content":{"content":"\ndontHaddock modifies a haskell package to disable the generation and\ninstallation of API documentation from code comments using the\nhaddock tool.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":84,"column":3},"path":["pkgs","haskell","lib","dontHaddock"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontHyperlinkSource","path":["pkgs","haskell","lib","dontHyperlinkSource"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":243,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.dontJailbreak","path":["pkgs","haskell","lib","dontJailbreak"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":105,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":105,"column":3},"path":["pkgs","haskell","lib","dontJailbreak"],"pos_type":"Attribute"}},"content":{"content":"\ndontJailbreak restores the use of the version bounds the check\nthe use of dependencies in the package description.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":105,"column":3},"path":["pkgs","haskell","lib","dontJailbreak"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.dontStrip","path":["pkgs","haskell","lib","dontStrip"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":257,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":257,"column":3},"path":["pkgs","haskell","lib","dontStrip"],"pos_type":"Attribute"}},"content":{"content":"\nStop Nix from stripping the binary files.\n* This keeps debugging symbols.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":257,"column":3},"path":["pkgs","haskell","lib","dontStrip"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.enableCabalFlag","path":["pkgs","haskell","lib","enableCabalFlag"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":194,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":194,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":194,"column":21},"path":["pkgs","haskell","lib","enableCabalFlag"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":194,"column":21},"path":["pkgs","haskell","lib","enableCabalFlag"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.enableDWARFDebugging","path":["pkgs","haskell","lib","enableDWARFDebugging"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":263,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":272,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":263,"column":3},"path":["pkgs","haskell","lib","enableDWARFDebugging"],"pos_type":"Attribute"}},"content":{"content":"\nUseful for debugging segfaults with gdb.\n* This includes dontStrip.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":263,"column":3},"path":["pkgs","haskell","lib","enableDWARFDebugging"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.enableDeadCodeElimination","path":["pkgs","haskell","lib","enableDeadCodeElimination"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":214,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.enableExecutableProfiling","path":["pkgs","haskell","lib","enableExecutableProfiling"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":205,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.enableLibraryProfiling","path":["pkgs","haskell","lib","enableLibraryProfiling"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":202,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.enableSeparateBinOutput","path":["pkgs","haskell","lib","enableSeparateBinOutput"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":220,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.enableSharedExecutables","path":["pkgs","haskell","lib","enableSharedExecutables"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":208,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.enableSharedLibraries","path":["pkgs","haskell","lib","enableSharedLibraries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":211,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.enableStaticLibraries","path":["pkgs","haskell","lib","enableStaticLibraries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":217,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.failOnAllWarnings","path":["pkgs","haskell","lib","failOnAllWarnings"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":312,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":312,"column":3},"path":["pkgs","haskell","lib","failOnAllWarnings"],"pos_type":"Attribute"}},"content":{"content":"\nTurn on most of the compiler warnings and fail the build if any\nof them occur.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":312,"column":3},"path":["pkgs","haskell","lib","failOnAllWarnings"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.generateOptparseApplicativeCompletion","path":["pkgs","haskell","lib","generateOptparseApplicativeCompletion"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":395,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":561,"column":43},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":395,"column":3},"path":["pkgs","haskell","lib","generateOptparseApplicativeCompletion"],"pos_type":"Attribute"}},"content":{"content":"\nModify a Haskell package to add shell completion scripts for the\ngiven executable produced by it. These completion scripts will be\npicked up automatically if the resulting derivation is installed,\ne.g. by `nix-env -i`.\nInvocation:\ngenerateOptparseApplicativeCompletions command pkg\ncommand: name of an executable\npkg: Haskell package that builds the executables\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":395,"column":3},"path":["pkgs","haskell","lib","generateOptparseApplicativeCompletion"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.generateOptparseApplicativeCompletions","path":["pkgs","haskell","lib","generateOptparseApplicativeCompletions"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":407,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":546,"column":44},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":407,"column":3},"path":["pkgs","haskell","lib","generateOptparseApplicativeCompletions"],"pos_type":"Attribute"}},"content":{"content":"\nModify a Haskell package to add shell completion scripts for the\ngiven executables produced by it. These completion scripts will be\npicked up automatically if the resulting derivation is installed,\ne.g. by `nix-env -i`.\nInvocation:\ngenerateOptparseApplicativeCompletions commands pkg\ncommands: name of an executable\npkg: Haskell package that builds the executables\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":407,"column":3},"path":["pkgs","haskell","lib","generateOptparseApplicativeCompletions"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.getBuildInputs","path":["pkgs","haskell","lib","getBuildInputs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":350,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":451,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":451,"column":20},"path":["pkgs","haskell","lib","getBuildInputs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":451,"column":20},"path":["pkgs","haskell","lib","getBuildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.getHaskellBuildInputs","path":["pkgs","haskell","lib","getHaskellBuildInputs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":355,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":456,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":456,"column":27},"path":["pkgs","haskell","lib","getHaskellBuildInputs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":456,"column":27},"path":["pkgs","haskell","lib","getHaskellBuildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.ghcInfo","path":["pkgs","haskell","lib","ghcInfo"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":361,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":462,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":462,"column":13},"path":["pkgs","haskell","lib","ghcInfo"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":462,"column":13},"path":["pkgs","haskell","lib","ghcInfo"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.justStaticExecutables","path":["pkgs","haskell","lib","justStaticExecutables"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":287,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":287,"column":3},"path":["pkgs","haskell","lib","justStaticExecutables"],"pos_type":"Attribute"}},"content":{"content":"\nlink executables statically against haskell libs to reduce\nclosure size\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":287,"column":3},"path":["pkgs","haskell","lib","justStaticExecutables"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.linkWithGold","path":["pkgs","haskell","lib","linkWithGold"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":281,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":281,"column":3},"path":["pkgs","haskell","lib","linkWithGold"],"pos_type":"Attribute"}},"content":{"content":"\nUse the gold linker. It is a linker for ELF that is designed\n\"to run as fast as possible on modern systems\"\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":281,"column":3},"path":["pkgs","haskell","lib","linkWithGold"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.makePackageSet","path":["pkgs","haskell","lib","makePackageSet"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":19,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/make-package-set.nix","line":4,"column":1},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":19,"column":3},"path":["pkgs","haskell","lib","makePackageSet"],"pos_type":"Attribute"}},"content":{"content":"\nThis function takes a file like `hackage-packages.nix` and constructs\na full package set out of that.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":19,"column":3},"path":["pkgs","haskell","lib","makePackageSet"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.markBroken","path":["pkgs","haskell","lib","markBroken"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":197,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.markBrokenVersion","path":["pkgs","haskell","lib","markBrokenVersion"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":199,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":204,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":204,"column":23},"path":["pkgs","haskell","lib","markBrokenVersion"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":204,"column":23},"path":["pkgs","haskell","lib","markBrokenVersion"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.markUnbroken","path":["pkgs","haskell","lib","markUnbroken"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":200,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.haskell.lib.overrideCabal","path":["pkgs","haskell","lib","overrideCabal"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":51,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":51,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":51,"column":3},"path":["pkgs","haskell","lib","overrideCabal"],"pos_type":"Attribute"}},"content":{"content":"\nThe function overrideCabal lets you alter the arguments to the\nmkDerivation function.\n\n# Example\n\n```nix\nFirst, note how the aeson package is constructed in hackage-packages.nix:\n \"aeson\" = callPackage ({ mkDerivation, attoparsec, <snip>\n }:\n mkDerivation {\n pname = \"aeson\";\n <snip>\n homepage = \"https://github.com/bos/aeson\";\n })\nThe mkDerivation function of haskellPackages will take care of putting\nthe homepage in the right place, in meta.\n > haskellPackages.aeson.meta.homepage\n \"https://github.com/bos/aeson\"\n > x = haskell.lib.overrideCabal haskellPackages.aeson (old: { homepage = old.homepage + \"#readme\"; })\n > x.meta.homepage\n \"https://github.com/bos/aeson#readme\"\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":51,"column":3},"path":["pkgs","haskell","lib","overrideCabal"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.overrideSrc","path":["pkgs","haskell","lib","overrideSrc"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":347,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":347,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":347,"column":3},"path":["pkgs","haskell","lib","overrideSrc"],"pos_type":"Attribute"}},"content":{"content":"\nOverride the sources for the package and optionally the version.\nThis also takes of removing editedCabalFile.\n\n# Arguments\n\n- [drv] \n- [src] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":347,"column":3},"path":["pkgs","haskell","lib","overrideSrc"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.packageSourceOverrides","path":["pkgs","haskell","lib","packageSourceOverrides"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":57,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":54,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":54,"column":5},"path":["pkgs","haskell","lib","packageSourceOverrides"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":54,"column":5},"path":["pkgs","haskell","lib","packageSourceOverrides"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.packagesFromDirectory","path":["pkgs","haskell","lib","packagesFromDirectory"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":379,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":491,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":491,"column":5},"path":["pkgs","haskell","lib","packagesFromDirectory"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":491,"column":5},"path":["pkgs","haskell","lib","packagesFromDirectory"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.removeConfigureFlag","path":["pkgs","haskell","lib","removeConfigureFlag"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":174,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":174,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":174,"column":3},"path":["pkgs","haskell","lib","removeConfigureFlag"],"pos_type":"Attribute"}},"content":{"content":"\nremoveConfigureFlag drv x is a Haskell package like drv, but with\nall cabal configure arguments that are equal to x removed.\n> haskell.lib.removeConfigureFlag haskellPackages.servant \"--verbose\"\n\n# Arguments\n\n- [drv] \n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":174,"column":3},"path":["pkgs","haskell","lib","removeConfigureFlag"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.sdistTarball","path":["pkgs","haskell","lib","sdistTarball"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":269,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":287,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":269,"column":3},"path":["pkgs","haskell","lib","sdistTarball"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a source distribution tarball like those found on hackage,\ninstead of building the package.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":269,"column":3},"path":["pkgs","haskell","lib","sdistTarball"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.setBuildTarget","path":["pkgs","haskell","lib","setBuildTarget"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":240,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":240,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":240,"column":20},"path":["pkgs","haskell","lib","setBuildTarget"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":240,"column":20},"path":["pkgs","haskell","lib","setBuildTarget"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.setBuildTargets","path":["pkgs","haskell","lib","setBuildTargets"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":239,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":239,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":239,"column":3},"path":["pkgs","haskell","lib","setBuildTargets"],"pos_type":"Attribute"}},"content":{"content":"\nSet a specific build target instead of compiling all targets in the package.\n* For example, imagine we have a .cabal file with a library, and 2 executables \"dev\" and \"server\".\n* We can build only \"server\" and not wait on the compilation of \"dev\" by using setBuildTarget as follows:\n*\n* setBuildTarget (callCabal2nix \"thePackageName\" thePackageSrc {}) \"server\"\n*\n\n# Arguments\n\n- [drv] \n- [xs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":239,"column":3},"path":["pkgs","haskell","lib","setBuildTargets"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.shellAware","path":["pkgs","haskell","lib","shellAware"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":359,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":460,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":460,"column":16},"path":["pkgs","haskell","lib","shellAware"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":460,"column":16},"path":["pkgs","haskell","lib","shellAware"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.haskell.lib.triggerRebuild","path":["pkgs","haskell","lib","triggerRebuild"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":335,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":335,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":335,"column":3},"path":["pkgs","haskell","lib","triggerRebuild"],"pos_type":"Attribute"}},"content":{"content":"\nAdd a dummy command to trigger a build despite an equivalent\nearlier build that is present in the store or cache.\n\n# Arguments\n\n- [drv] \n- [i] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":335,"column":3},"path":["pkgs","haskell","lib","triggerRebuild"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.haskell.lib.unmarkBroken","path":["pkgs","haskell","lib","unmarkBroken"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/default.nix","line":198,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/haskell-modules/lib/compose.nix","line":43,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.__unfix__","path":["lib","__unfix__"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":30},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":212,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":212,"column":11},"path":["lib","__unfix__"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":212,"column":11},"path":["lib","__unfix__"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.add","path":["lib","add"],"aliases":[["builtins","add"],["lib","trivial","add"]],"signature":null,"is_primop":true,"primop_meta":{"name":"add","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","add"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the sum of the numbers *e1* and *e2*.\n","source":{"position":null,"path":["lib","add"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.addContextFrom","path":["lib","addContextFrom"],"aliases":[["lib","strings","addContextFrom"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":3},"path":["lib","strings","addContextFrom"],"pos_type":"Attribute"}},"content":{"content":"\nAppends string context from another string. This is an implementation\ndetail of Nix and should be used carefully.\nStrings in Nix carry an invisible `context` which is a list of strings\nrepresenting store paths. If the string is later used in a derivation\nattribute, the derivation will properly populate the inputDrvs and\ninputSrcs.\n\n# Example\n\n```nix\npkgs = import <nixpkgs> { };\naddContextFrom pkgs.coreutils \"bar\"\n=> \"bar\"\n```\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":3},"path":["lib","strings","addContextFrom"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.addErrorContext","path":["lib","addErrorContext"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"addErrorContext","args":[],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","addErrorContext"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["lib","addErrorContext"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.addMetaAttrs","path":["lib","addMetaAttrs"],"aliases":[["lib","meta","addMetaAttrs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":3},"path":["lib","meta","addMetaAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nAdd to or override the meta attributes of the given\nderivation.\n\n# Example\n\n```nix\naddMetaAttrs {description = \"Bla blah\";} somePkg\n```\n\n# Arguments\n\n- [newAttrs] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":3},"path":["lib","meta","addMetaAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.all","path":["lib","all"],"aliases":[["builtins","all"],["lib","lists","all"]],"signature":"all :: (a -> bool) -> [a] -> bool\n","is_primop":true,"primop_meta":{"name":"all","args":["pred","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"path":["lib","lists","all"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if function `pred` returns true for all elements of\n`list`.\n\n# Example\n\n```nix\nall (x: x < 3) [ 1 2 ]\n=> true\nall (x: x < 3) [ 1 2 3 ]\n=> false\n```\n\n# Type\n\n```\nall :: (a -> bool) -> [a] -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"path":["lib","lists","all"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.allUnique","path":["lib","allUnique"],"aliases":[["lib","lists","allUnique"]],"signature":"allUnique :: [a] -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":3},"path":["lib","lists","allUnique"],"pos_type":"Attribute"}},"content":{"content":"\nCheck if list contains only unique elements. O(n^2) complexity.\n\n# Example\n\n```nix\nallUnique [ 3 2 3 4 ]\n=> false\nallUnique [ 3 2 4 1 ]\n=> true\n```\n\n# Type\n\n```\nallUnique :: [a] -> bool\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":3},"path":["lib","lists","allUnique"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.and","path":["lib","and"],"aliases":[["lib","trivial","and"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":3},"path":["lib","trivial","and"],"pos_type":"Attribute"}},"content":{"content":"\nboolean “and”\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":3},"path":["lib","trivial","and"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.any","path":["lib","any"],"aliases":[["builtins","any"],["lib","lists","any"]],"signature":"any :: (a -> bool) -> [a] -> bool\n","is_primop":true,"primop_meta":{"name":"any","args":["pred","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"path":["lib","lists","any"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if function `pred` returns true for at least one\nelement of `list`.\n\n# Example\n\n```nix\nany isString [ 1 \"a\" { } ]\n=> true\nany isString [ 1 { } ]\n=> false\n```\n\n# Type\n\n```\nany :: (a -> bool) -> [a] -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"path":["lib","lists","any"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.appendToName","path":["lib","appendToName"],"aliases":[["lib","meta","appendToName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":3},"path":["lib","meta","appendToName"],"pos_type":"Attribute"}},"content":{"content":"\nAppend a suffix to the name of a package (before the version\npart).\n\n# Arguments\n\n- [suffix] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":3},"path":["lib","meta","appendToName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.applyModuleArgsIfFunction","path":["lib","applyModuleArgsIfFunction"],"aliases":[["lib","modules","applyModuleArgsIfFunction"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":507,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":507,"column":31},"path":["lib","applyModuleArgsIfFunction"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":507,"column":31},"path":["lib","applyModuleArgsIfFunction"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.assertMsg","path":["lib","assertMsg"],"aliases":[["lib","asserts","assertMsg"]],"signature":"assertMsg :: Bool -> String -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":151,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":33,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":31,"column":3},"path":["lib","asserts","assertMsg"],"pos_type":"Attribute"}},"content":{"content":"\nThrow if pred is false, else return pred.\nIntended to be used to augment asserts with helpful error messages.\n\n# Example\n\n```nix\nassertMsg false \"nope\"\nstderr> error: nope\nassert assertMsg (\"foo\" == \"bar\") \"foo is not bar, silly\"; \"\"\nstderr> error: foo is not bar, silly\n```\n\n# Type\n\n```\nassertMsg :: Bool -> String -> Bool\n```\n\n# Arguments\n\n- [pred] Predicate that needs to succeed, otherwise `msg` is thrown\n- [msg] Message to throw in case `pred` fails\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":31,"column":3},"path":["lib","asserts","assertMsg"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.assertOneOf","path":["lib","assertOneOf"],"aliases":[["lib","asserts","assertOneOf"]],"signature":"assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":151,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":68,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":66,"column":3},"path":["lib","asserts","assertOneOf"],"pos_type":"Attribute"}},"content":{"content":"\nSpecialized `assertMsg` for checking if `val` is one of the elements\nof the list `xs`. Useful for checking enums.\n\n# Example\n\n```nix\nlet sslLibrary = \"libressl\";\nin assertOneOf \"sslLibrary\" sslLibrary [ \"openssl\" \"bearssl\" ]\nstderr> error: sslLibrary must be one of [\nstderr> \"openssl\"\nstderr> \"bearssl\"\nstderr> ], but is: \"libressl\"\n```\n\n# Type\n\n```\nassertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool\n```\n\n# Arguments\n\n- [name] The name of the variable the user entered `val` into, for inclusion in the error message\n- [val] The value of what the user provided, to be compared against the values in `xs`\n- [xs] The list of valid values\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":66,"column":3},"path":["lib","asserts","assertOneOf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrByPath","path":["lib","attrByPath"],"aliases":[["lib","attrsets","attrByPath"]],"signature":"attrByPath :: [String] -> Any -> AttrSet -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":45,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":43,"column":3},"path":["lib","attrsets","attrByPath"],"pos_type":"Attribute"}},"content":{"content":"\nReturn an attribute from nested attribute sets.\n\n# Example\n\n```nix\nx = { a = { b = 3; }; }\n# [\"a\" \"b\"] is equivalent to x.a.b\n# 6 is a default value to return if the path does not exist in attrset\nattrByPath [\"a\" \"b\"] 6 x\n=> 3\nattrByPath [\"z\" \"z\"] 6 x\n=> 6\n```\n\n# Type\n\n```\nattrByPath :: [String] -> Any -> AttrSet -> Any\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to return from `set`\n- [default] Default value if `attrPath` does not resolve to an existing value\n- [set] The nested attribute set to select values from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":43,"column":3},"path":["lib","attrsets","attrByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrNames","path":["lib","attrNames"],"aliases":[["builtins","attrNames"],["lib","attrsets","attrNames"]],"signature":null,"is_primop":true,"primop_meta":{"name":"attrNames","args":["set"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrNames"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the names of the attributes in the set *set* in an\nalphabetically sorted list. For instance, `builtins.attrNames { y\n= 1; x = \"foo\"; }` evaluates to `[ \"x\" \"y\" ]`.\n","source":{"position":null,"path":["lib","attrNames"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrVals","path":["lib","attrVals"],"aliases":[["lib","attrsets","attrVals"]],"signature":"attrVals :: [String] -> AttrSet -> [Any]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":327,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":325,"column":3},"path":["lib","attrsets","attrVals"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the specified attributes from a set.\n\n# Example\n\n```nix\nattrVals [\"a\" \"b\" \"c\"] as\n=> [as.a as.b as.c]\n```\n\n# Type\n\n```\nattrVals :: [String] -> AttrSet -> [Any]\n```\n\n# Arguments\n\n- [nameList] The list of attributes to fetch from `set`. Each attribute name must exist on the attrbitue set\n- [set] The set to get attribute values from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":325,"column":3},"path":["lib","attrsets","attrVals"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrValues","path":["lib","attrValues"],"aliases":[["builtins","attrValues"],["lib","attrsets","attrValues"]],"signature":"attrValues :: AttrSet -> [Any]\n","is_primop":true,"primop_meta":{"name":"attrValues","args":["set"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"path":["lib","attrsets","attrValues"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the values of all attributes in the given set, sorted by\nattribute name.\n\n# Example\n\n```nix\nattrValues {c = 3; a = 1; b = 2;}\n=> [1 2 3]\n```\n\n# Type\n\n```\nattrValues :: AttrSet -> [Any]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"path":["lib","attrsets","attrValues"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsToList","path":["lib","attrsToList"],"aliases":[["lib","attrsets","attrsToList"]],"signature":"attrsToList :: AttrSet -> [ { name :: String; value :: Any; } ]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":766,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":799,"column":3},"path":["lib","attrsets","attrsToList"],"pos_type":"Attribute"}},"content":{"content":"\nDeconstruct an attrset to a list of name-value pairs as expected by [`builtins.listToAttrs`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-listToAttrs).\nEach element of the resulting list is an attribute set with these attributes:\n- `name` (string): The name of the attribute\n- `value` (any): The value of the attribute\nThe following is always true:\n```nix\nbuiltins.listToAttrs (attrsToList attrs) == attrs\n```\n:::{.warning}\nThe opposite is not always true. In general expect that\n```nix\nattrsToList (builtins.listToAttrs list) != list\n```\nThis is because the `listToAttrs` removes duplicate names and doesn't preserve the order of the list.\n:::\n\n# Example\n\n```nix\nattrsToList { foo = 1; bar = \"asdf\"; }\n=> [ { name = \"bar\"; value = \"asdf\"; } { name = \"foo\"; value = 1; } ]\n```\n\n# Type\n\n```\nattrsToList :: AttrSet -> [ { name :: String; value :: Any; } ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":799,"column":3},"path":["lib","attrsets","attrsToList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.bitAnd","path":["lib","bitAnd"],"aliases":[["builtins","bitAnd"],["lib","trivial","bitAnd"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitAnd","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"path":["lib","trivial","bitAnd"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “and”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"path":["lib","trivial","bitAnd"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.bitNot","path":["lib","bitNot"],"aliases":[["lib","trivial","bitNot"]],"signature":null,"is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":175,"column":3},"path":["lib","trivial","bitNot"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “not”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":175,"column":3},"path":["lib","trivial","bitNot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.bitOr","path":["lib","bitOr"],"aliases":[["builtins","bitOr"],["lib","trivial","bitOr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitOr","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"path":["lib","trivial","bitOr"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “or”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"path":["lib","trivial","bitOr"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.bitXor","path":["lib","bitXor"],"aliases":[["builtins","bitXor"],["lib","trivial","bitXor"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitXor","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"path":["lib","trivial","bitXor"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “xor”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"path":["lib","trivial","bitXor"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.boolToString","path":["lib","boolToString"],"aliases":[["lib","trivial","boolToString"]],"signature":"boolToString :: bool -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":3},"path":["lib","trivial","boolToString"],"pos_type":"Attribute"}},"content":{"content":"\nConvert a boolean to a string.\nThis function uses the strings \"true\" and \"false\" to represent\nboolean values. Calling `toString` on a bool instead returns \"1\"\nand \"\" (sic!).\n\n# Type\n\n```\nboolToString :: bool -> string\n```\n\n# Arguments\n\n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":3},"path":["lib","trivial","boolToString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.callPackageWith","path":["lib","callPackageWith"],"aliases":[["lib","customisation","callPackageWith"]],"signature":"callPackageWith :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":3},"path":["lib","customisation","callPackageWith"],"pos_type":"Attribute"}},"content":{"content":"\nCall the package function in the file `fn` with the required\narguments automatically. The function is called with the\narguments `args`, but any missing arguments are obtained from\n`autoArgs`. This function is intended to be partially\nparameterised, e.g.,\n```nix\ncallPackage = callPackageWith pkgs;\npkgs = {\nlibfoo = callPackage ./foo.nix { };\nlibbar = callPackage ./bar.nix { };\n};\n```\nIf the `libbar` function expects an argument named `libfoo`, it is\nautomatically passed as an argument. Overrides or missing\narguments can be supplied in `args`, e.g.\n```nix\nlibbar = callPackage ./bar.nix {\nlibfoo = null;\nenableX11 = true;\n};\n```\n<!-- TODO: Apply \"Example:\" tag to the examples above -->\n\n# Type\n\n```\ncallPackageWith :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n```\n\n# Arguments\n\n- [autoArgs] \n- [fn] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":3},"path":["lib","customisation","callPackageWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.callPackagesWith","path":["lib","callPackagesWith"],"aliases":[["lib","customisation","callPackagesWith"]],"signature":"callPackagesWith :: AttrSet -> ((AttrSet -> AttrSet) | Path) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":3},"path":["lib","customisation","callPackagesWith"],"pos_type":"Attribute"}},"content":{"content":"\nLike callPackage, but for a function that returns an attribute\nset of derivations. The override function is added to the\nindividual attributes.\n\n# Type\n\n```\ncallPackagesWith :: AttrSet -> ((AttrSet -> AttrSet) | Path) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [autoArgs] \n- [fn] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":3},"path":["lib","customisation","callPackagesWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.canCleanSource","path":["lib","canCleanSource"],"aliases":[["lib","sources","canCleanSource"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":283,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":283,"column":20},"path":["lib","canCleanSource"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":283,"column":20},"path":["lib","canCleanSource"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.cartesianProductOfSets","path":["lib","cartesianProductOfSets"],"aliases":[["lib","attrsets","cartesianProductOfSets"]],"signature":"cartesianProductOfSets :: AttrSet -> [AttrSet]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":645,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":643,"column":3},"path":["lib","attrsets","cartesianProductOfSets"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the cartesian product of attribute set value combinations.\n\n# Example\n\n```nix\ncartesianProductOfSets { a = [ 1 2 ]; b = [ 10 20 ]; }\n=> [\n { a = 1; b = 10; }\n { a = 1; b = 20; }\n { a = 2; b = 10; }\n { a = 2; b = 20; }\n ]\n```\n\n# Type\n\n```\ncartesianProductOfSets :: AttrSet -> [AttrSet]\n```\n\n# Arguments\n\n- [attrsOfLists] Attribute set with attributes that are lists of values\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":643,"column":3},"path":["lib","attrsets","cartesianProductOfSets"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.catAttrs","path":["lib","catAttrs"],"aliases":[["builtins","catAttrs"],["lib","attrsets","catAttrs"]],"signature":"catAttrs :: String -> [AttrSet] -> [Any]\n","is_primop":true,"primop_meta":{"name":"catAttrs","args":["attr","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"path":["lib","attrsets","catAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nCollect each attribute named `attr` from a list of attribute\nsets. Sets that don't contain the named attribute are ignored.\n\n# Example\n\n```nix\ncatAttrs \"a\" [{a = 1;} {b = 0;} {a = 2;}]\n=> [1 2]\n```\n\n# Type\n\n```\ncatAttrs :: String -> [AttrSet] -> [Any]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"path":["lib","attrsets","catAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.checkFlag","path":["lib","checkFlag"],"aliases":[["lib","misc","checkFlag"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":15},"path":["lib","checkFlag"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":15},"path":["lib","checkFlag"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.checkListOfEnum","path":["lib","checkListOfEnum"],"aliases":[["lib","trivial","checkListOfEnum"]],"signature":"String -> List ComparableVal -> List ComparableVal -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":3},"path":["lib","trivial","checkListOfEnum"],"pos_type":"Attribute"}},"content":{"content":"\nCheck if the elements in a list are valid values from a enum, returning the identity function, or throwing an error message otherwise.\n\n# Example\n\n```nix\nlet colorVariants = [\"bright\" \"dark\" \"black\"]\nin checkListOfEnum \"color variants\" [ \"standard\" \"light\" \"dark\" ] colorVariants;\n=>\nerror: color variants: bright, black unexpected; valid ones: standard, light, dark\n```\n\n# Type\n\n```\nString -> List ComparableVal -> List ComparableVal -> a -> a\n```\n\n# Arguments\n\n- [msg] \n- [valid] \n- [given] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":3},"path":["lib","trivial","checkListOfEnum"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.checkReqs","path":["lib","checkReqs"],"aliases":[["lib","misc","checkReqs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":15},"path":["lib","checkReqs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":15},"path":["lib","checkReqs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.chooseDevOutputs","path":["lib","chooseDevOutputs"],"aliases":[["lib","attrsets","chooseDevOutputs"]],"signature":"chooseDevOutputs :: [Derivation] -> [String]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1479,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1477,"column":3},"path":["lib","attrsets","chooseDevOutputs"],"pos_type":"Attribute"}},"content":{"content":"\nPick the outputs of packages to place in `buildInputs`\n\n# Type\n\n```\nchooseDevOutputs :: [Derivation] -> [String]\n```\n\n# Arguments\n\n- [drvs] List of packages to pick `dev` outputs from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1477,"column":3},"path":["lib","attrsets","chooseDevOutputs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.cleanSource","path":["lib","cleanSource"],"aliases":[["lib","sources","cleanSource"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":63,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":63,"column":17},"path":["lib","cleanSource"],"pos_type":"Lambda"}},"content":{"content":"\nFilters a source tree removing version control files and directories using cleanSourceFilter.\n\n# Example\n\n```nix\ncleanSource ./.\n```\n\n# Arguments\n\n- [src] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":63,"column":17},"path":["lib","cleanSource"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.cleanSourceFilter","path":["lib","cleanSourceFilter"],"aliases":[["lib","sources","cleanSourceFilter"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":32,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":32,"column":23},"path":["lib","cleanSourceFilter"],"pos_type":"Lambda"}},"content":{"content":"\nA basic filter for `cleanSourceWith` that removes\ndirectories of version control system, backup files (*~)\nand some generated files.\n\n# Arguments\n\n- [name] \n- [type] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":32,"column":23},"path":["lib","cleanSourceFilter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.cleanSourceWith","path":["lib","cleanSourceWith"],"aliases":[["lib","sources","cleanSourceWith"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":90,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":90,"column":5},"path":["lib","cleanSourceWith"],"pos_type":"Lambda"}},"content":{"content":"\nLike `builtins.filterSource`, except it will compose with itself,\nallowing you to chain multiple calls together without any\nintermediate copies being put in the nix store.\n\n# Example\n\n```nix\nlib.cleanSourceWith {\n filter = f;\n src = lib.cleanSourceWith {\n filter = g;\n src = ./.;\n };\n}\n# Succeeds!\nbuiltins.filterSource f (builtins.filterSource g ./.)\n# Fails!\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":90,"column":5},"path":["lib","cleanSourceWith"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.closePropagation","path":["lib","closePropagation"],"aliases":[["lib","misc","closePropagation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"path":["lib","closePropagation"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"path":["lib","closePropagation"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.cmakeBool","path":["lib","cmakeBool"],"aliases":[["lib","strings","cmakeBool"]],"signature":"cmakeBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":3},"path":["lib","strings","cmakeBool"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<condition>={TRUE,FALSE} string that can be passed to typical\nCMake invocations.\n\n# Example\n\n```nix\ncmakeBool \"ENABLE_STATIC_LIBS\" false\n=> \"-DENABLESTATIC_LIBS:BOOL=FALSE\"\n```\n\n# Type\n\n```\ncmakeBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n```\n\n# Arguments\n\n- [condition] \n- [flag] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":3},"path":["lib","strings","cmakeBool"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.cmakeFeature","path":["lib","cmakeFeature"],"aliases":[["lib","strings","cmakeFeature"]],"signature":"cmakeFeature :: string -> string -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":3},"path":["lib","strings","cmakeFeature"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<feature>:STRING=<value> string that can be passed to typical\nCMake invocations.\nThis is the most typical usage, so it deserves a special case.\n\n# Example\n\n```nix\ncmakeFeature \"MODULES\" \"badblock\"\n=> \"-DMODULES:STRING=badblock\"\n```\n\n# Type\n\n```\ncmakeFeature :: string -> string -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n```\n\n# Arguments\n\n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":3},"path":["lib","strings","cmakeFeature"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.cmakeOptionType","path":["lib","cmakeOptionType"],"aliases":[["lib","strings","cmakeOptionType"]],"signature":"cmakeOptionType :: string -> string -> string -> string\n @param feature The feature to be set\n @param type The type of the feature to be set, as described in\n https://cmake.org/cmake/help/latest/command/set.html\n the possible values (case insensitive) are:\n BOOL FILEPATH PATH STRING INTERNAL\n @param value The desired value\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":3},"path":["lib","strings","cmakeOptionType"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a \"-D<feature>:<type>=<value>\" string that can be passed to typical\nCMake invocations.\n\n# Example\n\n```nix\ncmakeOptionType \"string\" \"ENGINE\" \"sdl2\"\n=> \"-DENGINE:STRING=sdl2\"\n```\n\n# Type\n\n```\ncmakeOptionType :: string -> string -> string -> string\n @param feature The feature to be set\n @param type The type of the feature to be set, as described in\n https://cmake.org/cmake/help/latest/command/set.html\n the possible values (case insensitive) are:\n BOOL FILEPATH PATH STRING INTERNAL\n @param value The desired value\n```\n\n# Arguments\n\n- [type] \n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":3},"path":["lib","strings","cmakeOptionType"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.collect","path":["lib","collect"],"aliases":[["lib","attrsets","collect"]],"signature":"collect :: (AttrSet -> Bool) -> AttrSet -> [x]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":607,"column":3},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":605,"column":3},"path":["lib","attrsets","collect"],"pos_type":"Attribute"}},"content":{"content":"\nRecursively collect sets that verify a given predicate named `pred`\nfrom the set `attrs`. The recursion is stopped when the predicate is\nverified.\n\n# Example\n\n```nix\ncollect isList { a = { b = [\"b\"]; }; c = [1]; }\n=> [[\"b\"] [1]]\ncollect (x: x ? outPath)\n { a = { outPath = \"a/\"; }; b = { outPath = \"b/\"; }; }\n=> [{ outPath = \"a/\"; } { outPath = \"b/\"; }]\n```\n\n# Type\n\n```\ncollect :: (AttrSet -> Bool) -> AttrSet -> [x]\n```\n\n# Arguments\n\n- [pred] Given an attribute's value, determine if recursion should stop.\n- [attrs] The attribute set to recursively collect.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":605,"column":3},"path":["lib","attrsets","collect"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.commitIdFromGitRepo","path":["lib","commitIdFromGitRepo"],"aliases":[["lib","sources","commitIdFromGitRepo"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":220,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":220,"column":25},"path":["lib","commitIdFromGitRepo"],"pos_type":"Lambda"}},"content":{"content":"\nGet the commit id of a git repo.\n\n# Example\n\n```nix\ncommitIdFromGitRepo <nixpkgs/.git>\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":220,"column":25},"path":["lib","commitIdFromGitRepo"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.compare","path":["lib","compare"],"aliases":[["lib","trivial","compare"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":3},"path":["lib","trivial","compare"],"pos_type":"Attribute"}},"content":{"content":"\nC-style comparisons\na < b, compare a b => -1\na == b, compare a b => 0\na > b, compare a b => 1\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":3},"path":["lib","trivial","compare"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.compareLists","path":["lib","compareLists"],"aliases":[["lib","lists","compareLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":3},"path":["lib","lists","compareLists"],"pos_type":"Attribute"}},"content":{"content":"\nCompare two lists element-by-element.\n\n# Example\n\n```nix\ncompareLists compare [] []\n=> 0\ncompareLists compare [] [ \"a\" ]\n=> -1\ncompareLists compare [ \"a\" ] []\n=> 1\ncompareLists compare [ \"a\" \"b\" ] [ \"a\" \"c\" ]\n=> -1\n```\n\n# Arguments\n\n- [cmp] \n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":3},"path":["lib","lists","compareLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.composeExtensions","path":["lib","composeExtensions"],"aliases":[["lib","fixedPoints","composeExtensions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":168,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":167,"column":3},"path":["lib","fixedPoints","composeExtensions"],"pos_type":"Attribute"}},"content":{"content":"\nCompose two extending functions of the type expected by 'extends'\ninto one where changes made in the first are available in the\n'super' of the second\n\n# Arguments\n\n- [f] \n- [g] \n- [final] \n- [prev] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":167,"column":3},"path":["lib","fixedPoints","composeExtensions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.composeManyExtensions","path":["lib","composeManyExtensions"],"aliases":[["lib","fixedPoints","composeManyExtensions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":20},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":182,"column":3},"path":["lib","fixedPoints","composeManyExtensions"],"pos_type":"Attribute"}},"content":{"content":"\nCompose several extending functions of the type expected by 'extends' into\none where changes made in preceding functions are made available to\nsubsequent ones.\n```\ncomposeManyExtensions : [packageSet -> packageSet -> packageSet] -> packageSet -> packageSet -> packageSet\n^final ^prev ^overrides ^final ^prev ^overrides\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":182,"column":3},"path":["lib","fixedPoints","composeManyExtensions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concat","path":["lib","concat"],"aliases":[["lib","trivial","concat"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":3},"path":["lib","trivial","concat"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":3},"path":["lib","trivial","concat"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatImapStrings","path":["lib","concatImapStrings"],"aliases":[["lib","strings","concatImapStrings"]],"signature":"concatImapStrings :: (int -> a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":3},"path":["lib","strings","concatImapStrings"],"pos_type":"Attribute"}},"content":{"content":"\nLike `concatMapStrings` except that the f functions also gets the\nposition as a parameter.\n\n# Example\n\n```nix\nconcatImapStrings (pos: x: \"${toString pos}-${x}\") [\"foo\" \"bar\"]\n=> \"1-foo2-bar\"\n```\n\n# Type\n\n```\nconcatImapStrings :: (int -> a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":3},"path":["lib","strings","concatImapStrings"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatImapStringsSep","path":["lib","concatImapStringsSep"],"aliases":[["lib","strings","concatImapStringsSep"]],"signature":"concatIMapStringsSep :: string -> (int -> a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":220,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":218,"column":3},"path":["lib","strings","concatImapStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nSame as `concatMapStringsSep`, but the mapping function\nadditionally receives the position of its argument.\n\n# Example\n\n```nix\nconcatImapStringsSep \"-\" (pos: x: toString (x / pos)) [ 6 6 6 ]\n=> \"6-3-2\"\n```\n\n# Type\n\n```\nconcatIMapStringsSep :: string -> (int -> a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [sep] Separator to add between elements\n- [f] Function that receives elements and their positions\n- [list] List of input strings\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":218,"column":3},"path":["lib","strings","concatImapStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatLines","path":["lib","concatLines"],"aliases":[["lib","strings","concatLines"]],"signature":"concatLines :: [string] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":25},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":243,"column":3},"path":["lib","strings","concatLines"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings, adding a newline at the end of each one.\nDefined as `concatMapStrings (s: s + \"\\n\")`.\n\n# Example\n\n```nix\nconcatLines [ \"foo\" \"bar\" ]\n=> \"foo\\nbar\\n\"\n```\n\n# Type\n\n```\nconcatLines :: [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":243,"column":3},"path":["lib","strings","concatLines"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatLists","path":["lib","concatLists"],"aliases":[["builtins","concatLists"],["lib","lists","concatLists"]],"signature":null,"is_primop":true,"primop_meta":{"name":"concatLists","args":["lists"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","concatLists"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate a list of lists into a single list.\n","source":{"position":null,"path":["lib","concatLists"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.concatMap","path":["lib","concatMap"],"aliases":[["builtins","concatMap"],["lib","lists","concatMap"]],"signature":"concatMap :: (a -> [b]) -> [a] -> [b]\n","is_primop":true,"primop_meta":{"name":"concatMap","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"path":["lib","lists","concatMap"],"pos_type":"Attribute"}},"content":{"content":"\nMap and concatenate the result.\n\n# Example\n\n```nix\nconcatMap (x: [x] ++ [\"z\"]) [\"a\" \"b\"]\n=> [ \"a\" \"z\" \"b\" \"z\" ]\n```\n\n# Type\n\n```\nconcatMap :: (a -> [b]) -> [a] -> [b]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"path":["lib","lists","concatMap"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatMapAttrs","path":["lib","concatMapAttrs"],"aliases":[["lib","attrsets","concatMapAttrs"]],"signature":"concatMapAttrs :: (String -> a -> AttrSet) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":3},"path":["lib","attrsets","concatMapAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMap each attribute in the given set and merge them into a new attribute set.\n\n# Example\n\n```nix\nconcatMapAttrs\n (name: value: {\n ${name} = value;\n ${name + value} = value;\n })\n { x = \"a\"; y = \"b\"; }\n=> { x = \"a\"; xa = \"a\"; y = \"b\"; yb = \"b\"; }\n```\n\n# Type\n\n```\nconcatMapAttrs :: (String -> a -> AttrSet) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [f] \n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":3},"path":["lib","attrsets","concatMapAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatMapStrings","path":["lib","concatMapStrings"],"aliases":[["lib","strings","concatMapStrings"]],"signature":"concatMapStrings :: (a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":3},"path":["lib","strings","concatMapStrings"],"pos_type":"Attribute"}},"content":{"content":"\nMap a function over a list and concatenate the resulting strings.\n\n# Example\n\n```nix\nconcatMapStrings (x: \"a\" + x) [\"foo\" \"bar\"]\n=> \"afooabar\"\n```\n\n# Type\n\n```\nconcatMapStrings :: (a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":3},"path":["lib","strings","concatMapStrings"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatMapStringsSep","path":["lib","concatMapStringsSep"],"aliases":[["lib","strings","concatMapStringsSep"]],"signature":"concatMapStringsSep :: string -> (a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":188,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":186,"column":3},"path":["lib","strings","concatMapStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nMaps a function over a list of strings and then concatenates the\nresult with the specified separator interspersed between\nelements.\n\n# Example\n\n```nix\nconcatMapStringsSep \"-\" (x: toUpper x) [\"foo\" \"bar\" \"baz\"]\n=> \"FOO-BAR-BAZ\"\n```\n\n# Type\n\n```\nconcatMapStringsSep :: string -> (a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [sep] Separator to add between elements\n- [f] Function to map over the list\n- [list] List of input strings\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":186,"column":3},"path":["lib","strings","concatMapStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatStrings","path":["lib","concatStrings"],"aliases":[["lib","strings","concatStrings"]],"signature":"concatStrings :: [string] -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":60,"column":3},"path":["lib","strings","concatStrings"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings.\n\n# Example\n\n```nix\nconcatStrings [\"foo\" \"bar\"]\n=> \"foobar\"\n```\n\n# Type\n\n```\nconcatStrings :: [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":60,"column":3},"path":["lib","strings","concatStrings"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.concatStringsSep","path":["lib","concatStringsSep"],"aliases":[["builtins","concatStringsSep"],["lib","strings","concatStringsSep"]],"signature":"concatStringsSep :: string -> [string] -> string\n","is_primop":true,"primop_meta":{"name":"concatStringsSep","args":["separator","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"path":["lib","strings","concatStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings with a separator between each element\n\n# Example\n\n```nix\nconcatStringsSep \"/\" [\"usr\" \"local\" \"bin\"]\n=> \"usr/local/bin\"\n```\n\n# Type\n\n```\nconcatStringsSep :: string -> [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"path":["lib","strings","concatStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.condConcat","path":["lib","condConcat"],"aliases":[["lib","misc","condConcat"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":16},"path":["lib","condConcat"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":16},"path":["lib","condConcat"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.const","path":["lib","const"],"aliases":[["lib","trivial","const"]],"signature":"const :: a -> b -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":52,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":50,"column":3},"path":["lib","trivial","const"],"pos_type":"Attribute"}},"content":{"content":"\nThe constant function\nIgnores the second argument. If called with only one argument,\nconstructs a function that always returns a static value.\n\n# Example\n\n```nix\nlet f = const 5; in f 10\n=> 5\n```\n\n# Type\n\n```\nconst :: a -> b -> a\n```\n\n# Arguments\n\n- [x] Value to return\n- [y] Value to ignore\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":50,"column":3},"path":["lib","trivial","const"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.converge","path":["lib","converge"],"aliases":[["lib","fixedPoints","converge"]],"signature":"(a -> a) -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":3},"path":["lib","fixedPoints","converge"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the fixpoint that `f` converges to when called iteratively, starting\nwith the input `x`.\n```\nnix-repl> converge (x: x / 2) 16\n0\n```\n\n# Type\n\n```\n(a -> a) -> a -> a\n```\n\n# Arguments\n\n- [f] \n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":3},"path":["lib","fixedPoints","converge"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.count","path":["lib","count"],"aliases":[["lib","lists","count"]],"signature":"count :: (a -> bool) -> [a] -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":547,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":545,"column":3},"path":["lib","lists","count"],"pos_type":"Attribute"}},"content":{"content":"\nCount how many elements of `list` match the supplied predicate\nfunction.\n\n# Example\n\n```nix\ncount (x: x == 3) [ 3 2 3 4 6 ]\n=> 2\n```\n\n# Type\n\n```\ncount :: (a -> bool) -> [a] -> int\n```\n\n# Arguments\n\n- [pred] Predicate\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":545,"column":3},"path":["lib","lists","count"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.crossLists","path":["lib","crossLists"],"aliases":[["lib","lists","crossLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1279,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1277,"column":3},"path":["lib","lists","crossLists"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the image of the cross product of some lists by a function.\n\n# Example\n\n```nix\ncrossLists (x:y: \"${toString x}${toString y}\") [[1 2] [3 4]]\n=> [ \"13\" \"14\" \"23\" \"24\" ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1277,"column":3},"path":["lib","lists","crossLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.deepSeq","path":["lib","deepSeq"],"aliases":[["builtins","deepSeq"],["lib","trivial","deepSeq"]],"signature":null,"is_primop":true,"primop_meta":{"name":"deepSeq","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","deepSeq"],"pos_type":"Lambda"}},"content":{"content":"\nThis is like `seq e1 e2`, except that *e1* is evaluated *deeply*:\nif its a list or set, its elements or attributes are also\nevaluated recursively.\n","source":{"position":null,"path":["lib","deepSeq"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.defaultFunctor","path":["lib","defaultFunctor"],"aliases":[["lib","types","defaultFunctor"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":149,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":20},"path":["lib","defaultFunctor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":20},"path":["lib","defaultFunctor"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.defaultMerge","path":["lib","defaultMerge"],"aliases":[["lib","misc","defaultMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":18},"path":["lib","defaultMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":18},"path":["lib","defaultMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.defaultMergeArg","path":["lib","defaultMergeArg"],"aliases":[["lib","misc","defaultMergeArg"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":21},"path":["lib","defaultMergeArg"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":21},"path":["lib","defaultMergeArg"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.defaultTypeMerge","path":["lib","defaultTypeMerge"],"aliases":[["lib","types","defaultTypeMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":149,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":22},"path":["lib","defaultTypeMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":22},"path":["lib","defaultTypeMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.dischargeProperties","path":["lib","dischargeProperties"],"aliases":[["lib","modules","dischargeProperties"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":942,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":942,"column":25},"path":["lib","dischargeProperties"],"pos_type":"Lambda"}},"content":{"content":"\nGiven a config value, expand mkMerge properties, and discharge\nany mkIf conditions. That is, this is the place where mkIf\nconditions are actually evaluated. The result is a list of\nconfig values. For example, mkIf false x yields [],\nmkIf true x yields [x], and\nmkMerge [ 1 (mkIf true 2) (mkIf true (mkIf false 3)) ]\nyields [ 1 2 ].\n\n# Arguments\n\n- [def] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":942,"column":25},"path":["lib","dischargeProperties"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.doRename","path":["lib","doRename"],"aliases":[["lib","modules","doRename"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1370,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1370,"column":14},"path":["lib","doRename"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1370,"column":14},"path":["lib","doRename"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.dontDistribute","path":["lib","dontDistribute"],"aliases":[["lib","meta","dontDistribute"],["pkgs","haskell","lib","dontDistribute"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":3},"path":["lib","meta","dontDistribute"],"pos_type":"Attribute"}},"content":{"content":"\nDisable Hydra builds of given derivation.\n\n# Arguments\n\n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":3},"path":["lib","meta","dontDistribute"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.dontRecurseIntoAttrs","path":["lib","dontRecurseIntoAttrs"],"aliases":[["lib","attrsets","dontRecurseIntoAttrs"],["pkgs","dontRecurseIntoAttrs"]],"signature":"dontRecurseIntoAttrs :: AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1531,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"path":["lib","attrsets","dontRecurseIntoAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nUndo the effect of recurseIntoAttrs.\n\n# Type\n\n```\ndontRecurseIntoAttrs :: AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [attrs] An attribute set to not scan for derivations.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"path":["lib","attrsets","dontRecurseIntoAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.drop","path":["lib","drop"],"aliases":[["lib","lists","drop"]],"signature":"drop :: int -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1068,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1066,"column":3},"path":["lib","lists","drop"],"pos_type":"Attribute"}},"content":{"content":"\nRemove the first (at most) N elements of a list.\n\n# Example\n\n```nix\ndrop 2 [ \"a\" \"b\" \"c\" \"d\" ]\n=> [ \"c\" \"d\" ]\ndrop 2 [ ]\n=> [ ]\n```\n\n# Type\n\n```\ndrop :: int -> [a] -> [a]\n```\n\n# Arguments\n\n- [count] Number of elements to drop\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1066,"column":3},"path":["lib","lists","drop"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.elem","path":["lib","elem"],"aliases":[["builtins","elem"],["lib","lists","elem"],["lib","strings","elem"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elem","args":["x","xs"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","elem"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if a value equal to *x* occurs in the list *xs*, and\n`false` otherwise.\n","source":{"position":null,"path":["lib","elem"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.elemAt","path":["lib","elemAt"],"aliases":[["builtins","elemAt"],["lib","lists","elemAt"],["lib","strings","elemAt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elemAt","args":["xs","n"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","elemAt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn element *n* from the list *xs*. Elements are counted starting\nfrom 0. A fatal error occurs if the index is out of bounds.\n","source":{"position":null,"path":["lib","elemAt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.enableFeature","path":["lib","enableFeature"],"aliases":[["lib","strings","enableFeature"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":3},"path":["lib","strings","enableFeature"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{enable,disable}-<feature> string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nenableFeature true \"shared\"\n=> \"--enable-shared\"\nenableFeature false \"shared\"\n=> \"--disable-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":3},"path":["lib","strings","enableFeature"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.enableFeatureAs","path":["lib","enableFeatureAs"],"aliases":[["lib","strings","enableFeatureAs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":3},"path":["lib","strings","enableFeatureAs"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{enable-<feature>=<value>,disable-<feature>} string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nenableFeatureAs true \"shared\" \"foo\"\n=> \"--enable-shared=foo\"\nenableFeatureAs false \"shared\" (throw \"ignored\")\n=> \"--disable-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":3},"path":["lib","strings","enableFeatureAs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.escape","path":["lib","escape"],"aliases":[["lib","strings","escape"]],"signature":"escape :: [string] -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":3},"path":["lib","strings","escape"],"pos_type":"Attribute"}},"content":{"content":"\nEscape occurrence of the elements of `list` in `string` by\nprefixing it with a backslash.\n\n# Example\n\n```nix\nescape [\"(\" \")\"] \"(foo)\"\n=> \"\\\\(foo\\\\)\"\n```\n\n# Type\n\n```\nescape :: [string] -> string -> string\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":3},"path":["lib","strings","escape"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.escapeRegex","path":["lib","escapeRegex"],"aliases":[["lib","strings","escapeRegex"]],"signature":"string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":902,"column":3},"path":["lib","strings","escapeRegex"],"pos_type":"Attribute"}},"content":{"content":"\nTurn a string into an exact regular expression\n\n# Example\n\n```nix\nescapeRegex \"[^a-z]*\"\n=> \"\\\\[\\\\^a-z]\\\\*\"\n```\n\n# Type\n\n```\nstring -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":902,"column":3},"path":["lib","strings","escapeRegex"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.escapeShellArg","path":["lib","escapeShellArg"],"aliases":[["lib","strings","escapeShellArg"]],"signature":"escapeShellArg :: string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":3},"path":["lib","strings","escapeShellArg"],"pos_type":"Attribute"}},"content":{"content":"\nQuote string to be used safely within the Bourne shell.\n\n# Example\n\n```nix\nescapeShellArg \"esc'ape\\nme\"\n=> \"'esc'\\\\''ape\\nme'\"\n```\n\n# Type\n\n```\nescapeShellArg :: string -> string\n```\n\n# Arguments\n\n- [arg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":3},"path":["lib","strings","escapeShellArg"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.escapeShellArgs","path":["lib","escapeShellArgs"],"aliases":[["lib","strings","escapeShellArgs"]],"signature":"escapeShellArgs :: [string] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":192,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":763,"column":3},"path":["lib","strings","escapeShellArgs"],"pos_type":"Attribute"}},"content":{"content":"\nQuote all arguments to be safely passed to the Bourne shell.\n\n# Example\n\n```nix\nescapeShellArgs [\"one\" \"two three\" \"four'five\"]\n=> \"'one' 'two three' 'four'\\\\''five'\"\n```\n\n# Type\n\n```\nescapeShellArgs :: [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":763,"column":3},"path":["lib","strings","escapeShellArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.escapeURL","path":["lib","escapeURL"],"aliases":[["lib","strings","escapeURL"]],"signature":"escapeURL :: string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":718,"column":3},"path":["lib","strings","escapeURL"],"pos_type":"Attribute"}},"content":{"content":"\nEscape the string so it can be safely placed inside a URL\nquery.\n\n# Example\n\n```nix\nescapeURL \"foo/bar baz\"\n=> \"foo%2Fbar%20baz\"\n```\n\n# Type\n\n```\nescapeURL :: string -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":718,"column":3},"path":["lib","strings","escapeURL"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.escapeXML","path":["lib","escapeXML"],"aliases":[["lib","strings","escapeXML"]],"signature":"string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":949,"column":3},"path":["lib","strings","escapeXML"],"pos_type":"Attribute"}},"content":{"content":"\nEscapes a string such that it is safe to include verbatim in an XML\ndocument.\n\n# Example\n\n```nix\nescapeXML ''\"test\" 'test' < & >''\n=> \"&quot;test&quot; &apos;test&apos; &lt; &amp; &gt;\"\n```\n\n# Type\n\n```\nstring -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":949,"column":3},"path":["lib","strings","escapeXML"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.evalModules","path":["lib","evalModules"],"aliases":[["lib","modules","evalModules"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":78,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":78,"column":17},"path":["lib","evalModules"],"pos_type":"Lambda"}},"content":{"content":"\nSee https://nixos.org/manual/nixpkgs/unstable/#module-system-lib-evalModules\nor file://./../doc/module-system/module-system.chapter.md\n!!! Please think twice before adding to this argument list! The more\nthat is specified here instead of in the modules themselves the harder\nit is to transparently move a set of modules to be a submodule of another\nconfig (as the proper arguments need to be replicated at each call to\nevalModules) and the less declarative the module set is.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":78,"column":17},"path":["lib","evalModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.evalOptionValue","path":["lib","evalOptionValue"],"aliases":[["lib","modules","evalOptionValue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":820,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":820,"column":21},"path":["lib","evalOptionValue"],"pos_type":"Lambda"}},"content":{"content":"\nMerge all the definitions of an option to produce the final\nconfig value.\n\n# Arguments\n\n- [loc] \n- [opt] \n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":820,"column":21},"path":["lib","evalOptionValue"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.extend","path":["lib","extend"],"aliases":[["pkgs","extend"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":213,"column":7},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":213,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":213,"column":25},"path":["lib","extend"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":213,"column":25},"path":["lib","extend"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.extendDerivation","path":["lib","extendDerivation"],"aliases":[["lib","customisation","extendDerivation"]],"signature":"extendDerivation :: Bool -> Any -> Derivation -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":3},"path":["lib","customisation","extendDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nAdd attributes to each output of a derivation without changing\nthe derivation itself and check a given condition when evaluating.\n\n# Type\n\n```\nextendDerivation :: Bool -> Any -> Derivation -> Derivation\n```\n\n# Arguments\n\n- [condition] \n- [passthru] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":3},"path":["lib","customisation","extendDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.extends","path":["lib","extends"],"aliases":[["lib","fixedPoints","extends"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":3},"path":["lib","fixedPoints","extends"],"pos_type":"Attribute"}},"content":{"content":"\nModify the contents of an explicitly recursive attribute set in a way that\nhonors `self`-references. This is accomplished with a function\n```nix\ng = self: super: { foo = super.foo + \" + \"; }\n```\nthat has access to the unmodified input (`super`) as well as the final\nnon-recursive representation of the attribute set (`self`). `extends`\ndiffers from the native `//` operator insofar as that it's applied *before*\nreferences to `self` are resolved:\n```\nnix-repl> fix (extends g f)\n{ bar = \"bar\"; foo = \"foo + \"; foobar = \"foo + bar\"; }\n```\nThe name of the function is inspired by object-oriented inheritance, i.e.\nthink of it as an infix operator `g extends f` that mimics the syntax from\nJava. It may seem counter-intuitive to have the \"base class\" as the second\nargument, but it's nice this way if several uses of `extends` are cascaded.\nTo get a better understanding how `extends` turns a function with a fix\npoint (the package set we start with) into a new function with a different fix\npoint (the desired packages set) lets just see, how `extends g f`\nunfolds with `g` and `f` defined above:\n```\nextends g f = self: let super = f self; in super // g self super;\n= self: let super = { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; }; in super // g self super\n= self: { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; } // g self { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; }\n= self: { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; } // { foo = \"foo\" + \" + \"; }\n= self: { foo = \"foo + \"; bar = \"bar\"; foobar = self.foo + self.bar; }\n```\n\n# Arguments\n\n- [f] \n- [rattrs] \n- [self] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":3},"path":["lib","fixedPoints","extends"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileContents","path":["lib","fileContents"],"aliases":[["lib","strings","fileContents"]],"signature":"fileContents :: path -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":3},"path":["lib","strings","fileContents"],"pos_type":"Attribute"}},"content":{"content":"\nRead the contents of a file removing the trailing \\n\n\n# Example\n\n```nix\n$ echo \"1.0\" > ./version\nfileContents ./version\n=> \"1.0\"\n```\n\n# Type\n\n```\nfileContents :: path -> string\n```\n\n# Arguments\n\n- [file] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":3},"path":["lib","strings","fileContents"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filter","path":["lib","filter"],"aliases":[["builtins","filter"],["lib","lists","filter"],["lib","strings","filter"]],"signature":null,"is_primop":true,"primop_meta":{"name":"filter","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","filter"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a list consisting of the elements of *list* for which the\nfunction *f* returns `true`.\n","source":{"position":null,"path":["lib","filter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.filterAttrs","path":["lib","filterAttrs"],"aliases":[["lib","attrsets","filterAttrs"]],"signature":"filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":427,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":425,"column":3},"path":["lib","attrsets","filterAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nFilter an attribute set by removing all attributes for which the\ngiven predicate return false.\n\n# Example\n\n```nix\nfilterAttrs (n: v: n == \"foo\") { foo = 1; bar = 2; }\n=> { foo = 1; }\n```\n\n# Type\n\n```\nfilterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [pred] Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute.\n- [set] The attribute set to filter\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":425,"column":3},"path":["lib","attrsets","filterAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filterAttrsRecursive","path":["lib","filterAttrsRecursive"],"aliases":[["lib","attrsets","filterAttrsRecursive"]],"signature":"filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":458,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":456,"column":3},"path":["lib","attrsets","filterAttrsRecursive"],"pos_type":"Attribute"}},"content":{"content":"\nFilter an attribute set recursively by removing all attributes for\nwhich the given predicate return false.\n\n# Example\n\n```nix\nfilterAttrsRecursive (n: v: v != null) { foo = { bar = null; }; }\n=> { foo = {}; }\n```\n\n# Type\n\n```\nfilterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [pred] Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute.\n- [set] The attribute set to filter\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":456,"column":3},"path":["lib","attrsets","filterAttrsRecursive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filterOverrides","path":["lib","filterOverrides"],"aliases":[["lib","modules","filterOverrides"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":977,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":977,"column":21},"path":["lib","filterOverrides"],"pos_type":"Lambda"}},"content":{"content":"\nGiven a list of config values, process the mkOverride properties,\nthat is, return the values that have the highest (that is,\nnumerically lowest) priority, and strip the mkOverride\nproperties. For example,\n[ { file = \"/1\"; value = mkOverride 10 \"a\"; }\n{ file = \"/2\"; value = mkOverride 20 \"b\"; }\n{ file = \"/3\"; value = \"z\"; }\n{ file = \"/4\"; value = mkOverride 10 \"d\"; }\n]\nyields\n[ { file = \"/1\"; value = \"a\"; }\n{ file = \"/4\"; value = \"d\"; }\n]\nNote that \"z\" has the default priority 100.\n\n# Arguments\n\n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":977,"column":21},"path":["lib","filterOverrides"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.findFirst","path":["lib","findFirst"],"aliases":[["lib","lists","findFirst"]],"signature":"findFirst :: (a -> bool) -> a -> [a] -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":468,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":466,"column":3},"path":["lib","lists","findFirst"],"pos_type":"Attribute"}},"content":{"content":"\nFind the first element in the list matching the specified\npredicate or return `default` if no such element exists.\n\n# Example\n\n```nix\nfindFirst (x: x > 3) 7 [ 1 6 4 ]\n=> 6\nfindFirst (x: x > 9) 7 [ 1 6 4 ]\n=> 7\n```\n\n# Type\n\n```\nfindFirst :: (a -> bool) -> a -> [a] -> a\n```\n\n# Arguments\n\n- [pred] Predicate\n- [default] Default value to return\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":466,"column":3},"path":["lib","lists","findFirst"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.findSingle","path":["lib","findSingle"],"aliases":[["lib","lists","findSingle"]],"signature":"findSingle :: (a -> bool) -> a -> a -> [a] -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":362,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":360,"column":3},"path":["lib","lists","findSingle"],"pos_type":"Attribute"}},"content":{"content":"\nFind the sole element in the list matching the specified\npredicate, returns `default` if no such element exists, or\n`multiple` if there are multiple matching elements.\n\n# Example\n\n```nix\nfindSingle (x: x == 3) \"none\" \"multiple\" [ 1 3 3 ]\n=> \"multiple\"\nfindSingle (x: x == 3) \"none\" \"multiple\" [ 1 3 ]\n=> 3\nfindSingle (x: x == 3) \"none\" \"multiple\" [ 1 9 ]\n=> \"none\"\n```\n\n# Type\n\n```\nfindSingle :: (a -> bool) -> a -> a -> [a] -> a\n```\n\n# Arguments\n\n- [pred] Predicate\n- [default] Default value to return if element was not found.\n- [multiple] Default value to return if more than one element was found\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":360,"column":3},"path":["lib","lists","findSingle"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fix","path":["lib","fix"],"aliases":[["lib","fixedPoints","fix"]],"signature":"fix :: (a -> a) -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":3},"path":["lib","fixedPoints","fix"],"pos_type":"Attribute"}},"content":{"content":"\n`fix f` computes the fixed point of the given function `f`. In other words, the return value is `x` in `x = f x`.\n`f` must be a lazy function.\nThis means that `x` must be a value that can be partially evaluated,\nsuch as an attribute set, a list, or a function.\nThis way, `f` can use one part of `x` to compute another part.\n**Relation to syntactic recursion**\nThis section explains `fix` by refactoring from syntactic recursion to a call of `fix` instead.\nFor context, Nix lets you define attributes in terms of other attributes syntactically using the [`rec { }` syntax](https://nixos.org/manual/nix/stable/language/constructs.html#recursive-sets).\n```nix\nnix-repl> rec {\nfoo = \"foo\";\nbar = \"bar\";\nfoobar = foo + bar;\n}\n{ bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\n```\nThis is convenient when constructing a value to pass to a function for example,\nbut an equivalent effect can be achieved with the `let` binding syntax:\n```nix\nnix-repl> let self = {\nfoo = \"foo\";\nbar = \"bar\";\nfoobar = self.foo + self.bar;\n}; in self\n{ bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\n```\nBut in general you can get more reuse out of `let` bindings by refactoring them to a function.\n```nix\nnix-repl> f = self: {\nfoo = \"foo\";\nbar = \"bar\";\nfoobar = self.foo + self.bar;\n}\n```\nThis is where `fix` comes in, it contains the syntactic recursion that's not in `f` anymore.\n```nix\nnix-repl> fix = f:\nlet self = f self; in self;\n```\nBy applying `fix` we get the final result.\n```nix\nnix-repl> fix f\n{ bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\n```\nSuch a refactored `f` using `fix` is not useful by itself.\nSee [`extends`](#function-library-lib.fixedPoints.extends) for an example use case.\nThere `self` is also often called `final`.\n\n# Example\n\n```nix\nfix (self: { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; })\n=> { bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\nfix (self: [ 1 2 (elemAt self 0 + elemAt self 1) ])\n=> [ 1 2 3 ]\n```\n\n# Type\n\n```\nfix :: (a -> a) -> a\n```\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":3},"path":["lib","fixedPoints","fix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fix' (Prime)","path":["lib","fix'"],"aliases":[["lib","fixedPoints","fix'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":3},"path":["lib","fixedPoints","fix'"],"pos_type":"Attribute"}},"content":{"content":"\nA variant of `fix` that records the original recursive attribute set in the\nresult, in an attribute named `__unfix__`.\nThis is useful in combination with the `extends` function to\nimplement deep overriding.\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":3},"path":["lib","fixedPoints","fix'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixMergeModules","path":["lib","fixMergeModules"],"aliases":[["lib","modules","fixMergeModules"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1154,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1154,"column":21},"path":["lib","fixMergeModules"],"pos_type":"Lambda"}},"content":{"content":"\nCompatibility.\n\n# Arguments\n\n- [modules] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1154,"column":21},"path":["lib","fixMergeModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.fixedWidthNumber","path":["lib","fixedWidthNumber"],"aliases":[["lib","strings","fixedWidthNumber"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":3},"path":["lib","strings","fixedWidthNumber"],"pos_type":"Attribute"}},"content":{"content":"\nFormat a number adding leading zeroes up to fixed width.\n\n# Example\n\n```nix\nfixedWidthNumber 5 15\n=> \"00015\"\n```\n\n# Arguments\n\n- [width] \n- [n] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":3},"path":["lib","strings","fixedWidthNumber"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedWidthString","path":["lib","fixedWidthString"],"aliases":[["lib","strings","fixedWidthString"]],"signature":"fixedWidthString :: int -> string -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":3},"path":["lib","strings","fixedWidthString"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a fixed width string with additional prefix to match\nrequired width.\nThis function will fail if the input string is longer than the\nrequested length.\n\n# Example\n\n```nix\nfixedWidthString 5 \"0\" (toString 15)\n=> \"00015\"\n```\n\n# Type\n\n```\nfixedWidthString :: int -> string -> string -> string\n```\n\n# Arguments\n\n- [width] \n- [filler] \n- [str] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":3},"path":["lib","strings","fixedWidthString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixupOptionType","path":["lib","fixupOptionType"],"aliases":[["lib","modules","fixupOptionType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1012,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1012,"column":21},"path":["lib","fixupOptionType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1012,"column":21},"path":["lib","fixupOptionType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.flatten","path":["lib","flatten"],"aliases":[["lib","lists","flatten"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":3},"path":["lib","lists","flatten"],"pos_type":"Attribute"}},"content":{"content":"\nFlatten the argument into a single list; that is, nested lists are\nspliced into the top-level lists.\n\n# Example\n\n```nix\nflatten [1 [2 [3] 4] 5]\n=> [1 2 3 4 5]\nflatten 1\n=> [1]\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":3},"path":["lib","lists","flatten"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.flip","path":["lib","flip"],"aliases":[["lib","trivial","flip"]],"signature":"flip :: (a -> b -> c) -> (b -> a -> c)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":3},"path":["lib","trivial","flip"],"pos_type":"Attribute"}},"content":{"content":"\nFlip the order of the arguments of a binary function.\n\n# Example\n\n```nix\nflip concat [1] [2]\n=> [ 2 1 ]\n```\n\n# Type\n\n```\nflip :: (a -> b -> c) -> (b -> a -> c)\n```\n\n# Arguments\n\n- [f] \n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":3},"path":["lib","trivial","flip"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fold","path":["lib","fold"],"aliases":[["lib","lists","fold"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":108,"column":3},"path":["lib","lists","fold"],"pos_type":"Attribute"}},"content":{"content":"\n`fold` is an alias of `foldr` for historic reasons\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":108,"column":3},"path":["lib","lists","fold"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.foldArgs","path":["lib","foldArgs"],"aliases":[["lib","misc","foldArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":14},"path":["lib","foldArgs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":14},"path":["lib","foldArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.foldAttrs","path":["lib","foldAttrs"],"aliases":[["lib","attrsets","foldAttrs"]],"signature":"foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":566,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":564,"column":3},"path":["lib","attrsets","foldAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nApply fold functions to values grouped by key.\n\n# Example\n\n```nix\nfoldAttrs (item: acc: [item] ++ acc) [] [{ a = 2; } { a = 3; }]\n=> { a = [ 2 3 ]; }\n```\n\n# Type\n\n```\nfoldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any\n```\n\n# Arguments\n\n- [op] A function, given a value and a collector combines the two.\n- [nul] The starting value.\n- [list_of_attrs] A list of attribute sets to fold together by key.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":564,"column":3},"path":["lib","attrsets","foldAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.foldl","path":["lib","foldl"],"aliases":[["lib","lists","foldl"]],"signature":"foldl :: (b -> a -> b) -> b -> [a] -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":3},"path":["lib","lists","foldl"],"pos_type":"Attribute"}},"content":{"content":"\n“left fold”, like `foldr`, but from the left:\n`foldl op nul [x_1 x_2 ... x_n] == op (... (op (op nul x_1) x_2) ... x_n)`.\n\n# Example\n\n```nix\nlconcat = foldl (a: b: a + b) \"z\"\nlconcat [ \"a\" \"b\" \"c\" ]\n=> \"zabc\"\n# different types\nlstrange = foldl (str: int: str + toString (int + 1)) \"a\"\nlstrange [ 1 2 3 4 ]\n=> \"a2345\"\n```\n\n# Type\n\n```\nfoldl :: (b -> a -> b) -> b -> [a] -> b\n```\n\n# Arguments\n\n- [op] \n- [nul] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":3},"path":["lib","lists","foldl"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.foldl' (Prime)","path":["lib","foldl'"],"aliases":[["lib","lists","foldl'"]],"signature":"foldl' :: (acc -> x -> acc) -> acc -> [x] -> acc\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":204,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":198,"column":3},"path":["lib","lists","foldl'"],"pos_type":"Attribute"}},"content":{"content":"\nReduce a list by applying a binary operator from left to right,\nstarting with an initial accumulator.\nBefore each application of the operator, the accumulator value is evaluated.\nThis behavior makes this function stricter than [`foldl`](#function-library-lib.lists.foldl).\nUnlike [`builtins.foldl'`](https://nixos.org/manual/nix/unstable/language/builtins.html#builtins-foldl'),\nthe initial accumulator argument is evaluated before the first iteration.\nA call like\n```nix\nfoldl' op acc₀ [ x₀ x₁ x₂ ... xₙ₋₁ xₙ ]\n```\nis (denotationally) equivalent to the following,\nbut with the added benefit that `foldl'` itself will never overflow the stack.\n```nix\nlet\nacc₁ = builtins.seq acc₀ (op acc₀ x₀ );\nacc₂ = builtins.seq acc₁ (op acc₁ x₁ );\nacc₃ = builtins.seq acc₂ (op acc₂ x₂ );\n...\naccₙ = builtins.seq accₙ₋₁ (op accₙ₋₁ xₙ₋₁);\naccₙ₊₁ = builtins.seq accₙ (op accₙ xₙ );\nin\naccₙ₊₁\n# Or ignoring builtins.seq\nop (op (... (op (op (op acc₀ x₀) x₁) x₂) ...) xₙ₋₁) xₙ\n```\n\n# Example\n\n```nix\nfoldl' (acc: x: acc + x) 0 [1 2 3]\n=> 6\n```\n\n# Type\n\n```\nfoldl' :: (acc -> x -> acc) -> acc -> [x] -> acc\n```\n\n# Arguments\n\n- [op] The binary operation to run, where the two arguments are: \n 1. `acc`: The current accumulator value: Either the initial one for the first iteration, or the result of the previous iteration\n 2. `x`: The corresponding list element for this iteration\n\n- [acc] The initial accumulator value\n- [list] The list to fold\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":198,"column":3},"path":["lib","lists","foldl'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.foldlAttrs","path":["lib","foldlAttrs"],"aliases":[["lib","attrsets","foldlAttrs"]],"signature":"foldlAttrs :: ( a -> String -> b -> a ) -> a -> { ... :: b } -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":3},"path":["lib","attrsets","foldlAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nLike [`lib.lists.foldl'`](#function-library-lib.lists.foldl-prime) but for attribute sets.\nIterates over every name-value pair in the given attribute set.\nThe result of the callback function is often called `acc` for accumulator. It is passed between callbacks from left to right and the final `acc` is the return value of `foldlAttrs`.\nAttention:\nThere is a completely different function\n`lib.foldAttrs`\nwhich has nothing to do with this function, despite the similar name.\n\n# Example\n\n```nix\nfoldlAttrs\n (acc: name: value: {\n sum = acc.sum + value;\n names = acc.names ++ [name];\n })\n { sum = 0; names = []; }\n {\n foo = 1;\n bar = 10;\n }\n->\n {\n sum = 11;\n names = [\"bar\" \"foo\"];\n }\nfoldlAttrs\n (throw \"function not needed\")\n 123\n {};\n->\n 123\nfoldlAttrs\n (acc: _: _: acc)\n 3\n { z = throw \"value not needed\"; a = throw \"value not needed\"; };\n->\n 3\nThe accumulator doesn't have to be an attrset.\nIt can be as simple as a number or string.\nfoldlAttrs\n (acc: _: v: acc * 10 + v)\n 1\n { z = 1; a = 2; };\n->\n 121\n```\n\n# Type\n\n```\nfoldlAttrs :: ( a -> String -> b -> a ) -> a -> { ... :: b } -> a\n```\n\n# Arguments\n\n- [f] \n- [init] \n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":3},"path":["lib","attrsets","foldlAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.foldr","path":["lib","foldr"],"aliases":[["lib","lists","foldr"]],"signature":"foldr :: (a -> b -> b) -> b -> [a] -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":3},"path":["lib","lists","foldr"],"pos_type":"Attribute"}},"content":{"content":"\n“right fold” a binary function `op` between successive elements of\n`list` with `nul` as the starting value, i.e.,\n`foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))`.\n\n# Example\n\n```nix\nconcat = foldr (a: b: a + b) \"z\"\nconcat [ \"a\" \"b\" \"c\" ]\n=> \"abcz\"\n# different types\nstrange = foldr (int: str: toString (int + 1) + str) \"a\"\nstrange [ 1 2 3 4 ]\n=> \"2345a\"\n```\n\n# Type\n\n```\nfoldr :: (a -> b -> b) -> b -> [a] -> b\n```\n\n# Arguments\n\n- [op] \n- [nul] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":3},"path":["lib","lists","foldr"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.forEach","path":["lib","forEach"],"aliases":[["lib","lists","forEach"]],"signature":"forEach :: [a] -> (a -> b) -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":3},"path":["lib","lists","forEach"],"pos_type":"Attribute"}},"content":{"content":"\nApply the function to each element in the list. Same as `map`, but arguments\nflipped.\n\n# Example\n\n```nix\nforEach [ 1 2 ] (x:\n toString x\n)\n=> [ \"1\" \"2\" ]\n```\n\n# Type\n\n```\nforEach :: [a] -> (a -> b) -> [b]\n```\n\n# Arguments\n\n- [xs] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":3},"path":["lib","lists","forEach"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fullDepEntry","path":["lib","fullDepEntry"],"aliases":[["lib","stringsWithDeps","fullDepEntry"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":115,"column":35},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":18},"path":["lib","fullDepEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":18},"path":["lib","fullDepEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.functionArgs","path":["lib","functionArgs"],"aliases":[["lib","trivial","functionArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":3},"path":["lib","trivial","functionArgs"],"pos_type":"Attribute"}},"content":{"content":"\nExtract the expected function arguments from a function.\nThis works both with nix-native { a, b ? foo, ... }: style\nfunctions and functions with args set with 'setFunctionArgs'. It\nhas the same return type and semantics as builtins.functionArgs.\nsetFunctionArgs : (a → b) → Map String Bool.\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":3},"path":["lib","trivial","functionArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.genAttrs","path":["lib","genAttrs"],"aliases":[["lib","attrsets","genAttrs"]],"signature":"genAttrs :: [ String ] -> (String -> Any) -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":914,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":912,"column":3},"path":["lib","attrsets","genAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate an attribute set by mapping a function over a list of\nattribute names.\n\n# Example\n\n```nix\ngenAttrs [ \"foo\" \"bar\" ] (name: \"x_\" + name)\n=> { foo = \"x_foo\"; bar = \"x_bar\"; }\n```\n\n# Type\n\n```\ngenAttrs :: [ String ] -> (String -> Any) -> AttrSet\n```\n\n# Arguments\n\n- [names] Names of values in the resulting attribute set.\n- [f] A function, given the name of the attribute, returns the attribute's value.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":912,"column":3},"path":["lib","attrsets","genAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.genList","path":["lib","genList"],"aliases":[["builtins","genList"],["lib","lists","genList"],["lib","strings","genList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genList","args":["generator","length"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","genList"],"pos_type":"Lambda"}},"content":{"content":"\nGenerate list of size *length*, with each element *i* equal to the\nvalue returned by *generator* `i`. For example,\n\n```nix\nbuiltins.genList (x: x * x) 5\n```\n\nreturns the list `[ 0 1 4 9 16 ]`.\n","source":{"position":null,"path":["lib","genList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.genericClosure","path":["lib","genericClosure"],"aliases":[["builtins","genericClosure"],["lib","trivial","genericClosure"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genericClosure","args":["attrset"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","genericClosure"],"pos_type":"Lambda"}},"content":{"content":"\nTakes an *attrset* with the following attributes:\n\n- `startSet` [ Item ]\n - A list of start items. Each item must be an attrset containing a `key`. The `key` must be comparable.\n- `operator` Item -> [ Item ]\n - A function\n\nreturns a *list of attrsets*\n\nGenericClosure starts with the `startSet` and recursively\napplying the `operator` function to each `item`. The *attrsets* in the\n`startSet` and the *attrsets* produced by `operator` must contain a value\nnamed `key` which is comparable. The result is produced by calling `operator`\nfor each `item` with a value for `key` that has not been called yet including\nnewly produced `item`s. The function terminates when no new `item`s are\nproduced. The resulting *list of attrsets* contains only *attrsets* with a\nunique key. For example,\n\n```\nbuiltins.genericClosure {\n startSet = [ {key = 5;} ];\n operator = item: [{\n key = if (item.key / 2 ) * 2 == item.key\n then item.key / 2\n else 3 * item.key + 1;\n }];\n}\n```\nevaluates to\n```\n[ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ]\n```\n","source":{"position":null,"path":["lib","genericClosure"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.getAttr","path":["lib","getAttr"],"aliases":[["builtins","getAttr"],["lib","attrsets","getAttr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"getAttr","args":["s","set"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","getAttr"],"pos_type":"Lambda"}},"content":{"content":"\n`getAttr` returns the attribute named *s* from *set*. Evaluation\naborts if the attribute doesnt exist. This is a dynamic version of\nthe `.` operator, since *s* is an expression rather than an\nidentifier.\n","source":{"position":null,"path":["lib","getAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.getAttrFromPath","path":["lib","getAttrFromPath"],"aliases":[["lib","attrsets","getAttrFromPath"]],"signature":"getAttrFromPath :: [String] -> AttrSet -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":158,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":156,"column":3},"path":["lib","attrsets","getAttrFromPath"],"pos_type":"Attribute"}},"content":{"content":"\nLike `attrByPath`, but without a default value. If it doesn't find the\npath it will throw an error.\n\n# Example\n\n```nix\nx = { a = { b = 3; }; }\ngetAttrFromPath [\"a\" \"b\"] x\n=> 3\ngetAttrFromPath [\"z\" \"z\"] x\n=> error: cannot find attribute `z.z'\n```\n\n# Type\n\n```\ngetAttrFromPath :: [String] -> AttrSet -> Any\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to get from `set`\n- [set] The nested attribute set to find the value in.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":156,"column":3},"path":["lib","attrsets","getAttrFromPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getAttrs","path":["lib","getAttrs"],"aliases":[["lib","attrsets","getAttrs"]],"signature":"getAttrs :: [String] -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":377,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":375,"column":3},"path":["lib","attrsets","getAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nGiven a set of attribute names, return the set of the corresponding\nattributes from the given set.\n\n# Example\n\n```nix\ngetAttrs [ \"a\" \"b\" ] { a = 1; b = 2; c = 3; }\n=> { a = 1; b = 2; }\n```\n\n# Type\n\n```\ngetAttrs :: [String] -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [names] A list of attribute names to get out of `set`\n- [attrs] The set to get the named attributes from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":375,"column":3},"path":["lib","attrsets","getAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getBin","path":["lib","getBin"],"aliases":[["lib","attrsets","getBin"]],"signature":"getBin :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1401,"column":3},"path":["lib","attrsets","getBin"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `bin` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetBin pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r\"\n```\n\n# Type\n\n```\ngetBin :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1401,"column":3},"path":["lib","attrsets","getBin"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getDev","path":["lib","getDev"],"aliases":[["lib","attrsets","getDev"]],"signature":"getDev :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1441,"column":3},"path":["lib","attrsets","getDev"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `dev` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetDev pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev\"\n```\n\n# Type\n\n```\ngetDev :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1441,"column":3},"path":["lib","attrsets","getDev"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getExe","path":["lib","getExe"],"aliases":[["lib","meta","getExe"]],"signature":"getExe :: package -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":3},"path":["lib","meta","getExe"],"pos_type":"Attribute"}},"content":{"content":"\nGet the path to the main program of a package based on meta.mainProgram\n\n# Example\n\n```nix\ngetExe pkgs.hello\n=> \"/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello\"\ngetExe pkgs.mustache-go\n=> \"/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache\"\n```\n\n# Type\n\n```\ngetExe :: package -> string\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":3},"path":["lib","meta","getExe"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getExe' (Prime)","path":["lib","getExe'"],"aliases":[["lib","meta","getExe'"]],"signature":"getExe' :: derivation -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":3},"path":["lib","meta","getExe'"],"pos_type":"Attribute"}},"content":{"content":"\nGet the path of a program of a derivation.\n\n# Example\n\n```nix\ngetExe' pkgs.hello \"hello\"\n=> \"/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello\"\ngetExe' pkgs.imagemagick \"convert\"\n=> \"/nix/store/5rs48jamq7k6sal98ymj9l4k2bnwq515-imagemagick-7.1.1-15/bin/convert\"\n```\n\n# Type\n\n```\ngetExe' :: derivation -> string -> string\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":3},"path":["lib","meta","getExe'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getFiles","path":["lib","getFiles"],"aliases":[["lib","options","getFiles"]],"signature":"getFiles :: [ { file :: a; } ] -> [a]\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":345,"column":3},"path":["lib","options","getFiles"],"pos_type":"Attribute"}},"content":{"content":"\nExtracts values of all \"file\" keys of the given list\n\n# Example\n\n```nix\ngetFiles [ { file = \"file1\"; } { file = \"file2\"; } ] // => [ \"file1\" \"file2\" ]\ngetFiles [ ] // => [ ]\n```\n\n# Type\n\n```\ngetFiles :: [ { file :: a; } ] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":345,"column":3},"path":["lib","options","getFiles"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getLib","path":["lib","getLib"],"aliases":[["lib","attrsets","getLib"]],"signature":"getLib :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1421,"column":3},"path":["lib","attrsets","getLib"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `lib` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetLib pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-lib\"\n```\n\n# Type\n\n```\ngetLib :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1421,"column":3},"path":["lib","attrsets","getLib"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getLicenseFromSpdxId","path":["lib","getLicenseFromSpdxId"],"aliases":[["lib","meta","getLicenseFromSpdxId"]],"signature":"getLicenseFromSpdxId :: str -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":211,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":207,"column":3},"path":["lib","meta","getLicenseFromSpdxId"],"pos_type":"Attribute"}},"content":{"content":"\nGet the corresponding attribute in lib.licenses\nfrom the SPDX ID.\nFor SPDX IDs, see\nhttps://spdx.org/licenses\n\n# Example\n\n```nix\nlib.getLicenseFromSpdxId \"MIT\" == lib.licenses.mit\n=> true\nlib.getLicenseFromSpdxId \"mIt\" == lib.licenses.mit\n=> true\nlib.getLicenseFromSpdxId \"MY LICENSE\"\n=> trace: warning: getLicenseFromSpdxId: No license matches the given SPDX ID: MY LICENSE\n=> { shortName = \"MY LICENSE\"; }\n```\n\n# Type\n\n```\ngetLicenseFromSpdxId :: str -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":207,"column":3},"path":["lib","meta","getLicenseFromSpdxId"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getMan","path":["lib","getMan"],"aliases":[["lib","attrsets","getMan"]],"signature":"getMan :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1461,"column":3},"path":["lib","attrsets","getMan"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `man` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetMan pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-man\"\n```\n\n# Type\n\n```\ngetMan :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1461,"column":3},"path":["lib","attrsets","getMan"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getName","path":["lib","getName"],"aliases":[["lib","strings","getName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":3},"path":["lib","strings","getName"],"pos_type":"Attribute"}},"content":{"content":"\nThis function takes an argument that's either a derivation or a\nderivation's \"name\" attribute and extracts the name part from that\nargument.\n\n# Example\n\n```nix\ngetName \"youtube-dl-2016.01.01\"\n=> \"youtube-dl\"\ngetName pkgs.youtube-dl\n=> \"youtube-dl\"\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":3},"path":["lib","strings","getName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getOutput","path":["lib","getOutput"],"aliases":[["lib","attrsets","getOutput"]],"signature":"getOutput :: String -> Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":3},"path":["lib","attrsets","getOutput"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package output.\nIf no output is found, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetOutput \"dev\" pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev\"\n```\n\n# Type\n\n```\ngetOutput :: String -> Derivation -> String\n```\n\n# Arguments\n\n- [output] \n- [pkg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":3},"path":["lib","attrsets","getOutput"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getValue","path":["lib","getValue"],"aliases":[["lib","misc","getValue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":14},"path":["lib","getValue"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":14},"path":["lib","getValue"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.getValues","path":["lib","getValues"],"aliases":[["lib","options","getValues"]],"signature":"getValues :: [ { value :: a; } ] -> [a]\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":327,"column":3},"path":["lib","options","getValues"],"pos_type":"Attribute"}},"content":{"content":"\nExtracts values of all \"value\" keys of the given list.\n\n# Example\n\n```nix\ngetValues [ { value = 1; } { value = 2; } ] // => [ 1 2 ]\ngetValues [ ] // => [ ]\n```\n\n# Type\n\n```\ngetValues :: [ { value :: a; } ] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":327,"column":3},"path":["lib","options","getValues"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.getVersion","path":["lib","getVersion"],"aliases":[["lib","strings","getVersion"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":3},"path":["lib","strings","getVersion"],"pos_type":"Attribute"}},"content":{"content":"\nThis function takes an argument that's either a derivation or a\nderivation's \"name\" attribute and extracts the version part from that\nargument.\n\n# Example\n\n```nix\ngetVersion \"youtube-dl-2016.01.01\"\n=> \"2016.01.01\"\ngetVersion pkgs.youtube-dl\n=> \"2016.01.01\"\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":3},"path":["lib","strings","getVersion"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.groupBy","path":["lib","groupBy"],"aliases":[["builtins","groupBy"],["lib","lists","groupBy"]],"signature":null,"is_primop":true,"primop_meta":{"name":"groupBy","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","groupBy"],"pos_type":"Lambda"}},"content":{"content":"\nGroups elements of *list* together by the string returned from the\nfunction *f* called on each element. It returns an attribute set\nwhere each attribute value contains the elements of *list* that are\nmapped to the same corresponding attribute name returned by *f*.\n\nFor example,\n\n```nix\nbuiltins.groupBy (builtins.substring 0 1) [\"foo\" \"bar\" \"baz\"]\n```\n\nevaluates to\n\n```nix\n{ b = [ \"bar\" \"baz\" ]; f = [ \"foo\" ]; }\n```\n","source":{"position":null,"path":["lib","groupBy"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.groupBy' (Prime)","path":["lib","groupBy'"],"aliases":[["lib","lists","groupBy'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":3},"path":["lib","lists","groupBy'"],"pos_type":"Attribute"}},"content":{"content":"\nSplits the elements of a list into many lists, using the return value of a predicate.\nPredicate should return a string which becomes keys of attrset `groupBy` returns.\n`groupBy'` allows to customise the combining function and initial value\n\n# Example\n\n```nix\ngroupBy (x: boolToString (x > 2)) [ 5 1 2 3 4 ]\n=> { true = [ 5 3 4 ]; false = [ 1 2 ]; }\ngroupBy (x: x.name) [ {name = \"icewm\"; script = \"icewm &\";}\n {name = \"xfce\"; script = \"xfce4-session &\";}\n {name = \"icewm\"; script = \"icewmbg &\";}\n {name = \"mate\"; script = \"gnome-session &\";}\n ]\n=> { icewm = [ { name = \"icewm\"; script = \"icewm &\"; }\n { name = \"icewm\"; script = \"icewmbg &\"; } ];\n mate = [ { name = \"mate\"; script = \"gnome-session &\"; } ];\n xfce = [ { name = \"xfce\"; script = \"xfce4-session &\"; } ];\n }\ngroupBy' builtins.add 0 (x: boolToString (x > 2)) [ 5 1 2 3 4 ]\n=> { true = 12; false = 3; }\n```\n\n# Arguments\n\n- [op] \n- [nul] \n- [pred] \n- [lst] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":3},"path":["lib","lists","groupBy'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.hasAttr","path":["lib","hasAttr"],"aliases":[["builtins","hasAttr"],["lib","attrsets","hasAttr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"hasAttr","args":["s","set"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","hasAttr"],"pos_type":"Lambda"}},"content":{"content":"\n`hasAttr` returns `true` if *set* has an attribute named *s*, and\n`false` otherwise. This is a dynamic version of the `?` operator,\nsince *s* is an expression rather than an identifier.\n","source":{"position":null,"path":["lib","hasAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.hasAttrByPath","path":["lib","hasAttrByPath"],"aliases":[["lib","attrsets","hasAttrByPath"]],"signature":"hasAttrByPath :: [String] -> AttrSet -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":84,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":82,"column":3},"path":["lib","attrsets","hasAttrByPath"],"pos_type":"Attribute"}},"content":{"content":"\nReturn if an attribute from nested attribute set exists.\n\n# Example\n\n```nix\nx = { a = { b = 3; }; }\nhasAttrByPath [\"a\" \"b\"] x\n=> true\nhasAttrByPath [\"z\" \"z\"] x\n=> false\n```\n\n# Type\n\n```\nhasAttrByPath :: [String] -> AttrSet -> Bool\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to check from `set`\n- [e] The nested attribute set to check\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":82,"column":3},"path":["lib","attrsets","hasAttrByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.hasInfix","path":["lib","hasInfix"],"aliases":[["lib","strings","hasInfix"]],"signature":"hasInfix :: string -> string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":3},"path":["lib","strings","hasInfix"],"pos_type":"Attribute"}},"content":{"content":"\nDetermine whether a string contains the given infix\n\n# Example\n\n```nix\nhasInfix \"bc\" \"abcd\"\n=> true\nhasInfix \"ab\" \"abcd\"\n=> true\nhasInfix \"cd\" \"abcd\"\n=> true\nhasInfix \"foo\" \"abcd\"\n=> false\n```\n\n# Type\n\n```\nhasInfix :: string -> string -> bool\n```\n\n# Arguments\n\n- [infix] \n- [content] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":3},"path":["lib","strings","hasInfix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.hasPrefix","path":["lib","hasPrefix"],"aliases":[["lib","lists","hasPrefix"],["lib","path","hasPrefix"],["lib","strings","hasPrefix"]],"signature":"hasPrefix :: [a] -> [a] -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":460,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1096,"column":3},"path":["lib","lists","hasPrefix"],"pos_type":"Attribute"}},"content":{"content":"\nWhether the first list is a prefix of the second list.\n\n# Example\n\n```nix\nhasPrefix [ 1 2 ] [ 1 2 3 4 ]\n=> true\nhasPrefix [ 0 1 ] [ 1 2 3 4 ]\n=> false\n```\n\n# Type\n\n```\nhasPrefix :: [a] -> [a] -> bool\n```\n\n# Arguments\n\n- [list1] \n- [list2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1096,"column":3},"path":["lib","lists","hasPrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.hasSuffix","path":["lib","hasSuffix"],"aliases":[["lib","strings","hasSuffix"]],"signature":"hasSuffix :: string -> string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":501,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":499,"column":3},"path":["lib","strings","hasSuffix"],"pos_type":"Attribute"}},"content":{"content":"\nDetermine whether a string has given suffix.\n\n# Example\n\n```nix\nhasSuffix \"foo\" \"foobar\"\n=> false\nhasSuffix \"foo\" \"barfoo\"\n=> true\n```\n\n# Type\n\n```\nhasSuffix :: string -> string -> bool\n```\n\n# Arguments\n\n- [suffix] Suffix to check for\n- [content] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":499,"column":3},"path":["lib","strings","hasSuffix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.head","path":["lib","head"],"aliases":[["builtins","head"],["lib","lists","head"],["lib","strings","head"]],"signature":null,"is_primop":true,"primop_meta":{"name":"head","args":["list"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","head"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the first element of a list; abort evaluation if the argument\nisnt a list or is an empty list. You can test whether a list is\nempty by comparing it with `[]`.\n","source":{"position":null,"path":["lib","head"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.hiPrio","path":["lib","hiPrio"],"aliases":[["lib","meta","hiPrio"],["pkgs","hiPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":28},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"path":["lib","meta","hiPrio"],"pos_type":"Attribute"}},"content":{"content":"\nIncrease the nix-env priority of the package, i.e., this\nversion/variant of the package will be preferred.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"path":["lib","meta","hiPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.hiPrioSet","path":["lib","hiPrioSet"],"aliases":[["lib","meta","hiPrioSet"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":3},"path":["lib","meta","hiPrioSet"],"pos_type":"Attribute"}},"content":{"content":"\nApply hiPrio to an attrset with derivations\n\n# Arguments\n\n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":3},"path":["lib","meta","hiPrioSet"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.hydraJob","path":["lib","hydraJob"],"aliases":[["lib","customisation","hydraJob"]],"signature":"hydraJob :: (Derivation | Null) -> (Derivation | Null)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":3},"path":["lib","customisation","hydraJob"],"pos_type":"Attribute"}},"content":{"content":"\nStrip a derivation of all non-essential attributes, returning\nonly those needed by hydra-eval-jobs. Also strictly evaluate the\nresult to ensure that there are no thunks kept alive to prevent\ngarbage collection.\n\n# Type\n\n```\nhydraJob :: (Derivation | Null) -> (Derivation | Null)\n```\n\n# Arguments\n\n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":3},"path":["lib","customisation","hydraJob"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.id","path":["lib","id"],"aliases":[["lib","trivial","id"]],"signature":"id :: a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":22,"column":3},"path":["lib","trivial","id"],"pos_type":"Attribute"}},"content":{"content":"\nThe identity function\nFor when you need a function that does “nothing”.\n\n# Type\n\n```\nid :: a -> a\n```\n\n# Arguments\n\n- [x] The value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":22,"column":3},"path":["lib","trivial","id"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.ifEnable","path":["lib","ifEnable"],"aliases":[["lib","misc","ifEnable"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":14},"path":["lib","ifEnable"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":14},"path":["lib","ifEnable"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.imap","path":["lib","imap"],"aliases":[["lib","misc","imap"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":300,"column":3},"path":["lib","misc","imap"],"pos_type":"Attribute"}},"content":{"content":"\ndeprecated:\nFor historical reasons, imap has an index starting at 1.\nBut for consistency with the rest of the library we want an index\nstarting at zero.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":300,"column":3},"path":["lib","misc","imap"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.imap0","path":["lib","imap0"],"aliases":[["lib","lists","imap0"]],"signature":"imap0 :: (int -> a -> b) -> [a] -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":3},"path":["lib","lists","imap0"],"pos_type":"Attribute"}},"content":{"content":"\nMap with index starting from 0\n\n# Example\n\n```nix\nimap0 (i: v: \"${v}-${toString i}\") [\"a\" \"b\"]\n=> [ \"a-0\" \"b-1\" ]\n```\n\n# Type\n\n```\nimap0 :: (int -> a -> b) -> [a] -> [b]\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":3},"path":["lib","lists","imap0"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.imap1","path":["lib","imap1"],"aliases":[["lib","lists","imap1"]],"signature":"imap1 :: (int -> a -> b) -> [a] -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":3},"path":["lib","lists","imap1"],"pos_type":"Attribute"}},"content":{"content":"\nMap with index starting from 1\n\n# Example\n\n```nix\nimap1 (i: v: \"${v}-${toString i}\") [\"a\" \"b\"]\n=> [ \"a-1\" \"b-2\" ]\n```\n\n# Type\n\n```\nimap1 :: (int -> a -> b) -> [a] -> [b]\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":3},"path":["lib","lists","imap1"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.importJSON","path":["lib","importJSON"],"aliases":[["lib","modules","importJSON"],["lib","trivial","importJSON"]],"signature":"importJSON :: path -> any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"path":["lib","trivial","importJSON"],"pos_type":"Attribute"}},"content":{"content":"\nReads a JSON file.\n\n# Type\n\n```\nimportJSON :: path -> any\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"path":["lib","trivial","importJSON"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.importTOML","path":["lib","importTOML"],"aliases":[["lib","modules","importTOML"],["lib","trivial","importTOML"]],"signature":"importTOML :: path -> any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"path":["lib","trivial","importTOML"],"pos_type":"Attribute"}},"content":{"content":"\nReads a TOML file.\n\n# Type\n\n```\nimportTOML :: path -> any\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"path":["lib","trivial","importTOML"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.info","path":["lib","info"],"aliases":[["lib","trivial","info"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":10},"path":["lib","info"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":10},"path":["lib","info"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.init","path":["lib","init"],"aliases":[["lib","lists","init"]],"signature":"init :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":3},"path":["lib","lists","init"],"pos_type":"Attribute"}},"content":{"content":"\nReturn all elements but the last.\nThis function throws an error if the list is empty.\n\n# Example\n\n```nix\ninit [ 1 2 3 ]\n=> [ 1 2 ]\n```\n\n# Type\n\n```\ninit :: [a] -> [a]\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":3},"path":["lib","lists","init"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.innerClosePropagation","path":["lib","innerClosePropagation"],"aliases":[["lib","misc","innerClosePropagation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":27},"path":["lib","innerClosePropagation"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":27},"path":["lib","innerClosePropagation"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.innerModifySumArgs","path":["lib","innerModifySumArgs"],"aliases":[["lib","misc","innerModifySumArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":24},"path":["lib","innerModifySumArgs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":24},"path":["lib","innerModifySumArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.intersectLists","path":["lib","intersectLists"],"aliases":[["lib","lists","intersectLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":3},"path":["lib","lists","intersectLists"],"pos_type":"Attribute"}},"content":{"content":"\nIntersects list 'e' and another list. O(nm) complexity.\n\n# Example\n\n```nix\nintersectLists [ 1 2 3 ] [ 6 3 2 ]\n=> [ 3 2 ]\n```\n\n# Arguments\n\n- [e] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":3},"path":["lib","lists","intersectLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.intersperse","path":["lib","intersperse"],"aliases":[["lib","strings","intersperse"]],"signature":"intersperse :: a -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":135,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":133,"column":3},"path":["lib","strings","intersperse"],"pos_type":"Attribute"}},"content":{"content":"\nPlace an element between each element of a list\n\n# Example\n\n```nix\nintersperse \"/\" [\"usr\" \"local\" \"bin\"]\n=> [\"usr\" \"/\" \"local\" \"/\" \"bin\"].\n```\n\n# Type\n\n```\nintersperse :: a -> [a] -> [a]\n```\n\n# Arguments\n\n- [separator] Separator to add between elements\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":133,"column":3},"path":["lib","strings","intersperse"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isAttrs","path":["lib","isAttrs"],"aliases":[["builtins","isAttrs"],["lib","attrsets","isAttrs"],["lib","strings","isAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a set, and `false` otherwise.\n","source":{"position":null,"path":["lib","isAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isBool","path":["lib","isBool"],"aliases":[["builtins","isBool"],["lib","trivial","isBool"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isBool","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isBool"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a bool, and `false` otherwise.\n","source":{"position":null,"path":["lib","isBool"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isDerivation","path":["lib","isDerivation"],"aliases":[["lib","attrsets","isDerivation"]],"signature":"isDerivation :: Any -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":947,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":945,"column":3},"path":["lib","attrsets","isDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether the argument is a derivation. Any set with\n`{ type = \"derivation\"; }` counts as a derivation.\n\n# Example\n\n```nix\nnixpkgs = import <nixpkgs> {}\nisDerivation nixpkgs.ruby\n=> true\nisDerivation \"foobar\"\n=> false\n```\n\n# Type\n\n```\nisDerivation :: Any -> Bool\n```\n\n# Arguments\n\n- [value] Value to check.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":945,"column":3},"path":["lib","attrsets","isDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isFloat","path":["lib","isFloat"],"aliases":[["builtins","isFloat"],["lib","trivial","isFloat"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isFloat","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isFloat"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a float, and `false` otherwise.\n","source":{"position":null,"path":["lib","isFloat"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isFunction","path":["lib","isFunction"],"aliases":[["lib","trivial","isFunction"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":3},"path":["lib","trivial","isFunction"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether something is a function or something\nannotated with function args.\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":3},"path":["lib","trivial","isFunction"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isInOldestRelease","path":["lib","isInOldestRelease"],"aliases":[["lib","trivial","isInOldestRelease"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":317,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":312,"column":3},"path":["lib","trivial","isInOldestRelease"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a feature is supported in all supported releases (at the time of\nrelease branch-off, if applicable). See `oldestSupportedRelease`.\n\n# Arguments\n\n- [release] Release number of feature introduction as an integer, e.g. 2111 for 21.11. Set it to the upcoming release, matching the nixpkgs/.version file.\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":312,"column":3},"path":["lib","trivial","isInOldestRelease"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isInt","path":["lib","isInt"],"aliases":[["builtins","isInt"],["lib","strings","isInt"],["lib","trivial","isInt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isInt","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isInt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to an integer, and `false` otherwise.\n","source":{"position":null,"path":["lib","isInt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isList","path":["lib","isList"],"aliases":[["builtins","isList"],["lib","lists","isList"],["lib","strings","isList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isList","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isList"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a list, and `false` otherwise.\n","source":{"position":null,"path":["lib","isList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isOption","path":["lib","isOption"],"aliases":[["lib","options","isOption"]],"signature":"isOption :: a -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":18},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":64,"column":3},"path":["lib","options","isOption"],"pos_type":"Attribute"}},"content":{"content":"\nReturns true when the given argument is an option\n\n# Example\n\n```nix\nisOption 1 // => false\nisOption (mkOption {}) // => true\n```\n\n# Type\n\n```\nisOption :: a -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":64,"column":3},"path":["lib","options","isOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isOptionType","path":["lib","isOptionType"],"aliases":[["lib","types","isOptionType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":149,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":18},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.isPath","path":["lib","isPath"],"aliases":[["builtins","isPath"],["lib","strings","isPath"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isPath","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isPath"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a path, and `false` otherwise.\n","source":{"position":null,"path":["lib","isPath"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isStorePath","path":["lib","isStorePath"],"aliases":[["lib","strings","isStorePath"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":3},"path":["lib","strings","isStorePath"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether a value is a store path.\n\n# Example\n\n```nix\nisStorePath \"/nix/store/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11/bin/python\"\n=> false\nisStorePath \"/nix/store/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11\"\n=> true\nisStorePath pkgs.python\n=> true\nisStorePath [] || isStorePath 42 || isStorePath {} || …\n=> false\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":3},"path":["lib","strings","isStorePath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isString","path":["lib","isString"],"aliases":[["builtins","isString"],["lib","strings","isString"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isString","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","isString"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a string, and `false` otherwise.\n","source":{"position":null,"path":["lib","isString"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isStringLike","path":["lib","isStringLike"],"aliases":[["lib","strings","isStringLike"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":3},"path":["lib","strings","isStringLike"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether a value can be coerced to a string.\nThe value must be a string, path, or attribute set.\nString-like values can be used without explicit conversion in\nstring interpolations and in most functions that expect a string.\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":3},"path":["lib","strings","isStringLike"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.isType","path":["lib","isType"],"aliases":[["lib","types","isType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":149,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":12},"path":["lib","isType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":12},"path":["lib","isType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.isValidPosixName","path":["lib","isValidPosixName"],"aliases":[["lib","strings","isValidPosixName"]],"signature":"string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":3},"path":["lib","strings","isValidPosixName"],"pos_type":"Attribute"}},"content":{"content":"\nTest whether the given name is a valid POSIX shell variable name.\n\n# Example\n\n```nix\nisValidPosixName \"foo_bar000\"\n=> true\nisValidPosixName \"0-bad.jpg\"\n=> false\n```\n\n# Type\n\n```\nstring -> bool\n```\n\n# Arguments\n\n- [name] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":3},"path":["lib","strings","isValidPosixName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.last","path":["lib","last"],"aliases":[["lib","lists","last"]],"signature":"last :: [a] -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":3},"path":["lib","lists","last"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the last element of a list.\nThis function throws an error if the list is empty.\n\n# Example\n\n```nix\nlast [ 1 2 3 ]\n=> 3\n```\n\n# Type\n\n```\nlast :: [a] -> a\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":3},"path":["lib","lists","last"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lazyDerivation","path":["lib","lazyDerivation"],"aliases":[["lib","derivations","lazyDerivation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":120,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":40,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":39,"column":3},"path":["lib","derivations","lazyDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nRestrict a derivation to a predictable set of attribute names, so\nthat the returned attrset is not strict in the actual derivation,\nsaving a lot of computation when the derivation is non-trivial.\nThis is useful in situations where a derivation might only be used for its\npassthru attributes, improving evaluation performance.\nThe returned attribute set is lazy in `derivation`. Specifically, this\nmeans that the derivation will not be evaluated in at least the\nsituations below.\nFor illustration and/or testing, we define derivation such that its\nevaluation is very noticeable.\nlet derivation = throw \"This won't be evaluated.\";\nIn the following expressions, `derivation` will _not_ be evaluated:\n(lazyDerivation { inherit derivation; }).type\nattrNames (lazyDerivation { inherit derivation; })\n(lazyDerivation { inherit derivation; } // { foo = true; }).foo\n(lazyDerivation { inherit derivation; meta.foo = true; }).meta\nIn these expressions, `derivation` _will_ be evaluated:\n\"${lazyDerivation { inherit derivation }}\"\n(lazyDerivation { inherit derivation }).outPath\n(lazyDerivation { inherit derivation }).meta\nAnd the following expressions are not valid, because the refer to\nimplementation details and/or attributes that may not be present on\nsome derivations:\n(lazyDerivation { inherit derivation }).buildInputs\n(lazyDerivation { inherit derivation }).passthru\n(lazyDerivation { inherit derivation }).pythonPath\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":39,"column":3},"path":["lib","derivations","lazyDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lazyGenericClosure","path":["lib","lazyGenericClosure"],"aliases":[["lib","misc","lazyGenericClosure"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":24},"path":["lib","lazyGenericClosure"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":24},"path":["lib","lazyGenericClosure"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.length","path":["lib","length"],"aliases":[["builtins","length"],["lib","lists","length"]],"signature":null,"is_primop":true,"primop_meta":{"name":"length","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","length"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the length of the list *e*.\n","source":{"position":null,"path":["lib","length"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lessThan","path":["lib","lessThan"],"aliases":[["builtins","lessThan"],["lib","trivial","lessThan"]],"signature":null,"is_primop":true,"primop_meta":{"name":"lessThan","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lessThan"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if the number *e1* is less than the number *e2*, and\n`false` otherwise. Evaluation aborts if either *e1* or *e2* does not\nevaluate to a number.\n","source":{"position":null,"path":["lib","lessThan"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.listDfs","path":["lib","listDfs"],"aliases":[["lib","lists","listDfs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":3},"path":["lib","lists","listDfs"],"pos_type":"Attribute"}},"content":{"content":"\nDepth-First Search (DFS) for lists `list != []`.\n`before a b == true` means that `b` depends on `a` (there's an\nedge from `b` to `a`).\n\n# Example\n\n```nix\nlistDfs true hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" ]\n == { minimal = \"/\"; # minimal element\n visited = [ \"/home/user\" ]; # seen elements (in reverse order)\n rest = [ \"/home\" \"other\" ]; # everything else\n }\nlistDfs true hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" \"/\" ]\n == { cycle = \"/\"; # cycle encountered at this element\n loops = [ \"/\" ]; # and continues to these elements\n visited = [ \"/\" \"/home/user\" ]; # elements leading to the cycle (in reverse order)\n rest = [ \"/home\" \"other\" ]; # everything else\n```\n\n# Arguments\n\n- [stopOnCycles] \n- [before] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":3},"path":["lib","lists","listDfs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.listToAttrs","path":["lib","listToAttrs"],"aliases":[["builtins","listToAttrs"],["lib","attrsets","listToAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"listToAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","listToAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nConstruct a set from a list specifying the names and values of each\nattribute. Each element of the list should be a set consisting of a\nstring-valued attribute `name` specifying the name of the attribute,\nand an attribute `value` specifying its value.\n\nIn case of duplicate occurrences of the same name, the first\ntakes precedence.\n\nExample:\n\n```nix\nbuiltins.listToAttrs\n [ { name = \"foo\"; value = 123; }\n { name = \"bar\"; value = 456; }\n { name = \"bar\"; value = 420; }\n ]\n```\n\nevaluates to\n\n```nix\n{ foo = 123; bar = 456; }\n```\n","source":{"position":null,"path":["lib","listToAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.literalExample","path":["lib","literalExample"],"aliases":[["lib","options","literalExample"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"path":["lib","literalExample"],"pos_type":"Lambda"}},"content":{"content":"\nFor use in the `defaultText` and `example` option attributes. Causes the\ngiven string to be rendered verbatim in the documentation as Nix code. This\nis necessary for complex values, e.g. functions, or values that depend on\nother values or packages.\n\n# Arguments\n\n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"path":["lib","literalExample"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.literalExpression","path":["lib","literalExpression"],"aliases":[["lib","options","literalExpression"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":3},"path":["lib","options","literalExpression"],"pos_type":"Attribute"}},"content":{"content":"\nFor use in the `defaultText` and `example` option attributes. Causes the\ngiven string to be rendered verbatim in the documentation as Nix code. This\nis necessary for complex values, e.g. functions, or values that depend on\nother values or packages.\n\n# Arguments\n\n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":3},"path":["lib","options","literalExpression"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.literalMD","path":["lib","literalMD"],"aliases":[["lib","options","literalMD"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":3},"path":["lib","options","literalMD"],"pos_type":"Attribute"}},"content":{"content":"\nFor use in the `defaultText` and `example` option attributes. Causes the\ngiven MD text to be inserted verbatim in the documentation, for when\na `literalExpression` would be too hard to read.\n\n# Arguments\n\n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":3},"path":["lib","options","literalMD"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lowPrio","path":["lib","lowPrio"],"aliases":[["lib","meta","lowPrio"],["pkgs","lowPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":28},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"path":["lib","meta","lowPrio"],"pos_type":"Attribute"}},"content":{"content":"\nDecrease the nix-env priority of the package, i.e., other\nversions/variants of the package will be preferred.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"path":["lib","meta","lowPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lowPrioSet","path":["lib","lowPrioSet"],"aliases":[["lib","meta","lowPrioSet"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":3},"path":["lib","meta","lowPrioSet"],"pos_type":"Attribute"}},"content":{"content":"\nApply lowPrio to an attrset with derivations\n\n# Arguments\n\n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":3},"path":["lib","meta","lowPrioSet"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeBinPath","path":["lib","makeBinPath"],"aliases":[["lib","strings","makeBinPath"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":336,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":365,"column":3},"path":["lib","strings","makeBinPath"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a binary search path (such as $PATH) containing the\nbinaries for a set of packages.\n\n# Example\n\n```nix\nmakeBinPath [\"/root\" \"/usr\" \"/usr/local\"]\n=> \"/root/bin:/usr/bin:/usr/local/bin\"\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":365,"column":3},"path":["lib","strings","makeBinPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeExtensible","path":["lib","makeExtensible"],"aliases":[["lib","fixedPoints","makeExtensible"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":48},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":199,"column":3},"path":["lib","fixedPoints","makeExtensible"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an overridable, recursive attribute set. For example:\n```\nnix-repl> obj = makeExtensible (self: { })\nnix-repl> obj\n{ __unfix__ = «lambda»; extend = «lambda»; }\nnix-repl> obj = obj.extend (self: super: { foo = \"foo\"; })\nnix-repl> obj\n{ __unfix__ = «lambda»; extend = «lambda»; foo = \"foo\"; }\nnix-repl> obj = obj.extend (self: super: { foo = super.foo + \" + \"; bar = \"bar\"; foobar = self.foo + self.bar; })\nnix-repl> obj\n{ __unfix__ = «lambda»; bar = \"bar\"; extend = «lambda»; foo = \"foo + \"; foobar = \"foo + bar\"; }\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":199,"column":3},"path":["lib","fixedPoints","makeExtensible"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeExtensibleWithCustomName","path":["lib","makeExtensibleWithCustomName"],"aliases":[["lib","fixedPoints","makeExtensibleWithCustomName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":80,"column":31},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":34},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":3},"path":["lib","fixedPoints","makeExtensibleWithCustomName"],"pos_type":"Attribute"}},"content":{"content":"\nSame as `makeExtensible` but the name of the extending attribute is\ncustomized.\n\n# Arguments\n\n- [extenderName] \n- [rattrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":3},"path":["lib","fixedPoints","makeExtensibleWithCustomName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeLibraryPath","path":["lib","makeLibraryPath"],"aliases":[["lib","strings","makeLibraryPath"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":336,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":352,"column":3},"path":["lib","strings","makeLibraryPath"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a library search path (such as RPATH) containing the\nlibraries for a set of packages\n\n# Example\n\n```nix\nmakeLibraryPath [ \"/usr\" \"/usr/local\" ]\n=> \"/usr/lib:/usr/local/lib\"\npkgs = import <nixpkgs> { }\nmakeLibraryPath [ pkgs.openssl pkgs.zlib ]\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r/lib:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/lib\"\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":352,"column":3},"path":["lib","strings","makeLibraryPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeOverridable","path":["lib","makeOverridable"],"aliases":[["lib","customisation","makeOverridable"],["pkgs","makeOverridable"]],"signature":"makeOverridable :: (AttrSet -> a) -> AttrSet -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"path":["lib","customisation","makeOverridable"],"pos_type":"Attribute"}},"content":{"content":"\n`makeOverridable` takes a function from attribute set to attribute set and\ninjects `override` attribute which can be used to override arguments of\nthe function.\nPlease refer to documentation on [`<pkg>.overrideDerivation`](#sec-pkg-overrideDerivation) to learn about `overrideDerivation` and caveats\nrelated to its use.\n\n# Example\n\n```nix\nnix-repl> x = {a, b}: { result = a + b; }\nnix-repl> y = lib.makeOverridable x { a = 1; b = 2; }\nnix-repl> y\n{ override = «lambda»; overrideDerivation = «lambda»; result = 3; }\nnix-repl> y.override { a = 10; }\n{ override = «lambda»; overrideDerivation = «lambda»; result = 12; }\n```\n\n# Type\n\n```\nmakeOverridable :: (AttrSet -> a) -> AttrSet -> a\n```\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"path":["lib","customisation","makeOverridable"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeScope","path":["lib","makeScope"],"aliases":[["lib","customisation","makeScope"]],"signature":"makeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":3},"path":["lib","customisation","makeScope"],"pos_type":"Attribute"}},"content":{"content":"\nMake a set of packages with a common scope. All packages called\nwith the provided `callPackage` will be evaluated with the same\narguments. Any package in the set may depend on any other. The\n`overrideScope'` function allows subsequent modification of the package\nset in a consistent way, i.e. all packages in the set will be\ncalled with the overridden packages. The package sets may be\nhierarchical: the packages in the set are called with the scope\nprovided by `newScope` and the set provides a `newScope` attribute\nwhich can form the parent scope for later package sets.\n\n# Type\n\n```\nmakeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> AttrSet\n```\n\n# Arguments\n\n- [newScope] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":3},"path":["lib","customisation","makeScope"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeScopeWithSplicing","path":["lib","makeScopeWithSplicing"],"aliases":[["lib","customisation","makeScopeWithSplicing"],["pkgs","makeScopeWithSplicing"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":395,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"path":["lib","customisation","makeScopeWithSplicing"],"pos_type":"Attribute"}},"content":{"content":"\nbackward compatibility with old uncurried form; deprecated\n\n# Arguments\n\n- [splicePackages] \n- [newScope] \n- [otherSplices] \n- [keep] \n- [extra] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"path":["lib","customisation","makeScopeWithSplicing"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeScopeWithSplicing' (Prime)","path":["lib","makeScopeWithSplicing'"],"aliases":[["lib","customisation","makeScopeWithSplicing'"],["pkgs","makeScopeWithSplicing'"]],"signature":"makeScopeWithSplicing' ::\n { splicePackages :: Splice -> AttrSet\n , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n }\n -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }\n -> AttrSet\nSplice ::\n { pkgsBuildBuild :: AttrSet\n , pkgsBuildHost :: AttrSet\n , pkgsBuildTarget :: AttrSet\n , pkgsHostHost :: AttrSet\n , pkgsHostTarget :: AttrSet\n , pkgsTargetTarget :: AttrSet\n }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":428,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"path":["lib","customisation","makeScopeWithSplicing'"],"pos_type":"Attribute"}},"content":{"content":"\nLike makeScope, but aims to support cross compilation. It's still ugly, but\nhopefully it helps a little bit.\n\n# Type\n\n```\nmakeScopeWithSplicing' ::\n { splicePackages :: Splice -> AttrSet\n , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n }\n -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }\n -> AttrSet\nSplice ::\n { pkgsBuildBuild :: AttrSet\n , pkgsBuildHost :: AttrSet\n , pkgsBuildTarget :: AttrSet\n , pkgsHostHost :: AttrSet\n , pkgsHostTarget :: AttrSet\n , pkgsTargetTarget :: AttrSet\n }\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"path":["lib","customisation","makeScopeWithSplicing'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeSearchPath","path":["lib","makeSearchPath"],"aliases":[["lib","strings","makeSearchPath"]],"signature":"makeSearchPath :: string -> [string] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":299,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":297,"column":3},"path":["lib","strings","makeSearchPath"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a Unix-style, colon-separated search path consisting of\nthe given `subDir` appended to each of the given paths.\n\n# Example\n\n```nix\nmakeSearchPath \"bin\" [\"/root\" \"/usr\" \"/usr/local\"]\n=> \"/root/bin:/usr/bin:/usr/local/bin\"\nmakeSearchPath \"bin\" [\"\"]\n=> \"/bin\"\n```\n\n# Type\n\n```\nmakeSearchPath :: string -> [string] -> string\n```\n\n# Arguments\n\n- [subDir] Directory name to append\n- [paths] List of base paths\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":297,"column":3},"path":["lib","strings","makeSearchPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.makeSearchPathOutput","path":["lib","makeSearchPathOutput"],"aliases":[["lib","strings","makeSearchPathOutput"]],"signature":"string -> string -> [package] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":332,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":330,"column":3},"path":["lib","strings","makeSearchPathOutput"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a Unix-style search path by appending the given\n`subDir` to the specified `output` of each of the packages. If no\noutput by the given name is found, fallback to `.out` and then to\nthe default.\n\n# Example\n\n```nix\nmakeSearchPathOutput \"dev\" \"bin\" [ pkgs.openssl pkgs.zlib ]\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin\"\n```\n\n# Type\n\n```\nstring -> string -> [package] -> string\n```\n\n# Arguments\n\n- [output] Package output to use\n- [subDir] Directory name to append\n- [pkgs] List of packages\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":330,"column":3},"path":["lib","strings","makeSearchPathOutput"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapAttrs","path":["lib","mapAttrs"],"aliases":[["builtins","mapAttrs"],["lib","attrsets","mapAttrs"]],"signature":"mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet\n","is_primop":true,"primop_meta":{"name":"mapAttrs","args":["f","attrset"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"path":["lib","attrsets","mapAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nApply a function to each element in an attribute set, creating a new attribute set.\n\n# Example\n\n```nix\nmapAttrs (name: value: name + \"-\" + value)\n { x = \"foo\"; y = \"bar\"; }\n=> { x = \"x-foo\"; y = \"y-bar\"; }\n```\n\n# Type\n\n```\nmapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"path":["lib","attrsets","mapAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapAttrs' (Prime)","path":["lib","mapAttrs'"],"aliases":[["lib","attrsets","mapAttrs'"]],"signature":"mapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":732,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":730,"column":3},"path":["lib","attrsets","mapAttrs'"],"pos_type":"Attribute"}},"content":{"content":"\nLike `mapAttrs`, but allows the name of each attribute to be\nchanged in addition to the value. The applied function should\nreturn both the new name and value as a `nameValuePair`.\n\n# Example\n\n```nix\nmapAttrs' (name: value: nameValuePair (\"foo_\" + name) (\"bar-\" + value))\n { x = \"a\"; y = \"b\"; }\n=> { foo_x = \"bar-a\"; foo_y = \"bar-b\"; }\n```\n\n# Type\n\n```\nmapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [f] A function, given an attribute's name and value, returns a new `nameValuePair`.\n- [set] Attribute set to map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":730,"column":3},"path":["lib","attrsets","mapAttrs'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapAttrsFlatten","path":["lib","mapAttrsFlatten"],"aliases":[["lib","misc","mapAttrsFlatten"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":21},"path":["lib","mapAttrsFlatten"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":21},"path":["lib","mapAttrsFlatten"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mapAttrsRecursive","path":["lib","mapAttrsRecursive"],"aliases":[["lib","attrsets","mapAttrsRecursive"]],"signature":"mapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":833,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":831,"column":3},"path":["lib","attrsets","mapAttrsRecursive"],"pos_type":"Attribute"}},"content":{"content":"\nLike `mapAttrs`, except that it recursively applies itself to\nthe *leaf* attributes of a potentially-nested attribute set:\nthe second argument of the function will never be an attrset.\nAlso, the first argument of the argument function is a *list*\nof the attribute names that form the path to the leaf attribute.\nFor a function that gives you control over what counts as a leaf,\nsee `mapAttrsRecursiveCond`.\n\n# Example\n\n```nix\nmapAttrsRecursive (path: value: concatStringsSep \"-\" (path ++ [value]))\n { n = { a = \"A\"; m = { b = \"B\"; c = \"C\"; }; }; d = \"D\"; }\n=> { n = { a = \"n-a-A\"; m = { b = \"n-m-b-B\"; c = \"n-m-c-C\"; }; }; d = \"d-D\"; }\n```\n\n# Type\n\n```\nmapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [f] A function, given a list of attribute names and a value, returns a new value.\n- [set] Set to recursively map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":831,"column":3},"path":["lib","attrsets","mapAttrsRecursive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapAttrsRecursiveCond","path":["lib","mapAttrsRecursiveCond"],"aliases":[["lib","attrsets","mapAttrsRecursiveCond"]],"signature":"mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":872,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":870,"column":3},"path":["lib","attrsets","mapAttrsRecursiveCond"],"pos_type":"Attribute"}},"content":{"content":"\nLike `mapAttrsRecursive`, but it takes an additional predicate\nfunction that tells it whether to recurse into an attribute\nset. If it returns false, `mapAttrsRecursiveCond` does not\nrecurse, but does apply the map function. If it returns true, it\ndoes recurse, and does not apply the map function.\n\n# Example\n\n```nix\n# To prevent recursing into derivations (which are attribute\n# sets with the attribute \"type\" equal to \"derivation\"):\nmapAttrsRecursiveCond\n (as: !(as ? \"type\" && as.type == \"derivation\"))\n (x: ... do something ...)\n attrs\n```\n\n# Type\n\n```\nmapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [cond] A function, given the attribute set the recursion is currently at, determine if to recurse deeper into that attribute set.\n- [f] A function, given a list of attribute names and a value, returns a new value.\n- [set] Attribute set to recursively map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":870,"column":3},"path":["lib","attrsets","mapAttrsRecursiveCond"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapAttrsToList","path":["lib","mapAttrsToList"],"aliases":[["lib","attrsets","mapAttrsToList"]],"signature":"mapAttrsToList :: (String -> a -> b) -> AttrSet -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":764,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":762,"column":3},"path":["lib","attrsets","mapAttrsToList"],"pos_type":"Attribute"}},"content":{"content":"\nCall a function for each attribute in the given set and return\nthe result in a list.\n\n# Example\n\n```nix\nmapAttrsToList (name: value: name + value)\n { x = \"a\"; y = \"b\"; }\n=> [ \"xa\" \"yb\" ]\n```\n\n# Type\n\n```\nmapAttrsToList :: (String -> a -> b) -> AttrSet -> [b]\n```\n\n# Arguments\n\n- [f] A function, given an attribute's name and value, returns a new value.\n- [attrs] Attribute set to map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":762,"column":3},"path":["lib","attrsets","mapAttrsToList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapDerivationAttrset","path":["lib","mapDerivationAttrset"],"aliases":[["lib","meta","mapDerivationAttrset"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":3},"path":["lib","meta","mapDerivationAttrset"],"pos_type":"Attribute"}},"content":{"content":"\nApply a function to each derivation and only to derivations in an attrset.\n\n# Arguments\n\n- [f] \n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":3},"path":["lib","meta","mapDerivationAttrset"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mapNullable","path":["lib","mapNullable"],"aliases":[["lib","trivial","mapNullable"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":264,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":262,"column":3},"path":["lib","trivial","mapNullable"],"pos_type":"Attribute"}},"content":{"content":"\nApply function if the supplied argument is non-null.\n\n# Example\n\n```nix\nmapNullable (x: x+1) null\n=> null\nmapNullable (x: x+1) 22\n=> 23\n```\n\n# Arguments\n\n- [f] Function to call\n- [a] Argument to check for null before passing it to `f`\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":262,"column":3},"path":["lib","trivial","mapNullable"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.matchAttrs","path":["lib","matchAttrs"],"aliases":[["lib","attrsets","matchAttrs"]],"signature":"matchAttrs :: AttrSet -> AttrSet -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1276,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1274,"column":3},"path":["lib","attrsets","matchAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nReturns true if the pattern is contained in the set. False otherwise.\n\n# Example\n\n```nix\nmatchAttrs { cpu = {}; } { cpu = { bits = 64; }; }\n=> true\n```\n\n# Type\n\n```\nmatchAttrs :: AttrSet -> AttrSet -> Bool\n```\n\n# Arguments\n\n- [pattern] Attribute set structure to match\n- [attrs] Attribute set to find patterns in\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1274,"column":3},"path":["lib","attrsets","matchAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.max","path":["lib","max"],"aliases":[["lib","trivial","max"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":3},"path":["lib","trivial","max"],"pos_type":"Attribute"}},"content":{"content":"\nReturn maximum of two numbers.\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":3},"path":["lib","trivial","max"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.maybeAttr","path":["lib","maybeAttr"],"aliases":[["lib","misc","maybeAttr"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","maybeAttr"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","maybeAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.maybeAttrNullable","path":["lib","maybeAttrNullable"],"aliases":[["lib","misc","maybeAttrNullable"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","maybeAttrNullable"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","maybeAttrNullable"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.maybeEnv","path":["lib","maybeEnv"],"aliases":[["lib","misc","maybeEnv"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":14},"path":["lib","maybeEnv"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":14},"path":["lib","maybeEnv"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mdDoc","path":["lib","mdDoc"],"aliases":[["lib","options","mdDoc"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":453,"column":3},"path":["lib","options","mdDoc"],"pos_type":"Attribute"}},"content":{"content":"\nTransition marker for documentation that's already migrated to markdown\nsyntax. This is a no-op and no longer needed.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":453,"column":3},"path":["lib","options","mdDoc"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mergeAttrByFunc","path":["lib","mergeAttrByFunc"],"aliases":[["lib","misc","mergeAttrByFunc"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":21},"path":["lib","mergeAttrByFunc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":21},"path":["lib","mergeAttrByFunc"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrs","path":["lib","mergeAttrs"],"aliases":[["lib","trivial","mergeAttrs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":213,"column":3},"path":["lib","trivial","mergeAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":213,"column":3},"path":["lib","trivial","mergeAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mergeAttrsByFuncDefaults","path":["lib","mergeAttrsByFuncDefaults"],"aliases":[["lib","misc","mergeAttrsByFuncDefaults"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":20},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"lib.mergeAttrsByFuncDefaultsClean","path":["lib","mergeAttrsByFuncDefaultsClean"],"aliases":[["lib","misc","mergeAttrsByFuncDefaultsClean"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":35},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":35},"path":["lib","mergeAttrsByFuncDefaultsClean"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":35},"path":["lib","mergeAttrsByFuncDefaultsClean"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrsConcatenateValues","path":["lib","mergeAttrsConcatenateValues"],"aliases":[["lib","misc","mergeAttrsConcatenateValues"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":27},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mergeAttrsNoOverride","path":["lib","mergeAttrsNoOverride"],"aliases":[["lib","misc","mergeAttrsNoOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":26},"path":["lib","mergeAttrsNoOverride"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":26},"path":["lib","mergeAttrsNoOverride"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrsWithFunc","path":["lib","mergeAttrsWithFunc"],"aliases":[["lib","misc","mergeAttrsWithFunc"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":24},"path":["lib","mergeAttrsWithFunc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":24},"path":["lib","mergeAttrsWithFunc"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeDefaultOption","path":["lib","mergeDefaultOption"],"aliases":[["lib","options","mergeDefaultOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":24},"path":["lib","mergeDefaultOption"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":24},"path":["lib","mergeDefaultOption"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeDefinitions","path":["lib","mergeDefinitions"],"aliases":[["lib","modules","mergeDefinitions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":860,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":860,"column":22},"path":["lib","mergeDefinitions"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":860,"column":22},"path":["lib","mergeDefinitions"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeEqualOption","path":["lib","mergeEqualOption"],"aliases":[["lib","options","mergeEqualOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":3},"path":["lib","options","mergeEqualOption"],"pos_type":"Attribute"}},"content":{"content":"\n\"Merge\" option definitions by checking that they all have the same value.\n\n# Arguments\n\n- [loc] \n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":3},"path":["lib","options","mergeEqualOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mergeModules","path":["lib","mergeModules"],"aliases":[["lib","modules","mergeModules"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":563,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":563,"column":18},"path":["lib","mergeModules"],"pos_type":"Lambda"}},"content":{"content":"\nMerge a list of modules. This will recurse over the option\ndeclarations in all modules, combining them into a single set.\nAt the same time, for each option declaration, it will merge the\ncorresponding option definitions in all machines, returning them\nin the value attribute of each option.\nThis returns a set like\n{\n# A recursive set of options along with their final values\nmatchedOptions = {\nfoo = { _type = \"option\"; value = \"option value of foo\"; ... };\nbar.baz = { _type = \"option\"; value = \"option value of bar.baz\"; ... };\n...\n};\n# A list of definitions that weren't matched by any option\nunmatchedDefns = [\n{ file = \"file.nix\"; prefix = [ \"qux\" ]; value = \"qux\"; }\n...\n];\n}\n\n# Arguments\n\n- [prefix] \n- [modules] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":563,"column":18},"path":["lib","mergeModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeModules' (Prime)","path":["lib","mergeModules'"],"aliases":[["lib","modules","mergeModules'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":567,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":567,"column":19},"path":["lib","mergeModules'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":567,"column":19},"path":["lib","mergeModules'"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeOneOption","path":["lib","mergeOneOption"],"aliases":[["lib","options","mergeOneOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":36},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mergeOptionDecls","path":["lib","mergeOptionDecls"],"aliases":[["lib","modules","mergeOptionDecls"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":772,"column":4},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":772,"column":4},"path":["lib","mergeOptionDecls"],"pos_type":"Lambda"}},"content":{"content":"\nMerge multiple option declarations into a single declaration. In\ngeneral, there should be only one declaration of each option.\nThe exception is the options attribute, which specifies\nsub-options. These can be specified multiple times to allow one\nmodule to add sub-options to an option declared somewhere else\n(e.g. multiple modules define sub-options for fileSystems).\n'loc' is the list of attribute names where the option is located.\n'opts' is a list of modules. Each module has an options attribute which\ncorrespond to the definition of 'loc' in 'opt.file'.\n\n# Arguments\n\n- [loc] \n- [opts] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":772,"column":4},"path":["lib","mergeOptionDecls"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeUniqueOption","path":["lib","mergeUniqueOption"],"aliases":[["lib","options","mergeUniqueOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":23},"path":["lib","mergeUniqueOption"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":23},"path":["lib","mergeUniqueOption"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mesonBool","path":["lib","mesonBool"],"aliases":[["lib","strings","mesonBool"]],"signature":"mesonBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":3},"path":["lib","strings","mesonBool"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<condition>={true,false} string that can be passed to typical\nMeson invocations.\n\n# Example\n\n```nix\nmesonBool \"hardened\" true\n=> \"-Dhardened=true\"\nmesonBool \"static\" false\n=> \"-Dstatic=false\"\n```\n\n# Type\n\n```\nmesonBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n```\n\n# Arguments\n\n- [condition] \n- [flag] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":3},"path":["lib","strings","mesonBool"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mesonEnable","path":["lib","mesonEnable"],"aliases":[["lib","strings","mesonEnable"]],"signature":"mesonEnable :: string -> bool -> string\n @param feature The feature to be enabled or disabled\n @param flag The controlling flag\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":3},"path":["lib","strings","mesonEnable"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<feature>={enabled,disabled} string that can be passed to\ntypical Meson invocations.\n\n# Example\n\n```nix\nmesonEnable \"docs\" true\n=> \"-Ddocs=enabled\"\nmesonEnable \"savage\" false\n=> \"-Dsavage=disabled\"\n```\n\n# Type\n\n```\nmesonEnable :: string -> bool -> string\n @param feature The feature to be enabled or disabled\n @param flag The controlling flag\n```\n\n# Arguments\n\n- [feature] \n- [flag] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":3},"path":["lib","strings","mesonEnable"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mesonOption","path":["lib","mesonOption"],"aliases":[["lib","strings","mesonOption"]],"signature":"mesonOption :: string -> string -> string\n @param feature The feature to be set\n @param value The desired value\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":3},"path":["lib","strings","mesonOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<feature>=<value> string that can be passed to typical Meson\ninvocations.\n\n# Example\n\n```nix\nmesonOption \"engine\" \"opengl\"\n=> \"-Dengine=opengl\"\n```\n\n# Type\n\n```\nmesonOption :: string -> string -> string\n @param feature The feature to be set\n @param value The desired value\n```\n\n# Arguments\n\n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":3},"path":["lib","strings","mesonOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.min","path":["lib","min"],"aliases":[["lib","trivial","min"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":3},"path":["lib","trivial","min"],"pos_type":"Attribute"}},"content":{"content":"\nReturn minimum of two numbers.\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":3},"path":["lib","trivial","min"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mirrorFunctionArgs","path":["lib","mirrorFunctionArgs"],"aliases":[["lib","trivial","mirrorFunctionArgs"]],"signature":"mirrorFunctionArgs :: (a -> b) -> (a -> c) -> (a -> c)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":778,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":776,"column":3},"path":["lib","trivial","mirrorFunctionArgs"],"pos_type":"Attribute"}},"content":{"content":"\n`mirrorFunctionArgs f g` creates a new function `g'` with the same behavior as `g` (`g' x == g x`)\nbut its function arguments mirroring `f` (`lib.functionArgs g' == lib.functionArgs f`).\n\n# Example\n\n```nix\naddab = {a, b}: a + b\naddab { a = 2; b = 4; }\n=> 6\nlib.functionArgs addab\n=> { a = false; b = false; }\naddab1 = attrs: addab attrs + 1\naddab1 { a = 2; b = 4; }\n=> 7\nlib.functionArgs addab1\n=> { }\naddab1' = lib.mirrorFunctionArgs addab addab1\naddab1' { a = 2; b = 4; }\n=> 7\nlib.functionArgs addab1'\n=> { a = false; b = false; }\n```\n\n# Type\n\n```\nmirrorFunctionArgs :: (a -> b) -> (a -> c) -> (a -> c)\n```\n\n# Arguments\n\n- [f] Function to provide the argument metadata\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":776,"column":3},"path":["lib","trivial","mirrorFunctionArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mkAfter","path":["lib","mkAfter"],"aliases":[["lib","modules","mkAfter"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":23},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkAliasAndWrapDefinitions","path":["lib","mkAliasAndWrapDefinitions"],"aliases":[["lib","modules","mkAliasAndWrapDefinitions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":31},"path":["lib","mkAliasAndWrapDefinitions"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":31},"path":["lib","mkAliasAndWrapDefinitions"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkAliasDefinitions","path":["lib","mkAliasDefinitions"],"aliases":[["lib","modules","mkAliasDefinitions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":37},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkAliasOptionModule","path":["lib","mkAliasOptionModule"],"aliases":[["lib","modules","mkAliasOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","mkAliasOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nLike mkRenamedOptionModule, but doesn't show a warning.\n\n# Arguments\n\n- [from] \n- [to] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","mkAliasOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkAliasOptionModuleMD","path":["lib","mkAliasOptionModuleMD"],"aliases":[["lib","modules","mkAliasOptionModuleMD"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","mkAliasOptionModuleMD"],"pos_type":"Lambda"}},"content":{"content":"\nLike mkRenamedOptionModule, but doesn't show a warning.\n\n# Arguments\n\n- [from] \n- [to] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","mkAliasOptionModuleMD"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkAssert","path":["lib","mkAssert"],"aliases":[["lib","modules","mkAssert"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1074,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1074,"column":14},"path":["lib","mkAssert"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1074,"column":14},"path":["lib","mkAssert"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkBefore","path":["lib","mkBefore"],"aliases":[["lib","modules","mkBefore"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":23},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkChangedOptionModule","path":["lib","mkChangedOptionModule"],"aliases":[["lib","modules","mkChangedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1320,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1320,"column":27},"path":["lib","mkChangedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nSingle \"from\" version of mkMergedOptionModule.\nReturn a module that causes a warning to be shown if the \"from\" option is\ndefined; the defined value can be used in the \"mergeFn\" to set the \"to\"\nvalue.\nThis function can be used to change an option into another that has a\ndifferent type.\n\"mergeFn\" takes the module \"config\" as a parameter and must return a value of\n\"to\" option type.\nmkChangedOptionModule [ \"a\" \"b\" \"c\" ] [ \"x\" \"y\" \"z\" ]\n(config:\nlet value = getAttrFromPath [ \"a\" \"b\" \"c\" ] config;\nin\nif value > 100 then \"high\"\nelse \"normal\")\n- options.a.b.c is a removed int option\n- options.x.y.z is a new str option that supersedes a.b.c\nThis show a warning if a.b.c is set, and set the value of x.y.z to the\nresult of the change function\n\n# Arguments\n\n- [from] \n- [to] \n- [changeFn] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1320,"column":27},"path":["lib","mkChangedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkDefault","path":["lib","mkDefault"],"aliases":[["lib","modules","mkDefault"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkDerivedConfig","path":["lib","mkDerivedConfig"],"aliases":[["lib","modules","mkDerivedConfig"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1365,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1365,"column":21},"path":["lib","mkDerivedConfig"],"pos_type":"Lambda"}},"content":{"content":"\nmkDerivedConfig : Option a -> (a -> Definition b) -> Definition b\nCreate config definitions with the same priority as the definition of another option.\nThis should be used for option definitions where one option sets the value of another as a convenience.\nFor instance a config file could be set with a `text` or `source` option, where text translates to a `source`\nvalue using `mkDerivedConfig options.text (pkgs.writeText \"filename.conf\")`.\nIt takes care of setting the right priority using `mkOverride`.\n\n# Arguments\n\n- [opt] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1365,"column":21},"path":["lib","mkDerivedConfig"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkEnableOption","path":["lib","mkEnableOption"],"aliases":[["lib","options","mkEnableOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":124,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":122,"column":3},"path":["lib","options","mkEnableOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreates an Option attribute set for a boolean value option i.e an\noption to be toggled on or off:\n\n# Example\n\n```nix\nmkEnableOption \"foo\"\n=> { _type = \"option\"; default = false; description = \"Whether to enable foo.\"; example = true; type = { ... }; }\n```\n\n# Arguments\n\n- [name] Name for the created option\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":122,"column":3},"path":["lib","options","mkEnableOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mkFixStrictness","path":["lib","mkFixStrictness"],"aliases":[["lib","modules","mkFixStrictness"]],"signature":"id :: a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"path":["lib","mkFixStrictness"],"pos_type":"Lambda"}},"content":{"content":"\nThe identity function\nFor when you need a function that does “nothing”.\n\n# Type\n\n```\nid :: a -> a\n```\n\n# Arguments\n\n- [x] The value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"path":["lib","mkFixStrictness"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkForce","path":["lib","mkForce"],"aliases":[["lib","modules","mkForce"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkIf","path":["lib","mkIf"],"aliases":[["lib","modules","mkIf"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1069,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1069,"column":10},"path":["lib","mkIf"],"pos_type":"Lambda"}},"content":{"content":"\nProperties.\n\n# Arguments\n\n- [condition] \n- [content] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1069,"column":10},"path":["lib","mkIf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkImageMediaOverride","path":["lib","mkImageMediaOverride"],"aliases":[["lib","modules","mkImageMediaOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkMerge","path":["lib","mkMerge"],"aliases":[["lib","modules","mkMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1079,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1079,"column":13},"path":["lib","mkMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1079,"column":13},"path":["lib","mkMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkMergedOptionModule","path":["lib","mkMergedOptionModule"],"aliases":[["lib","modules","mkMergedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1269,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1269,"column":26},"path":["lib","mkMergedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a module that causes a warning to be shown if any of the \"from\"\noption is defined; the defined values can be used in the \"mergeFn\" to set\nthe \"to\" value.\nThis function can be used to merge multiple options into one that has a\ndifferent type.\n\"mergeFn\" takes the module \"config\" as a parameter and must return a value\nof \"to\" option type.\nmkMergedOptionModule\n[ [ \"a\" \"b\" \"c\" ]\n[ \"d\" \"e\" \"f\" ] ]\n[ \"x\" \"y\" \"z\" ]\n(config:\nlet value = p: getAttrFromPath p config;\nin\nif (value [ \"a\" \"b\" \"c\" ]) == true then \"foo\"\nelse if (value [ \"d\" \"e\" \"f\" ]) == true then \"bar\"\nelse \"baz\")\n- options.a.b.c is a removed boolean option\n- options.d.e.f is a removed boolean option\n- options.x.y.z is a new str option that combines a.b.c and d.e.f\nfunctionality\nThis show a warning if any a.b.c or d.e.f is set, and set the value of\nx.y.z to the result of the merge function\n\n# Arguments\n\n- [from] \n- [to] \n- [mergeFn] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1269,"column":26},"path":["lib","mkMergedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkOption","path":["lib","mkOption"],"aliases":[["lib","options","mkOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":82,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":81,"column":3},"path":["lib","options","mkOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreates an Option attribute set. mkOption accepts an attribute set with the following keys:\nAll keys default to `null` when not given.\n\n# Example\n\n```nix\nmkOption { } // => { _type = \"option\"; }\nmkOption { default = \"foo\"; } // => { _type = \"option\"; default = \"foo\"; }\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":81,"column":3},"path":["lib","options","mkOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mkOptionDefault","path":["lib","mkOptionDefault"],"aliases":[["lib","modules","mkOptionDefault"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mkOptionType","path":["lib","mkOptionType"],"aliases":[["lib","types","mkOptionType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":149,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":109,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":109,"column":5},"path":["lib","mkOptionType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":109,"column":5},"path":["lib","mkOptionType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkOrder","path":["lib","mkOrder"],"aliases":[["lib","modules","mkOrder"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":13},"path":["lib","mkOrder"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":13},"path":["lib","mkOrder"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkOverride","path":["lib","mkOverride"],"aliases":[["lib","modules","mkOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":16},"path":["lib","mkOverride"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":16},"path":["lib","mkOverride"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkPackageOption","path":["lib","mkPackageOption"],"aliases":[["lib","options","mkPackageOption"]],"signature":"mkPackageOption :: pkgs -> (string|[string]) -> { nullable? :: bool, default? :: string|[string], example? :: null|string|[string], extraDescription? :: string, pkgsText? :: string } -> option\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":205,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":203,"column":3},"path":["lib","options","mkPackageOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreates an Option attribute set for an option that specifies the\npackage a module should use for some purpose.\nThe package is specified in the third argument under `default` as a list of strings\nrepresenting its attribute path in nixpkgs (or another package set).\nBecause of this, you need to pass nixpkgs itself (usually `pkgs` in a module;\nalternatively to nixpkgs itself, another package set) as the first argument.\nIf you pass another package set you should set the `pkgsText` option.\nThis option is used to display the expression for the package set. It is `\"pkgs\"` by default.\nIf your expression is complex you should parenthesize it, as the `pkgsText` argument\nis usually immediately followed by an attribute lookup (`.`).\nThe second argument may be either a string or a list of strings.\nIt provides the display name of the package in the description of the generated option\n(using only the last element if the passed value is a list)\nand serves as the fallback value for the `default` argument.\nTo include extra information in the description, pass `extraDescription` to\nappend arbitrary text to the generated description.\nYou can also pass an `example` value, either a literal string or an attribute path.\nThe `default` argument can be omitted if the provided name is\nan attribute of pkgs (if `name` is a string) or a valid attribute path in pkgs (if `name` is a list).\nYou can also set `default` to just a string in which case it is interpreted as an attribute name\n(a singleton attribute path, if you will).\nIf you wish to explicitly provide no default, pass `null` as `default`.\nIf you want users to be able to set no package, pass `nullable = true`.\nIn this mode a `default = null` will not be interpreted as no default and is interpreted literally.\n\n# Example\n\n```nix\nmkPackageOption pkgs \"hello\" { }\n=> { ...; default = pkgs.hello; defaultText = literalExpression \"pkgs.hello\"; description = \"The hello package to use.\"; type = package; }\nmkPackageOption pkgs \"GHC\" {\n default = [ \"ghc\" ];\n example = \"pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])\";\n}\n=> { ...; default = pkgs.ghc; defaultText = literalExpression \"pkgs.ghc\"; description = \"The GHC package to use.\"; example = literalExpression \"pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])\"; type = package; }\nmkPackageOption pkgs [ \"python3Packages\" \"pytorch\" ] {\n extraDescription = \"This is an example and doesn't actually do anything.\";\n}\n=> { ...; default = pkgs.python3Packages.pytorch; defaultText = literalExpression \"pkgs.python3Packages.pytorch\"; description = \"The pytorch package to use. This is an example and doesn't actually do anything.\"; type = package; }\nmkPackageOption pkgs \"nushell\" {\n nullable = true;\n}\n=> { ...; default = pkgs.nushell; defaultText = literalExpression \"pkgs.nushell\"; description = \"The nushell package to use.\"; type = nullOr package; }\nmkPackageOption pkgs \"coreutils\" {\n default = null;\n}\n=> { ...; description = \"The coreutils package to use.\"; type = package; }\nmkPackageOption pkgs \"dbus\" {\n nullable = true;\n default = null;\n}\n=> { ...; default = null; description = \"The dbus package to use.\"; type = nullOr package; }\nmkPackageOption pkgs.javaPackages \"OpenJFX\" {\n default = \"openjfx20\";\n pkgsText = \"pkgs.javaPackages\";\n}\n=> { ...; default = pkgs.javaPackages.openjfx20; defaultText = literalExpression \"pkgs.javaPackages.openjfx20\"; description = \"The OpenJFX package to use.\"; type = package; }\n```\n\n# Type\n\n```\nmkPackageOption :: pkgs -> (string|[string]) -> { nullable? :: bool, default? :: string|[string], example? :: null|string|[string], extraDescription? :: string, pkgsText? :: string } -> option\n```\n\n# Arguments\n\n- [pkgs] Package set (an instantiation of nixpkgs such as pkgs in modules or another package set)\n- [name] Name for the package, shown in option description\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":203,"column":3},"path":["lib","options","mkPackageOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mkPackageOptionMD","path":["lib","mkPackageOptionMD"],"aliases":[["lib","options","mkPackageOptionMD"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":205,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":245,"column":3},"path":["lib","options","mkPackageOptionMD"],"pos_type":"Attribute"}},"content":{"content":"\nAlias of mkPackageOption. Previously used to create options with markdown\ndocumentation, which is no longer required.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":245,"column":3},"path":["lib","options","mkPackageOptionMD"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mkRemovedOptionModule","path":["lib","mkRemovedOptionModule"],"aliases":[["lib","modules","mkRemovedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1173,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1173,"column":27},"path":["lib","mkRemovedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a module that causes a warning to be shown if the\nspecified option is defined. For example,\nmkRemovedOptionModule [ \"boot\" \"loader\" \"grub\" \"bootDevice\" ] \"<replacement instructions>\"\ncauses a assertion if the user defines boot.loader.grub.bootDevice.\nreplacementInstructions is a string that provides instructions on\nhow to achieve the same functionality without the removed option,\nor alternatively a reasoning why the functionality is not needed.\nreplacementInstructions SHOULD be provided!\n\n# Arguments\n\n- [optionName] \n- [replacementInstructions] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1173,"column":27},"path":["lib","mkRemovedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkRenamedOptionModule","path":["lib","mkRenamedOptionModule"],"aliases":[["lib","modules","mkRenamedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1206,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1206,"column":27},"path":["lib","mkRenamedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a module that causes a warning to be shown if the\nspecified \"from\" option is defined; the defined value is however\nforwarded to the \"to\" option. This can be used to rename options\nwhile providing backward compatibility. For example,\nmkRenamedOptionModule [ \"boot\" \"copyKernels\" ] [ \"boot\" \"loader\" \"grub\" \"copyKernels\" ]\nforwards any definitions of boot.copyKernels to\nboot.loader.grub.copyKernels while printing a warning.\nThis also copies over the priority from the aliased option to the\nnon-aliased option.\n\n# Arguments\n\n- [from] \n- [to] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1206,"column":27},"path":["lib","mkRenamedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkRenamedOptionModuleWith","path":["lib","mkRenamedOptionModuleWith"],"aliases":[["lib","modules","mkRenamedOptionModuleWith"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1213,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1213,"column":31},"path":["lib","mkRenamedOptionModuleWith"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1213,"column":31},"path":["lib","mkRenamedOptionModuleWith"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mkSinkUndeclaredOptions","path":["lib","mkSinkUndeclaredOptions"],"aliases":[["lib","options","mkSinkUndeclaredOptions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":3},"path":["lib","options","mkSinkUndeclaredOptions"],"pos_type":"Attribute"}},"content":{"content":"\nThis option accepts anything, but it does not produce any result.\nThis is useful for sharing a module across different module sets\nwithout having to implement similar features as long as the\nvalues of the options are not accessed.\n\n# Arguments\n\n- [attrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":3},"path":["lib","options","mkSinkUndeclaredOptions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mkVMOverride","path":["lib","mkVMOverride"],"aliases":[["lib","modules","mkVMOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.mod","path":["lib","mod"],"aliases":[["lib","trivial","mod"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":3},"path":["lib","trivial","mod"],"pos_type":"Attribute"}},"content":{"content":"\nInteger modulus\n\n# Example\n\n```nix\nmod 11 10\n=> 1\nmod 1 10\n=> 1\n```\n\n# Arguments\n\n- [base] \n- [int] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":3},"path":["lib","trivial","mod"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.modifySumArgs","path":["lib","modifySumArgs"],"aliases":[["lib","misc","modifySumArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":19},"path":["lib","modifySumArgs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":19},"path":["lib","modifySumArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mutuallyExclusive","path":["lib","mutuallyExclusive"],"aliases":[["lib","lists","mutuallyExclusive"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":3},"path":["lib","lists","mutuallyExclusive"],"pos_type":"Attribute"}},"content":{"content":"\nTest if two lists have no common element.\nIt should be slightly more efficient than (intersectLists a b == [])\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":3},"path":["lib","lists","mutuallyExclusive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.nameFromURL","path":["lib","nameFromURL"],"aliases":[["lib","strings","nameFromURL"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":3},"path":["lib","strings","nameFromURL"],"pos_type":"Attribute"}},"content":{"content":"\nExtract name with version from URL. Ask for separator which is\nsupposed to start extension.\n\n# Example\n\n```nix\nnameFromURL \"https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2\" \"-\"\n=> \"nix\"\nnameFromURL \"https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2\" \"_\"\n=> \"nix-1.7-x86\"\n```\n\n# Arguments\n\n- [url] \n- [sep] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":3},"path":["lib","strings","nameFromURL"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.nameValuePair","path":["lib","nameValuePair"],"aliases":[["lib","attrsets","nameValuePair"]],"signature":"nameValuePair :: String -> Any -> { name :: String; value :: Any; }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":677,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":675,"column":3},"path":["lib","attrsets","nameValuePair"],"pos_type":"Attribute"}},"content":{"content":"\nUtility function that creates a `{name, value}` pair as expected by `builtins.listToAttrs`.\n\n# Example\n\n```nix\nnameValuePair \"some\" 6\n=> { name = \"some\"; value = 6; }\n```\n\n# Type\n\n```\nnameValuePair :: String -> Any -> { name :: String; value :: Any; }\n```\n\n# Arguments\n\n- [name] Attribute name\n- [value] Attribute value\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":675,"column":3},"path":["lib","attrsets","nameValuePair"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.naturalSort","path":["lib","naturalSort"],"aliases":[["lib","lists","naturalSort"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":3},"path":["lib","lists","naturalSort"],"pos_type":"Attribute"}},"content":{"content":"\nSort list using \"Natural sorting\".\nNumeric portions of strings are sorted in numeric order.\n\n# Example\n\n```nix\nnaturalSort [\"disk11\" \"disk8\" \"disk100\" \"disk9\"]\n=> [\"disk8\" \"disk9\" \"disk11\" \"disk100\"]\nnaturalSort [\"10.46.133.149\" \"10.5.16.62\" \"10.54.16.25\"]\n=> [\"10.5.16.62\" \"10.46.133.149\" \"10.54.16.25\"]\nnaturalSort [\"v0.2\" \"v0.15\" \"v0.0.9\"]\n=> [ \"v0.0.9\" \"v0.2\" \"v0.15\" ]\n```\n\n# Arguments\n\n- [lst] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":3},"path":["lib","lists","naturalSort"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.nixType","path":["lib","nixType"],"aliases":[["lib","misc","nixType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":13},"path":["lib","nixType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":13},"path":["lib","nixType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.noDepEntry","path":["lib","noDepEntry"],"aliases":[["lib","stringsWithDeps","noDepEntry"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":115,"column":35},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":16},"path":["lib","noDepEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":16},"path":["lib","noDepEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.nvs","path":["lib","nvs"],"aliases":[["lib","misc","nvs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":9},"path":["lib","nvs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":9},"path":["lib","nvs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.optionAttrSetToDocList","path":["lib","optionAttrSetToDocList"],"aliases":[["lib","options","optionAttrSetToDocList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":32},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.optionAttrSetToDocList' (Prime)","path":["lib","optionAttrSetToDocList'"],"aliases":[["lib","options","optionAttrSetToDocList'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":29},"path":["lib","optionAttrSetToDocList'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":29},"path":["lib","optionAttrSetToDocList'"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.optional","path":["lib","optional"],"aliases":[["lib","lists","optional"]],"signature":"optional :: bool -> a -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":3},"path":["lib","lists","optional"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a singleton list or an empty list, depending on a boolean\nvalue. Useful when building lists with optional elements\n(e.g. `++ optional (system == \"i686-linux\") firefox`).\n\n# Example\n\n```nix\noptional true \"foo\"\n=> [ \"foo\" ]\noptional false \"foo\"\n=> [ ]\n```\n\n# Type\n\n```\noptional :: bool -> a -> [a]\n```\n\n# Arguments\n\n- [cond] \n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":3},"path":["lib","lists","optional"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.optionalAttrs","path":["lib","optionalAttrs"],"aliases":[["lib","attrsets","optionalAttrs"]],"signature":"optionalAttrs :: Bool -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1006,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1004,"column":3},"path":["lib","attrsets","optionalAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nIf `cond` is true, return the attribute set `as`,\notherwise an empty attribute set.\n\n# Example\n\n```nix\noptionalAttrs (true) { my = \"set\"; }\n=> { my = \"set\"; }\noptionalAttrs (false) { my = \"set\"; }\n=> { }\n```\n\n# Type\n\n```\noptionalAttrs :: Bool -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [cond] Condition under which the `as` attribute set is returned.\n- [as] The attribute set to return if `cond` is `true`.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1004,"column":3},"path":["lib","attrsets","optionalAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.optionalString","path":["lib","optionalString"],"aliases":[["lib","strings","optionalString"]],"signature":"optionalString :: bool -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":430,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":428,"column":3},"path":["lib","strings","optionalString"],"pos_type":"Attribute"}},"content":{"content":"\nDepending on the boolean `cond', return either the given string\nor the empty string. Useful to concatenate against a bigger string.\n\n# Example\n\n```nix\noptionalString true \"some-string\"\n=> \"some-string\"\noptionalString false \"some-string\"\n=> \"\"\n```\n\n# Type\n\n```\noptionalString :: bool -> string -> string\n```\n\n# Arguments\n\n- [cond] Condition\n- [string] String to return if condition is true\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":428,"column":3},"path":["lib","strings","optionalString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.optionals","path":["lib","optionals"],"aliases":[["lib","lists","optionals"]],"signature":"optionals :: bool -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":603,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":601,"column":3},"path":["lib","lists","optionals"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list or an empty list, depending on a boolean value.\n\n# Example\n\n```nix\noptionals true [ 2 3 ]\n=> [ 2 3 ]\noptionals false [ 2 3 ]\n=> [ ]\n```\n\n# Type\n\n```\noptionals :: bool -> [a] -> [a]\n```\n\n# Arguments\n\n- [cond] Condition\n- [elems] List to return if condition is true\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":601,"column":3},"path":["lib","lists","optionals"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.or","path":["lib","or"],"aliases":[["lib","trivial","or"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":3},"path":["lib","trivial","or"],"pos_type":"Attribute"}},"content":{"content":"\nboolean “or”\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":3},"path":["lib","trivial","or"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.overrideDerivation","path":["lib","overrideDerivation"],"aliases":[["pkgs","dockerTools","overrideDerivation"],["lib","customisation","overrideDerivation"],["pkgs","pythonPackages","overrideDerivation"],["pkgs","stdenv","overrideDerivation"],["pkgs","writers","overrideDerivation"]],"signature":"overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":117,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}},"content":{"content":"\n`overrideDerivation drv f` takes a derivation (i.e., the result\nof a call to the builtin function `derivation`) and returns a new\nderivation in which the attributes of the original are overridden\naccording to the function `f`. The function `f` is called with\nthe original derivation attributes.\n`overrideDerivation` allows certain \"ad-hoc\" customisation\nscenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,\nif you want to \"patch\" the derivation returned by a package\nfunction in Nixpkgs to build another version than what the\nfunction itself provides.\nFor another application, see build-support/vm, where this\nfunction is used to build arbitrary derivations inside a QEMU\nvirtual machine.\nNote that in order to preserve evaluation errors, the new derivation's\noutPath depends on the old one's, which means that this function cannot\nbe used in circular situations when the old derivation also depends on the\nnew one.\nYou should in general prefer `drv.overrideAttrs` over this function;\nsee the nixpkgs manual for more information on overriding.\n\n# Example\n\n```nix\nmySed = overrideDerivation pkgs.gnused (oldAttrs: {\n name = \"sed-4.2.2-pre\";\n src = fetchurl {\n url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;\n hash = \"sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=\";\n };\n patches = [];\n});\n```\n\n# Type\n\n```\noverrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.overrideExisting","path":["lib","overrideExisting"],"aliases":[["lib","attrsets","overrideExisting"]],"signature":"overrideExisting :: AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1317,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1315,"column":3},"path":["lib","attrsets","overrideExisting"],"pos_type":"Attribute"}},"content":{"content":"\nOverride only the attributes that are already present in the old set\nuseful for deep-overriding.\n\n# Example\n\n```nix\noverrideExisting {} { a = 1; }\n=> {}\noverrideExisting { b = 2; } { a = 1; }\n=> { b = 2; }\noverrideExisting { a = 3; b = 2; } { a = 1; }\n=> { a = 1; b = 2; }\n```\n\n# Type\n\n```\noverrideExisting :: AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [old] Original attribute set\n- [new] Attribute set with attributes to override in `old`.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1315,"column":3},"path":["lib","attrsets","overrideExisting"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.packEntry","path":["lib","packEntry"],"aliases":[["lib","stringsWithDeps","packEntry"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":115,"column":35},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":15},"path":["lib","packEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":15},"path":["lib","packEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.partition","path":["lib","partition"],"aliases":[["builtins","partition"],["lib","lists","partition"]],"signature":"(a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }\n","is_primop":true,"primop_meta":{"name":"partition","args":["pred","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"path":["lib","lists","partition"],"pos_type":"Attribute"}},"content":{"content":"\nSplits the elements of a list in two lists, `right` and\n`wrong`, depending on the evaluation of a predicate.\n\n# Example\n\n```nix\npartition (x: x > 2) [ 5 1 2 3 4 ]\n=> { right = [ 5 3 4 ]; wrong = [ 1 2 ]; }\n```\n\n# Type\n\n```\n(a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"path":["lib","lists","partition"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.pathExists","path":["lib","pathExists"],"aliases":[["builtins","pathExists"],["lib","trivial","pathExists"]],"signature":null,"is_primop":true,"primop_meta":{"name":"pathExists","args":["path"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","pathExists"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if the path *path* exists at evaluation time, and\n`false` otherwise.\n","source":{"position":null,"path":["lib","pathExists"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.pathHasContext","path":["lib","pathHasContext"],"aliases":[["builtins","hasContext"],["lib","sources","pathHasContext"]],"signature":null,"is_primop":true,"primop_meta":{"name":"hasContext","args":["s"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","pathHasContext"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if string *s* has a non-empty context. The\ncontext can be obtained with\n[`getContext`](#builtins-getContext).\n","source":{"position":null,"path":["lib","pathHasContext"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.pathIsDirectory","path":["lib","pathIsDirectory"],"aliases":[["lib","filesystem","pathIsDirectory"],["lib","sources","pathIsDirectory"]],"signature":"pathIsDirectory :: Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":124,"column":30},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"path":["lib","filesystem","pathIsDirectory"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a path exists and is a directory.\n\n# Example\n\n```nix\npathIsDirectory /.\n=> true\npathIsDirectory /this/does/not/exist\n=> false\npathIsDirectory /some/file.nix\n=> false\n```\n\n# Type\n\n```\npathIsDirectory :: Path -> Bool\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"path":["lib","filesystem","pathIsDirectory"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.pathIsGitRepo","path":["lib","pathIsGitRepo"],"aliases":[["lib","sources","pathIsGitRepo"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":204,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":204,"column":19},"path":["lib","pathIsGitRepo"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":204,"column":19},"path":["lib","pathIsGitRepo"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.pathIsRegularFile","path":["lib","pathIsRegularFile"],"aliases":[["lib","filesystem","pathIsRegularFile"],["lib","sources","pathIsRegularFile"]],"signature":"pathIsRegularFile :: Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":124,"column":30},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"path":["lib","filesystem","pathIsRegularFile"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a path exists and is a regular file, meaning not a symlink or any other special file type.\n\n# Example\n\n```nix\npathIsRegularFile /.\n=> false\npathIsRegularFile /this/does/not/exist\n=> false\npathIsRegularFile /some/file.nix\n=> true\n```\n\n# Type\n\n```\npathIsRegularFile :: Path -> Bool\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"path":["lib","filesystem","pathIsRegularFile"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.pathType","path":["lib","pathType"],"aliases":[["builtins","readFileType"],["lib","filesystem","pathType"],["lib","sources","pathType"]],"signature":"pathType :: Path -> String\n","is_primop":true,"primop_meta":{"name":"readFileType","args":["p"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":124,"column":30},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}},"content":{"content":"\nThe type of a path. The path needs to exist and be accessible.\nThe result is either \"directory\" for a directory, \"regular\" for a regular file, \"symlink\" for a symlink, or \"unknown\" for anything else.\n\n# Example\n\n```nix\npathType /.\n=> \"directory\"\npathType /some/file.nix\n=> \"regular\"\n```\n\n# Type\n\n```\npathType :: Path -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.pipe","path":["lib","pipe"],"aliases":[["lib","trivial","pipe"]],"signature":"pipe :: a -> [<functions>] -> <return type of last function>\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":3},"path":["lib","trivial","pipe"],"pos_type":"Attribute"}},"content":{"content":"\nPipes a value through a list of functions, left to right.\n\n# Example\n\n```nix\npipe 2 [\n (x: x + 2) # 2 + 2 = 4\n (x: x * 2) # 4 * 2 = 8\n ]\n => 8\n # ideal to do text transformations\n pipe [ \"a/b\" \"a/c\" ] [\n # create the cp command\n (map (file: ''cp \"${src}/${file}\" $out\\n''))\n # concatenate all commands into one string\n lib.concatStrings\n # make that string into a nix derivation\n (pkgs.runCommand \"copy-to-out\" {})\n ]\n => <drv which copies all files to $out>\nThe output type of each function has to be the input type\nof the next function, and the last function returns the\nfinal value.\n```\n\n# Type\n\n```\npipe :: a -> [<functions>] -> <return type of last function>\n```\n\n# Arguments\n\n- [val] \n- [functions] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":3},"path":["lib","trivial","pipe"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.pushDownProperties","path":["lib","pushDownProperties"],"aliases":[["lib","modules","pushDownProperties"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":918,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":918,"column":24},"path":["lib","pushDownProperties"],"pos_type":"Lambda"}},"content":{"content":"\nGiven a config set, expand mkMerge properties, and push down the\nother properties into the children. The result is a list of\nconfig sets that do not have properties at top-level. For\nexample,\nmkMerge [ { boot = set1; } (mkIf cond { boot = set2; services = set3; }) ]\nis transformed into\n[ { boot = set1; } { boot = mkIf cond set2; services = mkIf cond set3; } ].\nThis transform is the critical step that allows mkIf conditions\nto refer to the full configuration without creating an infinite\nrecursion.\n\n# Arguments\n\n- [cfg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":918,"column":24},"path":["lib","pushDownProperties"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.range","path":["lib","range"],"aliases":[["lib","lists","range"]],"signature":"range :: int -> int -> [int]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":655,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":653,"column":3},"path":["lib","lists","range"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list of integers from `first` up to and including `last`.\n\n# Example\n\n```nix\nrange 2 4\n=> [ 2 3 4 ]\nrange 3 2\n=> [ ]\n```\n\n# Type\n\n```\nrange :: int -> int -> [int]\n```\n\n# Arguments\n\n- [first] First integer in the range\n- [last] Last integer in the range\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":653,"column":3},"path":["lib","lists","range"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.readFile","path":["lib","readFile"],"aliases":[["builtins","readFile"],["lib","strings","readFile"],["lib","trivial","readFile"]],"signature":null,"is_primop":true,"primop_meta":{"name":"readFile","args":["path"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","readFile"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the contents of the file *path* as a string.\n","source":{"position":null,"path":["lib","readFile"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.readPathsFromFile","path":["lib","readPathsFromFile"],"aliases":[["lib","strings","readPathsFromFile"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1830,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1829,"column":3},"path":["lib","strings","readPathsFromFile"],"pos_type":"Attribute"}},"content":{"content":"\nRead a list of paths from `file`, relative to the `rootPath`.\nLines beginning with `#` are treated as comments and ignored.\nWhitespace is significant.\nNOTE: This function is not performant and should be avoided.\n\n# Example\n\n```nix\nreadPathsFromFile /prefix\n ./pkgs/development/libraries/qt-5/5.4/qtbase/series\n=> [ \"/prefix/dlopen-resolv.patch\" \"/prefix/tzdir.patch\"\n \"/prefix/dlopen-libXcursor.patch\" \"/prefix/dlopen-openssl.patch\"\n \"/prefix/dlopen-dbus.patch\" \"/prefix/xdg-config-dirs.patch\"\n \"/prefix/nix-profiles-library-paths.patch\"\n \"/prefix/compose-search-path.patch\" ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1829,"column":3},"path":["lib","strings","readPathsFromFile"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.recurseIntoAttrs","path":["lib","recurseIntoAttrs"],"aliases":[["lib","attrsets","recurseIntoAttrs"],["pkgs","recurseIntoAttrs"]],"signature":"recurseIntoAttrs :: AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1512,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"path":["lib","attrsets","recurseIntoAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMake various Nix tools consider the contents of the resulting\nattribute set when looking for what to build, find, etc.\nThis function only affects a single attribute set; it does not\napply itself recursively for nested attribute sets.\n\n# Example\n\n```nix\n{ pkgs ? import <nixpkgs> {} }:\n{\n myTools = pkgs.lib.recurseIntoAttrs {\n inherit (pkgs) hello figlet;\n };\n}\n```\n\n# Type\n\n```\nrecurseIntoAttrs :: AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [attrs] An attribute set to scan for derivations.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"path":["lib","attrsets","recurseIntoAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.recursiveUpdate","path":["lib","recursiveUpdate"],"aliases":[["lib","attrsets","recursiveUpdate"]],"signature":"recursiveUpdate :: AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1246,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1244,"column":3},"path":["lib","attrsets","recursiveUpdate"],"pos_type":"Attribute"}},"content":{"content":"\nA recursive variant of the update operator //. The recursion\nstops when one of the attribute values is not an attribute set,\nin which case the right hand side value takes precedence over the\nleft hand side value.\n\n# Example\n\n```nix\nrecursiveUpdate {\n boot.loader.grub.enable = true;\n boot.loader.grub.device = \"/dev/hda\";\n} {\n boot.loader.grub.device = \"\";\n}\nreturns: {\n boot.loader.grub.enable = true;\n boot.loader.grub.device = \"\";\n}\n```\n\n# Type\n\n```\nrecursiveUpdate :: AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [lhs] Left attribute set of the merge.\n- [rhs] Right attribute set of the merge.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1244,"column":3},"path":["lib","attrsets","recursiveUpdate"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.recursiveUpdateUntil","path":["lib","recursiveUpdateUntil"],"aliases":[["lib","attrsets","recursiveUpdateUntil"]],"signature":"recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1194,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1192,"column":3},"path":["lib","attrsets","recursiveUpdateUntil"],"pos_type":"Attribute"}},"content":{"content":"\nDoes the same as the update operator '//' except that attributes are\nmerged until the given predicate is verified. The predicate should\naccept 3 arguments which are the path to reach the attribute, a part of\nthe first attribute set and a part of the second attribute set. When\nthe predicate is satisfied, the value of the first attribute set is\nreplaced by the value of the second attribute set.\n\n# Example\n\n```nix\nrecursiveUpdateUntil (path: l: r: path == [\"foo\"]) {\n # first attribute set\n foo.bar = 1;\n foo.baz = 2;\n bar = 3;\n} {\n #second attribute set\n foo.bar = 1;\n foo.quz = 2;\n baz = 4;\n}\n=> {\n foo.bar = 1; # 'foo.*' from the second set\n foo.quz = 2; #\n bar = 3; # 'bar' from the first set\n baz = 4; # 'baz' from the second set\n}\n```\n\n# Type\n\n```\nrecursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [pred] Predicate, taking the path to the current attribute as a list of strings for attribute names, and the two values at that path from the original arguments.\n- [lhs] Left attribute set of the merge.\n- [rhs] Right attribute set of the merge.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1192,"column":3},"path":["lib","attrsets","recursiveUpdateUntil"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.remove","path":["lib","remove"],"aliases":[["lib","lists","remove"]],"signature":"remove :: a -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":328,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":326,"column":3},"path":["lib","lists","remove"],"pos_type":"Attribute"}},"content":{"content":"\nRemove elements equal to 'e' from a list. Useful for buildInputs.\n\n# Example\n\n```nix\nremove 3 [ 1 3 4 3 ]\n=> [ 1 4 ]\n```\n\n# Type\n\n```\nremove :: a -> [a] -> [a]\n```\n\n# Arguments\n\n- [e] Element to remove from the list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":326,"column":3},"path":["lib","lists","remove"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.removePrefix","path":["lib","removePrefix"],"aliases":[["lib","lists","removePrefix"],["lib","path","removePrefix"],["lib","strings","removePrefix"]],"signature":"removePrefix :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1071,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1126,"column":3},"path":["lib","lists","removePrefix"],"pos_type":"Attribute"}},"content":{"content":"\nRemove the first list as a prefix from the second list.\nError if the first list isn't a prefix of the second list.\n\n# Example\n\n```nix\nremovePrefix [ 1 2 ] [ 1 2 3 4 ]\n=> [ 3 4 ]\nremovePrefix [ 0 1 ] [ 1 2 3 4 ]\n=> <error>\n```\n\n# Type\n\n```\nremovePrefix :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [list1] \n- [list2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1126,"column":3},"path":["lib","lists","removePrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.removeSuffix","path":["lib","removeSuffix"],"aliases":[["lib","strings","removeSuffix"]],"signature":"string -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1118,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1116,"column":3},"path":["lib","strings","removeSuffix"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a string without the specified suffix, if the suffix matches.\n\n# Example\n\n```nix\nremoveSuffix \"front\" \"homefront\"\n=> \"home\"\nremoveSuffix \"xxx\" \"homefront\"\n=> \"homefront\"\n```\n\n# Type\n\n```\nstring -> string -> string\n```\n\n# Arguments\n\n- [suffix] Suffix to remove if it matches\n- [str] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1116,"column":3},"path":["lib","strings","removeSuffix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.replaceChars","path":["lib","replaceChars"],"aliases":[["builtins","replaceStrings"],["lib","replaceStrings"],["lib","strings","replaceChars"],["lib","strings","replaceStrings"]],"signature":null,"is_primop":true,"primop_meta":{"name":"replaceStrings","args":["from","to","s"],"experimental":false,"arity":3},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","replaceChars"],"pos_type":"Lambda"}},"content":{"content":"\nGiven string *s*, replace every occurrence of the strings in *from*\nwith the corresponding string in *to*.\n\nThe argument *to* is lazy, that is, it is only evaluated when its corresponding pattern in *from* is matched in the string *s*\n\nExample:\n\n```nix\nbuiltins.replaceStrings [\"oo\" \"a\"] [\"a\" \"i\"] \"foobar\"\n```\n\nevaluates to `\"fabir\"`.\n","source":{"position":null,"path":["lib","replaceChars"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.replaceStrings","path":["lib","replaceStrings"],"aliases":[["builtins","replaceStrings"],["lib","replaceChars"],["lib","strings","replaceChars"],["lib","strings","replaceStrings"]],"signature":null,"is_primop":true,"primop_meta":{"name":"replaceStrings","args":["from","to","s"],"experimental":false,"arity":3},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","replaceStrings"],"pos_type":"Lambda"}},"content":{"content":"\nGiven string *s*, replace every occurrence of the strings in *from*\nwith the corresponding string in *to*.\n\nThe argument *to* is lazy, that is, it is only evaluated when its corresponding pattern in *from* is matched in the string *s*\n\nExample:\n\n```nix\nbuiltins.replaceStrings [\"oo\" \"a\"] [\"a\" \"i\"] \"foobar\"\n```\n\nevaluates to `\"fabir\"`.\n","source":{"position":null,"path":["lib","replaceStrings"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.replicate","path":["lib","replicate"],"aliases":[["lib","lists","replicate"],["lib","strings","replicate"]],"signature":"replicate :: int -> a -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":3},"path":["lib","lists","replicate"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list with `n` copies of an element.\n\n# Example\n\n```nix\nreplicate 3 \"a\"\n=> [ \"a\" \"a\" \"a\" ]\nreplicate 2 true\n=> [ true true ]\n```\n\n# Type\n\n```\nreplicate :: int -> a -> [a]\n```\n\n# Arguments\n\n- [n] \n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":3},"path":["lib","lists","replicate"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.reverseList","path":["lib","reverseList"],"aliases":[["lib","lists","reverseList"]],"signature":"reverseList :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":3},"path":["lib","lists","reverseList"],"pos_type":"Attribute"}},"content":{"content":"\nReverse the order of the elements of a list.\n\n# Example\n\n```nix\nreverseList [ \"b\" \"o\" \"j\" ]\n=> [ \"j\" \"o\" \"b\" ]\n```\n\n# Type\n\n```\nreverseList :: [a] -> [a]\n```\n\n# Arguments\n\n- [xs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":3},"path":["lib","lists","reverseList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.runTests","path":["lib","runTests"],"aliases":[["lib","debug","runTests"]],"signature":"runTests :: {\n tests = [ String ];\n ${testName} :: {\n expr :: a;\n expected :: a;\n };\n}\n->\n[\n {\n name :: String;\n expected :: a;\n result :: a;\n }\n]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":333,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":331,"column":3},"path":["lib","debug","runTests"],"pos_type":"Attribute"}},"content":{"content":"\nEvaluates a set of tests.\nA test is an attribute set `{expr, expected}`,\ndenoting an expression and its expected result.\nThe result is a `list` of __failed tests__, each represented as\n`{name, expected, result}`,\n- expected\n- What was passed as `expected`\n- result\n- The actual `result` of the test\nUsed for regression testing of the functions in lib; see\ntests.nix for more examples.\nImportant: Only attributes that start with `test` are executed.\n- If you want to run only a subset of the tests add the attribute `tests = [\"testName\"];`\n\n# Example\n\n```nix\nrunTests {\n testAndOk = {\n expr = lib.and true false;\n expected = false;\n };\n testAndFail = {\n expr = lib.and true false;\n expected = true;\n };\n}\n->\n[\n {\n name = \"testAndFail\";\n expected = true;\n result = false;\n }\n]\n```\n\n# Type\n\n```\nrunTests :: {\n tests = [ String ];\n ${testName} :: {\n expr :: a;\n expected :: a;\n };\n}\n->\n[\n {\n name :: String;\n expected :: a;\n result :: a;\n }\n]\n```\n\n# Arguments\n\n- [tests] Tests to run\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":331,"column":3},"path":["lib","debug","runTests"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.scrubOptionValue","path":["lib","scrubOptionValue"],"aliases":[["lib","options","scrubOptionValue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":3},"path":["lib","options","scrubOptionValue"],"pos_type":"Attribute"}},"content":{"content":"\nThis function recursively removes all derivation attributes from\n`x` except for the `name` attribute.\nThis is to make the generation of `options.xml` much more\nefficient: the XML representation of derivations is very large\n(on the order of megabytes) and is not actually used by the\nmanual generator.\nThis function was made obsolete by renderOptionValue and is kept for\ncompatibility with out-of-tree code.\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":3},"path":["lib","options","scrubOptionValue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.seq","path":["lib","seq"],"aliases":[["builtins","seq"],["lib","trivial","seq"]],"signature":null,"is_primop":true,"primop_meta":{"name":"seq","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","seq"],"pos_type":"Lambda"}},"content":{"content":"\nEvaluate *e1*, then evaluate and return *e2*. This ensures that a\ncomputation is strict in the value of *e1*.\n","source":{"position":null,"path":["lib","seq"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.setAttr","path":["lib","setAttr"],"aliases":[["lib","misc","setAttr"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":13},"path":["lib","setAttr"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":13},"path":["lib","setAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.setAttrByPath","path":["lib","setAttrByPath"],"aliases":[["lib","attrsets","setAttrByPath"]],"signature":"setAttrByPath :: [String] -> Any -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":119,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":117,"column":3},"path":["lib","attrsets","setAttrByPath"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a new attribute set with `value` set at the nested attribute location specified in `attrPath`.\n\n# Example\n\n```nix\nsetAttrByPath [\"a\" \"b\"] 3\n=> { a = { b = 3; }; }\n```\n\n# Type\n\n```\nsetAttrByPath :: [String] -> Any -> AttrSet\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to set\n- [value] The value to set at the location described by `attrPath`\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":117,"column":3},"path":["lib","attrsets","setAttrByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.setAttrMerge","path":["lib","setAttrMerge"],"aliases":[["lib","misc","setAttrMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":18},"path":["lib","setAttrMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":18},"path":["lib","setAttrMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.setDefaultModuleLocation","path":["lib","setDefaultModuleLocation"],"aliases":[["lib","modules","setDefaultModuleLocation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":459,"column":30},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":459,"column":30},"path":["lib","setDefaultModuleLocation"],"pos_type":"Lambda"}},"content":{"content":"\nWrap a module with a default location for reporting errors.\n\n# Arguments\n\n- [file] \n- [m] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":459,"column":30},"path":["lib","setDefaultModuleLocation"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.setFunctionArgs","path":["lib","setFunctionArgs"],"aliases":[["lib","trivial","setFunctionArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":3},"path":["lib","trivial","setFunctionArgs"],"pos_type":"Attribute"}},"content":{"content":"\nAdd metadata about expected function arguments to a function.\nThe metadata should match the format given by\nbuiltins.functionArgs, i.e. a set from expected argument to a bool\nrepresenting whether that argument has a default or not.\nsetFunctionArgs : (a → b) → Map String Bool → (a → b)\nThis function is necessary because you can't dynamically create a\nfunction of the { a, b ? foo, ... }: format, but some facilities\nlike callPackage expect to be able to query expected arguments.\n\n# Arguments\n\n- [f] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":3},"path":["lib","trivial","setFunctionArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.setName","path":["lib","setName"],"aliases":[["lib","meta","setName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":3},"path":["lib","meta","setName"],"pos_type":"Attribute"}},"content":{"content":"\nChange the symbolic name of a package for presentation purposes\n(i.e., so that nix-env users can tell them apart).\n\n# Arguments\n\n- [name] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":3},"path":["lib","meta","setName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.setPrio","path":["lib","setPrio"],"aliases":[["lib","meta","setPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":3},"path":["lib","meta","setPrio"],"pos_type":"Attribute"}},"content":{"content":"\nSet the nix-env priority of the package.\n\n# Arguments\n\n- [priority] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":3},"path":["lib","meta","setPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.setType","path":["lib","setType"],"aliases":[["lib","types","setType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":149,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":13},"path":["lib","setType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":13},"path":["lib","setType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.showAttrPath","path":["lib","showAttrPath"],"aliases":[["lib","attrsets","showAttrPath"]],"signature":"showAttrPath :: [String] -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1351,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1349,"column":3},"path":["lib","attrsets","showAttrPath"],"pos_type":"Attribute"}},"content":{"content":"\nTurns a list of strings into a human-readable description of those\nstrings represented as an attribute path. The result of this function is\nnot intended to be machine-readable.\nCreate a new attribute set with `value` set at the nested attribute location specified in `attrPath`.\n\n# Example\n\n```nix\nshowAttrPath [ \"foo\" \"10\" \"bar\" ]\n=> \"foo.\\\"10\\\".bar\"\nshowAttrPath []\n=> \"<root attribute path>\"\n```\n\n# Type\n\n```\nshowAttrPath :: [String] -> String\n```\n\n# Arguments\n\n- [path] Attribute path to render to a string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1349,"column":3},"path":["lib","attrsets","showAttrPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.showFiles","path":["lib","showFiles"],"aliases":[["lib","options","showFiles"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":15},"path":["lib","showFiles"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":15},"path":["lib","showFiles"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.showOption","path":["lib","showOption"],"aliases":[["lib","options","showOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":3},"path":["lib","options","showOption"],"pos_type":"Attribute"}},"content":{"content":"\nConvert an option, described as a list of the option parts to a\nhuman-readable version.\n\n# Example\n\n```nix\n(showOption [\"foo\" \"bar\" \"baz\"]) == \"foo.bar.baz\"\n (showOption [\"foo\" \"bar.baz\" \"tux\"]) == \"foo.\\\"bar.baz\\\".tux\"\n (showOption [\"windowManager\" \"2bwm\" \"enable\"]) == \"windowManager.\\\"2bwm\\\".enable\"\nPlaceholders will not be quoted as they are not actual values:\n (showOption [\"foo\" \"*\" \"bar\"]) == \"foo.*.bar\"\n (showOption [\"foo\" \"<name>\" \"bar\"]) == \"foo.<name>.bar\"\n```\n\n# Arguments\n\n- [parts] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":3},"path":["lib","options","showOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.showOptionWithDefLocs","path":["lib","showOptionWithDefLocs"],"aliases":[["lib","options","showOptionWithDefLocs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":141,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":27},"path":["lib","showOptionWithDefLocs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":27},"path":["lib","showOptionWithDefLocs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.showWarnings","path":["lib","showWarnings"],"aliases":[["lib","trivial","showWarnings"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":18},"path":["lib","showWarnings"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":18},"path":["lib","showWarnings"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.singleton","path":["lib","singleton"],"aliases":[["lib","lists","singleton"]],"signature":"singleton :: a -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":3},"path":["lib","lists","singleton"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a list consisting of a single element. `singleton x` is\nsometimes more convenient with respect to indentation than `[x]`\nwhen x spans multiple lines.\n\n# Example\n\n```nix\nsingleton \"foo\"\n=> [ \"foo\" ]\n```\n\n# Type\n\n```\nsingleton :: a -> [a]\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":3},"path":["lib","lists","singleton"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sort","path":["lib","sort"],"aliases":[["builtins","sort"],["lib","lists","sort"]],"signature":null,"is_primop":true,"primop_meta":{"name":"sort","args":["comparator","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"path":["lib","lists","sort"],"pos_type":"Attribute"}},"content":{"content":"\nSort a list based on a comparator function which compares two\nelements and returns true if the first argument is strictly below\nthe second argument. The returned list is sorted in an increasing\norder. The implementation does a quick-sort.\n\n# Example\n\n```nix\nsort (a: b: a < b) [ 5 3 7 ]\n=> [ 3 5 7 ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"path":["lib","lists","sort"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sortProperties","path":["lib","sortProperties"],"aliases":[["lib","modules","sortProperties"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":999,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":999,"column":20},"path":["lib","sortProperties"],"pos_type":"Lambda"}},"content":{"content":"\nSort a list of properties. The sort priority of a property is\ndefaultOrderPriority by default, but can be overridden by wrapping the property\nusing mkOrder.\n\n# Arguments\n\n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":999,"column":20},"path":["lib","sortProperties"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sourceByRegex","path":["lib","sourceByRegex"],"aliases":[["lib","sources","sourceByRegex"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":159,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":159,"column":19},"path":["lib","sourceByRegex"],"pos_type":"Lambda"}},"content":{"content":"\nFilter sources by a list of regular expressions.\n\n# Example\n\n```nix\nsrc = sourceByRegex ./my-subproject [\".*\\.py$\" \"^database.sql$\"]\n```\n\n# Arguments\n\n- [src] \n- [regexes] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":159,"column":19},"path":["lib","sourceByRegex"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sourceFilesBySuffices","path":["lib","sourceFilesBySuffices"],"aliases":[["lib","sources","sourceFilesBySuffices"]],"signature":"sourceLike -> [String] -> Source\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":125,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":196,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":196,"column":5},"path":["lib","sourceFilesBySuffices"],"pos_type":"Lambda"}},"content":{"content":"\nGet all files ending with the specified suffices from the given\nsource directory or its descendants, omitting files that do not match\nany suffix. The result of the example below will include files like\n`./dir/module.c` and `./dir/subdir/doc.xml` if present.\n\n# Example\n\n```nix\nsourceFilesBySuffices ./. [ \".xml\" \".c\" ]\n```\n\n# Type\n\n```\nsourceLike -> [String] -> Source\n```\n\n# Arguments\n\n- [src] Path or source containing the files to be returned\n- [exts] A list of file suffix strings\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":196,"column":5},"path":["lib","sourceFilesBySuffices"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.splitByAndCompare","path":["lib","splitByAndCompare"],"aliases":[["lib","trivial","splitByAndCompare"]],"signature":"(a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":490,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":488,"column":3},"path":["lib","trivial","splitByAndCompare"],"pos_type":"Attribute"}},"content":{"content":"\nSplit type into two subtypes by predicate `p`, take all elements\nof the first subtype to be less than all the elements of the\nsecond subtype, compare elements of a single subtype with `yes`\nand `no` respectively.\n\n# Example\n\n```nix\nlet cmp = splitByAndCompare (hasPrefix \"foo\") compare compare; in\ncmp \"a\" \"z\" => -1\ncmp \"fooa\" \"fooz\" => -1\ncmp \"f\" \"a\" => 1\ncmp \"fooa\" \"a\" => -1\n# while\ncompare \"fooa\" \"a\" => 1\n```\n\n# Type\n\n```\n(a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int)\n```\n\n# Arguments\n\n- [p] Predicate\n- [yes] Comparison function if predicate holds for both values\n- [no] Comparison function if predicate holds for neither value\n- [a] First value to compare\n- [b] Second value to compare\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":488,"column":3},"path":["lib","trivial","splitByAndCompare"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.splitString","path":["lib","splitString"],"aliases":[["lib","strings","splitString"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":3},"path":["lib","strings","splitString"],"pos_type":"Attribute"}},"content":{"content":"\nCut a string with a separator and produces a list of strings which\nwere separated by this separator.\n\n# Example\n\n```nix\nsplitString \".\" \"foo.bar.baz\"\n=> [ \"foo\" \"bar\" \"baz\" ]\nsplitString \"/\" \"/usr/local/bin\"\n=> [ \"\" \"usr\" \"local\" \"bin\" ]\n```\n\n# Arguments\n\n- [sep] \n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":3},"path":["lib","strings","splitString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.splitVersion","path":["lib","splitVersion"],"aliases":[["builtins","splitVersion"],["lib","versions","splitVersion"]],"signature":null,"is_primop":true,"primop_meta":{"name":"splitVersion","args":["s"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":167,"column":28},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"path":["lib","versions","splitVersion"],"pos_type":"Attribute"}},"content":{"content":"\nBreak a version string into its component parts.\n\n# Example\n\n```nix\nsplitVersion \"1.2.3\"\n=> [\"1\" \"2\" \"3\"]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"path":["lib","versions","splitVersion"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.stringAfter","path":["lib","stringAfter"],"aliases":[["lib","stringsWithDeps","stringAfter"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":115,"column":35},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":17},"path":["lib","stringAfter"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":17},"path":["lib","stringAfter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.stringAsChars","path":["lib","stringAsChars"],"aliases":[["lib","strings","stringAsChars"]],"signature":"stringAsChars :: (string -> string) -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":621,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":619,"column":3},"path":["lib","strings","stringAsChars"],"pos_type":"Attribute"}},"content":{"content":"\nManipulate a string character by character and replace them by\nstrings before concatenating the results.\n\n# Example\n\n```nix\nstringAsChars (x: if x == \"a\" then \"i\" else x) \"nax\"\n=> \"nix\"\n```\n\n# Type\n\n```\nstringAsChars :: (string -> string) -> string -> string\n```\n\n# Arguments\n\n- [f] Function to map over each individual character\n- [s] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":619,"column":3},"path":["lib","strings","stringAsChars"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.stringLength","path":["lib","stringLength"],"aliases":[["builtins","stringLength"],["lib","strings","stringLength"]],"signature":null,"is_primop":true,"primop_meta":{"name":"stringLength","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","stringLength"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the length of the string *e*. If *e* is not a string,\nevaluation is aborted.\n","source":{"position":null,"path":["lib","stringLength"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.stringToCharacters","path":["lib","stringToCharacters"],"aliases":[["lib","strings","stringToCharacters"]],"signature":"stringToCharacters :: string -> [string]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":3},"path":["lib","strings","stringToCharacters"],"pos_type":"Attribute"}},"content":{"content":"\nConvert a string to a list of characters (i.e. singleton strings).\nThis allows you to, e.g., map a function over each character. However,\nnote that this will likely be horribly inefficient; Nix is not a\ngeneral purpose programming language. Complex string manipulations\nshould, if appropriate, be done in a derivation.\nAlso note that Nix treats strings as a list of bytes and thus doesn't\nhandle unicode.\n\n# Example\n\n```nix\nstringToCharacters \"\"\n=> [ ]\nstringToCharacters \"abc\"\n=> [ \"a\" \"b\" \"c\" ]\nstringToCharacters \"🦄\"\n=> [ \"<22>\" \"<22>\" \"<22>\" \"<22>\" ]\n```\n\n# Type\n\n```\nstringToCharacters :: string -> [string]\n```\n\n# Arguments\n\n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":3},"path":["lib","strings","stringToCharacters"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sub","path":["lib","sub"],"aliases":[["builtins","sub"],["lib","trivial","sub"]],"signature":null,"is_primop":true,"primop_meta":{"name":"sub","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","sub"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the difference between the numbers *e1* and *e2*.\n","source":{"position":null,"path":["lib","sub"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sublist","path":["lib","sublist"],"aliases":[["lib","lists","sublist"]],"signature":"sublist :: int -> int -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1162,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1160,"column":3},"path":["lib","lists","sublist"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list consisting of at most `count` elements of `list`,\nstarting at index `start`.\n\n# Example\n\n```nix\nsublist 1 3 [ \"a\" \"b\" \"c\" \"d\" \"e\" ]\n=> [ \"b\" \"c\" \"d\" ]\nsublist 1 3 [ ]\n=> [ ]\n```\n\n# Type\n\n```\nsublist :: int -> int -> [a] -> [a]\n```\n\n# Arguments\n\n- [start] Index at which to start the sublist\n- [count] Number of elements to take\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1160,"column":3},"path":["lib","lists","sublist"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.substring","path":["lib","substring"],"aliases":[["builtins","substring"],["lib","strings","substring"]],"signature":null,"is_primop":true,"primop_meta":{"name":"substring","args":["start","len","s"],"experimental":false,"arity":3},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","substring"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the substring of *s* from character position *start*\n(zero-based) up to but not including *start + len*. If *start* is\ngreater than the length of the string, an empty string is returned,\nand if *start + len* lies beyond the end of the string, only the\nsubstring up to the end of the string is returned. *start* must be\nnon-negative. For example,\n\n```nix\nbuiltins.substring 0 3 \"nixos\"\n```\n\nevaluates to `\"nix\"`.\n","source":{"position":null,"path":["lib","substring"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.subtractLists","path":["lib","subtractLists"],"aliases":[["lib","lists","subtractLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":3},"path":["lib","lists","subtractLists"],"pos_type":"Attribute"}},"content":{"content":"\nSubtracts list 'e' from another list. O(nm) complexity.\n\n# Example\n\n```nix\nsubtractLists [ 3 2 ] [ 1 2 3 4 5 3 ]\n=> [ 1 4 5 ]\n```\n\n# Arguments\n\n- [e] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":3},"path":["lib","lists","subtractLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.tail","path":["lib","tail"],"aliases":[["builtins","tail"],["lib","lists","tail"],["lib","strings","tail"]],"signature":null,"is_primop":true,"primop_meta":{"name":"tail","args":["list"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","tail"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the list without its first item; abort evaluation if\nthe argument isnt a list or is an empty list.\n\n> **Warning**\n>\n> This function should generally be avoided since it's inefficient:\n> unlike Haskell's `tail`, it takes O(n) time, so recursing over a\n> list by repeatedly calling `tail` takes O(n^2) time.\n","source":{"position":null,"path":["lib","tail"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.take","path":["lib","take"],"aliases":[["lib","lists","take"]],"signature":"take :: int -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1040,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1038,"column":3},"path":["lib","lists","take"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the first (at most) N elements of a list.\n\n# Example\n\n```nix\ntake 2 [ \"a\" \"b\" \"c\" \"d\" ]\n=> [ \"a\" \"b\" ]\ntake 2 [ ]\n=> [ ]\n```\n\n# Type\n\n```\ntake :: int -> [a] -> [a]\n```\n\n# Arguments\n\n- [count] Number of elements to take\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1038,"column":3},"path":["lib","lists","take"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.testAllTrue","path":["lib","testAllTrue"],"aliases":[["lib","debug","testAllTrue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":3},"path":["lib","debug","testAllTrue"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a test assuming that list elements are `true`.\n\n# Example\n\n```nix\n{ testX = allTrue [ true ]; }\n```\n\n# Arguments\n\n- [expr] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":3},"path":["lib","debug","testAllTrue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.textClosureList","path":["lib","textClosureList"],"aliases":[["lib","stringsWithDeps","textClosureList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":115,"column":35},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":3},"path":["lib","stringsWithDeps","textClosureList"],"pos_type":"Attribute"}},"content":{"content":"\n!!! The interface of this function is kind of messed up, since\nit's way too overloaded and almost but not quite computes a\ntopological sort of the depstrings.\n\n# Arguments\n\n- [predefined] \n- [arg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":3},"path":["lib","stringsWithDeps","textClosureList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.textClosureMap","path":["lib","textClosureMap"],"aliases":[["lib","stringsWithDeps","textClosureMap"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":115,"column":35},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":20},"path":["lib","textClosureMap"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":20},"path":["lib","textClosureMap"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.throwIf","path":["lib","throwIf"],"aliases":[["lib","trivial","throwIf"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":3},"path":["lib","trivial","throwIf"],"pos_type":"Attribute"}},"content":{"content":"\nLike throwIfNot, but negated (throw if the first argument is `true`).\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":3},"path":["lib","trivial","throwIf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.throwIfNot","path":["lib","throwIfNot"],"aliases":[["lib","trivial","throwIfNot"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":3},"path":["lib","trivial","throwIfNot"],"pos_type":"Attribute"}},"content":{"content":"\nLike the `assert b; e` expression, but with a custom error message and\nwithout the semicolon.\nIf true, return the identity function, `r: r`.\nIf false, throw the error message.\nCalls can be juxtaposed using function application, as `(r: r) a = a`, so\n`(r: r) (r: r) a = a`, and so forth.\n\n# Example\n\n```nix\nthrowIfNot (lib.isList overlays) \"The overlays argument to nixpkgs must be a list.\"\nlib.foldr (x: throwIfNot (lib.isFunction x) \"All overlays passed to nixpkgs must be functions.\") (r: r) overlays\npkgs\n```\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":3},"path":["lib","trivial","throwIfNot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toBaseDigits","path":["lib","toBaseDigits"],"aliases":[["lib","trivial","toBaseDigits"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":3},"path":["lib","trivial","toBaseDigits"],"pos_type":"Attribute"}},"content":{"content":"\n`toBaseDigits base i` converts the positive integer i to a list of its\ndigits in the given base. For example:\ntoBaseDigits 10 123 => [ 1 2 3 ]\ntoBaseDigits 2 6 => [ 1 1 0 ]\ntoBaseDigits 16 250 => [ 15 10 ]\n\n# Arguments\n\n- [base] \n- [i] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":3},"path":["lib","trivial","toBaseDigits"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toDerivation","path":["lib","toDerivation"],"aliases":[["lib","attrsets","toDerivation"]],"signature":"toDerivation :: Path -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":965,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":963,"column":4},"path":["lib","attrsets","toDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nConverts a store path to a fake derivation.\n\n# Type\n\n```\ntoDerivation :: Path -> Derivation\n```\n\n# Arguments\n\n- [path] A store path to convert to a derivation.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":963,"column":4},"path":["lib","attrsets","toDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toFunction","path":["lib","toFunction"],"aliases":[["lib","trivial","toFunction"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":806,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":804,"column":3},"path":["lib","trivial","toFunction"],"pos_type":"Attribute"}},"content":{"content":"\nTurns any non-callable values into constant functions.\nReturns callable values as is.\n\n# Example\n\n```nix\nnix-repl> lib.toFunction 1 2\n1\nnix-repl> lib.toFunction (x: x + 1) 2\n3\n```\n\n# Arguments\n\n- [v] Any value\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":804,"column":3},"path":["lib","trivial","toFunction"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toHexString","path":["lib","toHexString"],"aliases":[["lib","trivial","toHexString"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":3},"path":["lib","trivial","toHexString"],"pos_type":"Attribute"}},"content":{"content":"\nConvert the given positive integer to a string of its hexadecimal\nrepresentation. For example:\ntoHexString 0 => \"0\"\ntoHexString 16 => \"10\"\ntoHexString 250 => \"FA\"\n\n# Arguments\n\n- [i] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":3},"path":["lib","trivial","toHexString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toInt","path":["lib","toInt"],"aliases":[["lib","strings","toInt"]],"signature":"string -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":3},"path":["lib","strings","toInt"],"pos_type":"Attribute"}},"content":{"content":"\nParse a string as an int. Does not support parsing of integers with preceding zero due to\nambiguity between zero-padded and octal numbers. See toIntBase10.\n\n# Example\n\n```nix\ntoInt \"1337\"\n=> 1337\ntoInt \"-4\"\n=> -4\ntoInt \" 123 \"\n=> 123\ntoInt \"00024\"\n=> error: Ambiguity in interpretation of 00024 between octal and zero padded integer.\ntoInt \"3.14\"\n=> error: floating point JSON numbers are not supported\n```\n\n# Type\n\n```\nstring -> int\n```\n\n# Arguments\n\n- [str] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":3},"path":["lib","strings","toInt"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toIntBase10","path":["lib","toIntBase10"],"aliases":[["lib","strings","toIntBase10"]],"signature":"string -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":3},"path":["lib","strings","toIntBase10"],"pos_type":"Attribute"}},"content":{"content":"\nParse a string as a base 10 int. This supports parsing of zero-padded integers.\n\n# Example\n\n```nix\ntoIntBase10 \"1337\"\n=> 1337\ntoIntBase10 \"-4\"\n=> -4\ntoIntBase10 \" 123 \"\n=> 123\ntoIntBase10 \"00024\"\n=> 24\ntoIntBase10 \"3.14\"\n=> error: floating point JSON numbers are not supported\n```\n\n# Type\n\n```\nstring -> int\n```\n\n# Arguments\n\n- [str] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":3},"path":["lib","strings","toIntBase10"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toList","path":["lib","toList"],"aliases":[["lib","lists","toList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":3},"path":["lib","lists","toList"],"pos_type":"Attribute"}},"content":{"content":"\nIf argument is a list, return it; else, wrap it in a singleton\nlist. If you're using this, you should almost certainly\nreconsider if there isn't a more \"well-typed\" approach.\n\n# Example\n\n```nix\ntoList [ 1 2 ]\n=> [ 1 2 ]\ntoList \"hi\"\n=> [ \"hi \"]\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":3},"path":["lib","lists","toList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toLower","path":["lib","toLower"],"aliases":[["lib","strings","toLower"]],"signature":"toLower :: string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":976,"column":3},"path":["lib","strings","toLower"],"pos_type":"Attribute"}},"content":{"content":"\nConverts an ASCII string to lower-case.\n\n# Example\n\n```nix\ntoLower \"HOME\"\n=> \"home\"\n```\n\n# Type\n\n```\ntoLower :: string -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":976,"column":3},"path":["lib","strings","toLower"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toShellVar","path":["lib","toShellVar"],"aliases":[["lib","strings","toShellVar"]],"signature":"string -> (string | listOf string | attrsOf string) -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":3},"path":["lib","strings","toShellVar"],"pos_type":"Attribute"}},"content":{"content":"\nTranslate a Nix value into a shell variable declaration, with proper escaping.\nThe value can be a string (mapped to a regular variable), a list of strings\n(mapped to a Bash-style array) or an attribute set of strings (mapped to a\nBash-style associative array). Note that \"string\" includes string-coercible\nvalues like paths or derivations.\nStrings are translated into POSIX sh-compatible code; lists and attribute sets\nassume a shell that understands Bash syntax (e.g. Bash or ZSH).\n\n# Example\n\n```nix\n''\n ${toShellVar \"foo\" \"some string\"}\n [[ \"$foo\" == \"some string\" ]]\n''\n```\n\n# Type\n\n```\nstring -> (string | listOf string | attrsOf string) -> string\n```\n\n# Arguments\n\n- [name] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":3},"path":["lib","strings","toShellVar"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toShellVars","path":["lib","toShellVars"],"aliases":[["lib","strings","toShellVars"]],"signature":"attrsOf (string | listOf string | attrsOf string) -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":3},"path":["lib","strings","toShellVars"],"pos_type":"Attribute"}},"content":{"content":"\nTranslate an attribute set into corresponding shell variable declarations\nusing `toShellVar`.\n\n# Example\n\n```nix\nlet\n foo = \"value\";\n bar = foo;\nin ''\n ${toShellVars { inherit foo bar; }}\n [[ \"$foo\" == \"$bar\" ]]\n''\n```\n\n# Type\n\n```\nattrsOf (string | listOf string | attrsOf string) -> string\n```\n\n# Arguments\n\n- [vars] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":3},"path":["lib","strings","toShellVars"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toUpper","path":["lib","toUpper"],"aliases":[["lib","strings","toUpper"]],"signature":"toUpper :: string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":994,"column":3},"path":["lib","strings","toUpper"],"pos_type":"Attribute"}},"content":{"content":"\nConverts an ASCII string to upper-case.\n\n# Example\n\n```nix\ntoUpper \"home\"\n=> \"HOME\"\n```\n\n# Type\n\n```\ntoUpper :: string -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":994,"column":3},"path":["lib","strings","toUpper"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.toposort","path":["lib","toposort"],"aliases":[["lib","lists","toposort"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":3},"path":["lib","lists","toposort"],"pos_type":"Attribute"}},"content":{"content":"\nSort a list based on a partial ordering using DFS. This\nimplementation is O(N^2), if your ordering is linear, use `sort`\ninstead.\n`before a b == true` means that `b` should be after `a`\nin the result.\n\n# Example\n\n```nix\ntoposort hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" ]\n == { result = [ \"/\" \"/home\" \"/home/user\" \"other\" ]; }\ntoposort hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" \"/\" ]\n == { cycle = [ \"/home/user\" \"/\" \"/\" ]; # path leading to a cycle\n loops = [ \"/\" ]; } # loops back to these elements\ntoposort hasPrefix [ \"other\" \"/home/user\" \"/home\" \"/\" ]\n == { result = [ \"other\" \"/\" \"/home\" \"/home/user\" ]; }\ntoposort (a: b: a < b) [ 3 2 1 ] == { result = [ 1 2 3 ]; }\n```\n\n# Arguments\n\n- [before] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":3},"path":["lib","lists","toposort"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trace","path":["lib","trace"],"aliases":[["builtins","trace"]],"signature":null,"is_primop":true,"primop_meta":{"name":"trace","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":68,"column":23},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trace"],"pos_type":"Lambda"}},"content":{"content":"\nEvaluate *e1* and print its abstract syntax representation on\nstandard error. Then return *e2*. This function is useful for\ndebugging.\n","source":{"position":null,"path":["lib","trace"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.traceFnSeqN","path":["lib","traceFnSeqN"],"aliases":[["lib","debug","traceFnSeqN"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":3},"path":["lib","debug","traceFnSeqN"],"pos_type":"Attribute"}},"content":{"content":"\nTrace the input and output of a function `f` named `name`,\nboth down to `depth`.\nThis is useful for adding around a function call,\nto see the before/after of values as they are transformed.\n\n# Example\n\n```nix\ntraceFnSeqN 2 \"id\" (x: x) { a.b.c = 3; }\ntrace: { fn = \"id\"; from = { a.b = {…}; }; to = { a.b = {…}; }; }\n=> { a.b.c = 3; }\n```\n\n# Arguments\n\n- [depth] \n- [name] \n- [f] \n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":3},"path":["lib","debug","traceFnSeqN"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceIf","path":["lib","traceIf"],"aliases":[["lib","debug","traceIf"]],"signature":"traceIf :: bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":61,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":59,"column":3},"path":["lib","debug","traceIf"],"pos_type":"Attribute"}},"content":{"content":"\nConditionally trace the supplied message, based on a predicate.\n\n# Example\n\n```nix\ntraceIf true \"hello\" 3\ntrace: hello\n=> 3\n```\n\n# Type\n\n```\ntraceIf :: bool -> string -> a -> a\n```\n\n# Arguments\n\n- [pred] Predicate to check\n- [msg] Message that should be traced\n- [x] Value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":59,"column":3},"path":["lib","debug","traceIf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceSeq","path":["lib","traceSeq"],"aliases":[["lib","debug","traceSeq"]],"signature":"traceSeq :: a -> b -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":144,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":142,"column":3},"path":["lib","debug","traceSeq"],"pos_type":"Attribute"}},"content":{"content":"\n`builtins.trace`, but the value is `builtins.deepSeq`ed first.\n\n# Example\n\n```nix\ntrace { a.b.c = 3; } null\ntrace: { a = <CODE>; }\n=> null\ntraceSeq { a.b.c = 3; } null\ntrace: { a = { b = { c = 3; }; }; }\n=> null\n```\n\n# Type\n\n```\ntraceSeq :: a -> b -> b\n```\n\n# Arguments\n\n- [x] The value to trace\n- [y] The value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":142,"column":3},"path":["lib","debug","traceSeq"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceSeqN","path":["lib","traceSeqN"],"aliases":[["lib","debug","traceSeqN"]],"signature":"traceSeqN :: Int -> a -> b -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":3},"path":["lib","debug","traceSeqN"],"pos_type":"Attribute"}},"content":{"content":"\nLike `traceSeq`, but only evaluate down to depth n.\nThis is very useful because lots of `traceSeq` usages\nlead to an infinite recursion.\n\n# Example\n\n```nix\ntraceSeqN 2 { a.b.c = 3; } null\ntrace: { a = { b = {…}; }; }\n=> null\n```\n\n# Type\n\n```\ntraceSeqN :: Int -> a -> b -> b\n```\n\n# Arguments\n\n- [depth] \n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":3},"path":["lib","debug","traceSeqN"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceVal","path":["lib","traceVal"],"aliases":[["lib","fileset","traceVal"],["lib","debug","traceVal"]],"signature":"traceVal :: FileSet -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":95,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":670,"column":3},"path":["lib","fileset","traceVal"],"pos_type":"Attribute"}},"content":{"content":"\nIncrementally evaluate and trace a file set in a pretty way.\nThis function is only intended for debugging purposes.\nThe exact tracing format is unspecified and may change.\nThis function returns the given file set.\nIn comparison, [`trace`](#function-library-lib.fileset.trace) takes another argument to return.\nThis variant is useful for tracing file sets passed as arguments to other functions.\n\n# Example\n\n```nix\ntoSource {\n root = ./.;\n fileset = traceVal (unions [\n ./Makefile\n ./src\n ./tests/run.sh\n ]);\n}\n=>\ntrace: /home/user/src/myProject\ntrace: - Makefile (regular)\ntrace: - src (all files in directory)\ntrace: - tests\ntrace: - run.sh (regular)\n\"/nix/store/...-source\"\n```\n\n# Type\n\n```\ntraceVal :: FileSet -> FileSet\n```\n\n# Arguments\n\n- [fileset] The file set to trace and return. \n This argument can also be a path,\n which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":670,"column":3},"path":["lib","fileset","traceVal"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceValFn","path":["lib","traceValFn"],"aliases":[["lib","debug","traceValFn"]],"signature":"traceValFn :: (a -> b) -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":93,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":91,"column":3},"path":["lib","debug","traceValFn"],"pos_type":"Attribute"}},"content":{"content":"\nTrace the supplied value after applying a function to it, and\nreturn the original value.\n\n# Example\n\n```nix\ntraceValFn (v: \"mystring ${v}\") \"foo\"\ntrace: mystring foo\n=> \"foo\"\n```\n\n# Type\n\n```\ntraceValFn :: (a -> b) -> a -> a\n```\n\n# Arguments\n\n- [f] Function to apply\n- [x] Value to trace and return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":91,"column":3},"path":["lib","debug","traceValFn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceValSeq","path":["lib","traceValSeq"],"aliases":[["lib","debug","traceValSeq"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":202,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":207,"column":3},"path":["lib","debug","traceValSeq"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeq`.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":207,"column":3},"path":["lib","debug","traceValSeq"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceValSeqFn","path":["lib","traceValSeqFn"],"aliases":[["lib","debug","traceValSeqFn"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":200,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":198,"column":3},"path":["lib","debug","traceValSeqFn"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeq` that applies a\nprovided function to the value to be traced after `deepSeq`ing\nit.\n\n# Arguments\n\n- [f] Function to apply\n- [v] Value to trace\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":198,"column":3},"path":["lib","debug","traceValSeqFn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceValSeqN","path":["lib","traceValSeqN"],"aliases":[["lib","debug","traceValSeqN"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":223,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":230,"column":3},"path":["lib","debug","traceValSeqN"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeqN`.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":230,"column":3},"path":["lib","debug","traceValSeqN"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.traceValSeqNFn","path":["lib","traceValSeqNFn"],"aliases":[["lib","debug","traceValSeqNFn"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":153,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":222,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":220,"column":3},"path":["lib","debug","traceValSeqNFn"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeqN` that applies a\nprovided function to the value to be traced.\n\n# Arguments\n\n- [f] Function to apply\n- [depth] \n- [v] Value to trace\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":220,"column":3},"path":["lib","debug","traceValSeqNFn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.unifyModuleSyntax","path":["lib","unifyModuleSyntax"],"aliases":[["lib","modules","unifyModuleSyntax"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":129,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":473,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":473,"column":23},"path":["lib","unifyModuleSyntax"],"pos_type":"Lambda"}},"content":{"content":"\nMassage a module into canonical form, that is, a set consisting\nof options, config and imports attributes.\n\n# Arguments\n\n- [file] \n- [key] \n- [m] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":473,"column":23},"path":["lib","unifyModuleSyntax"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.uniqList","path":["lib","uniqList"],"aliases":[["lib","misc","uniqList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":14},"path":["lib","uniqList"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":14},"path":["lib","uniqList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.uniqListExt","path":["lib","uniqListExt"],"aliases":[["lib","misc","uniqListExt"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":157,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":17},"path":["lib","uniqListExt"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":17},"path":["lib","uniqListExt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.unique","path":["lib","unique"],"aliases":[["lib","types","unique"],["lib","lists","unique"]],"signature":"unique :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":208,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"path":["lib","lists","unique"],"pos_type":"Attribute"}},"content":{"content":"\nRemove duplicate elements from the list. O(n^2) complexity.\n\n# Example\n\n```nix\nunique [ 3 2 3 4 ]\n=> [ 3 2 4 ]\n```\n\n# Type\n\n```\nunique :: [a] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"path":["lib","lists","unique"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.updateManyAttrsByPath","path":["lib","updateManyAttrsByPath"],"aliases":[["lib","attrsets","updateManyAttrsByPath"]],"signature":"updateManyAttrsByPath :: [{ path :: [String]; update :: (Any -> Any); }] -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":301,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":244,"column":3},"path":["lib","attrsets","updateManyAttrsByPath"],"pos_type":"Attribute"}},"content":{"content":"\nUpdate or set specific paths of an attribute set.\nTakes a list of updates to apply and an attribute set to apply them to,\nand returns the attribute set with the updates applied. Updates are\nrepresented as `{ path = ...; update = ...; }` values, where `path` is a\nlist of strings representing the attribute path that should be updated,\nand `update` is a function that takes the old value at that attribute path\nas an argument and returns the new\nvalue it should be.\nProperties:\n- Updates to deeper attribute paths are applied before updates to more\nshallow attribute paths\n- Multiple updates to the same attribute path are applied in the order\nthey appear in the update list\n- If any but the last `path` element leads into a value that is not an\nattribute set, an error is thrown\n- If there is an update for an attribute path that doesn't exist,\naccessing the argument in the update function causes an error, but\nintermediate attribute sets are implicitly created as needed\n\n# Example\n\n```nix\nupdateManyAttrsByPath [\n {\n path = [ \"a\" \"b\" ];\n update = old: { d = old.c; };\n }\n {\n path = [ \"a\" \"b\" \"c\" ];\n update = old: old + 1;\n }\n {\n path = [ \"x\" \"y\" ];\n update = old: \"xy\";\n }\n] { a.b.c = 0; }\n=> { a = { b = { d = 1; }; }; x = { y = \"xy\"; }; }\n```\n\n# Type\n\n```\nupdateManyAttrsByPath :: [{ path :: [String]; update :: (Any -> Any); }] -> AttrSet -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":244,"column":3},"path":["lib","attrsets","updateManyAttrsByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.updateName","path":["lib","updateName"],"aliases":[["lib","meta","updateName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":121,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":3},"path":["lib","meta","updateName"],"pos_type":"Attribute"}},"content":{"content":"\nLike `setName`, but takes the previous name as an argument.\n\n# Example\n\n```nix\nupdateName (oldName: oldName + \"-experimental\") somePkg\n```\n\n# Arguments\n\n- [updater] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":3},"path":["lib","meta","updateName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versionAtLeast","path":["lib","versionAtLeast"],"aliases":[["lib","strings","versionAtLeast"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":3},"path":["lib","strings","versionAtLeast"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if string v1 denotes a version equal to or newer than v2.\n\n# Example\n\n```nix\nversionAtLeast \"1.1\" \"1.0\"\n=> true\nversionAtLeast \"1.1\" \"1.1\"\n=> true\nversionAtLeast \"1.1\" \"1.2\"\n=> false\n```\n\n# Arguments\n\n- [v1] \n- [v2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":3},"path":["lib","strings","versionAtLeast"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versionOlder","path":["lib","versionOlder"],"aliases":[["lib","strings","versionOlder"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":3},"path":["lib","strings","versionOlder"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if string v1 denotes a version older than v2.\n\n# Example\n\n```nix\nversionOlder \"1.1\" \"1.2\"\n=> true\nversionOlder \"1.1\" \"1.1\"\n=> false\n```\n\n# Arguments\n\n- [v1] \n- [v2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":3},"path":["lib","strings","versionOlder"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.warn","path":["lib","warn"],"aliases":[["lib","trivial","warn"]],"signature":"string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":569,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":566,"column":3},"path":["lib","trivial","warn"],"pos_type":"Attribute"}},"content":{"content":"\nPrint a warning before returning the second argument. This function behaves\nlike `builtins.trace`, but requires a string message and formats it as a\nwarning, including the `warning: ` prefix.\nTo get a call stack trace and abort evaluation, set the environment variable\n`NIX_ABORT_ON_WARN=true` and set the Nix options `--option pure-eval false --show-trace`\n\n# Type\n\n```\nstring -> a -> a\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":566,"column":3},"path":["lib","trivial","warn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.warnIf","path":["lib","warnIf"],"aliases":[["lib","trivial","warnIf"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":3},"path":["lib","trivial","warnIf"],"pos_type":"Attribute"}},"content":{"content":"\nLike warn, but only warn when the first argument is `true`.\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":3},"path":["lib","trivial","warnIf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.warnIfNot","path":["lib","warnIfNot"],"aliases":[["lib","trivial","warnIfNot"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":73,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":3},"path":["lib","trivial","warnIfNot"],"pos_type":"Attribute"}},"content":{"content":"\nLike warnIf, but negated (warn if the first argument is `false`).\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":3},"path":["lib","trivial","warnIfNot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.withFeature","path":["lib","withFeature"],"aliases":[["lib","strings","withFeature"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":3},"path":["lib","strings","withFeature"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{with,without}-<feature> string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nwithFeature true \"shared\"\n=> \"--with-shared\"\nwithFeature false \"shared\"\n=> \"--without-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":3},"path":["lib","strings","withFeature"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.withFeatureAs","path":["lib","withFeatureAs"],"aliases":[["lib","strings","withFeatureAs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":98,"column":27},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":3},"path":["lib","strings","withFeatureAs"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{with-<feature>=<value>,without-<feature>} string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nwithFeatureAs true \"shared\" \"foo\"\n=> \"--with-shared=foo\"\nwithFeatureAs false \"shared\" (throw \"ignored\")\n=> \"--without-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":3},"path":["lib","strings","withFeatureAs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zip","path":["lib","zip"],"aliases":[["builtins","zipAttrsWith"],["lib","zipAttrsWith"],["lib","attrsets","zip"],["lib","attrsets","zipAttrsWith"]],"signature":"zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":true,"primop_meta":{"name":"zipAttrsWith","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function f to merge attribute values.\nLike `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`.\nImplementation note: Common names appear multiple times in the list of\nnames, hopefully this does not affect the system because the maximal\nlaziness avoid computing twice the same expression and `listToAttrs` does\nnot care about duplicated attribute names.\n\n# Example\n\n```nix\nzipAttrsWith (name: values: values) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zipAttrs","path":["lib","zipAttrs"],"aliases":[["lib","attrsets","zipAttrs"]],"signature":"zipAttrs :: [ AttrSet ] -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1098,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1096,"column":3},"path":["lib","attrsets","zipAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and combine each attribute value in to a list.\nLike `lib.attrsets.zipAttrsWith` with `(name: values: values)` as the function.\n\n# Example\n\n```nix\nzipAttrs [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrs :: [ AttrSet ] -> AttrSet\n```\n\n# Arguments\n\n- [sets] List of attribute sets to zip together.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1096,"column":3},"path":["lib","attrsets","zipAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zipAttrsWith","path":["lib","zipAttrsWith"],"aliases":[["builtins","zipAttrsWith"],["lib","zip"],["lib","attrsets","zip"],["lib","attrsets","zipAttrsWith"]],"signature":"zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":true,"primop_meta":{"name":"zipAttrsWith","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function f to merge attribute values.\nLike `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`.\nImplementation note: Common names appear multiple times in the list of\nnames, hopefully this does not affect the system because the maximal\nlaziness avoid computing twice the same expression and `listToAttrs` does\nnot care about duplicated attribute names.\n\n# Example\n\n```nix\nzipAttrsWith (name: values: values) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zipAttrsWithNames","path":["lib","zipAttrsWithNames"],"aliases":[["lib","attrsets","zipAttrsWithNames"]],"signature":"zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1036,"column":3},"path":["lib","attrsets","zipAttrsWithNames"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function `f` to merge attributes\nvalues.\n\n# Example\n\n```nix\nzipAttrsWithNames [\"a\"] (name: vs: vs) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; }\n```\n\n# Type\n\n```\nzipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n\n# Arguments\n\n- [names] List of attribute names to zip.\n- [f] A function, accepts an attribute name, all the values, and returns a combined value.\n- [sets] List of values from the list of attribute sets.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1036,"column":3},"path":["lib","attrsets","zipAttrsWithNames"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zipLists","path":["lib","zipLists"],"aliases":[["lib","lists","zipLists"]],"signature":"zipLists :: [a] -> [b] -> [{ fst :: a; snd :: b; }]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":784,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":807,"column":3},"path":["lib","lists","zipLists"],"pos_type":"Attribute"}},"content":{"content":"\nMerges two lists of the same size together. If the sizes aren't the same\nthe merging stops at the shortest.\n\n# Example\n\n```nix\nzipLists [ 1 2 ] [ \"a\" \"b\" ]\n=> [ { fst = 1; snd = \"a\"; } { fst = 2; snd = \"b\"; } ]\n```\n\n# Type\n\n```\nzipLists :: [a] -> [b] -> [{ fst :: a; snd :: b; }]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":807,"column":3},"path":["lib","lists","zipLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zipListsWith","path":["lib","zipListsWith"],"aliases":[["lib","lists","zipListsWith"]],"signature":"zipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":92,"column":25},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":782,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":780,"column":3},"path":["lib","lists","zipListsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerges two lists of the same size together. If the sizes aren't the same\nthe merging stops at the shortest. How both lists are merged is defined\nby the first argument.\n\n# Example\n\n```nix\nzipListsWith (a: b: a + b) [\"h\" \"l\"] [\"e\" \"o\"]\n=> [\"he\" \"lo\"]\n```\n\n# Type\n\n```\nzipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c]\n```\n\n# Arguments\n\n- [f] Function to zip elements of both lists\n- [fst] First list\n- [snd] Second list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":780,"column":3},"path":["lib","lists","zipListsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.zipWithNames","path":["lib","zipWithNames"],"aliases":[["lib","attrsets","zipWithNames"]],"signature":"zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/default.nix","line":82,"column":28},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"path":["lib","zipWithNames"],"pos_type":"Lambda"}},"content":{"content":"\nMerge sets of attributes and use the function `f` to merge attributes\nvalues.\n\n# Example\n\n```nix\nzipAttrsWithNames [\"a\"] (name: vs: vs) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; }\n```\n\n# Type\n\n```\nzipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n\n# Arguments\n\n- [names] List of attribute names to zip.\n- [f] A function, accepts an attribute name, all the values, and returns a combined value.\n- [sets] List of values from the list of attribute sets.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"path":["lib","zipWithNames"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.asserts.assertEachOneOf","path":["lib","asserts","assertEachOneOf"],"aliases":[],"signature":"assertEachOneOf :: String -> List ComparableVal -> List ComparableVal -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":110,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":112,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":110,"column":3},"path":["lib","asserts","assertEachOneOf"],"pos_type":"Attribute"}},"content":{"content":"\nSpecialized `assertMsg` for checking if every one of `vals` is one of the elements\nof the list `xs`. Useful for checking lists of supported attributes.\n\n# Example\n\n```nix\nlet sslLibraries = [ \"libressl\" \"bearssl\" ];\nin assertEachOneOf \"sslLibraries\" sslLibraries [ \"openssl\" \"bearssl\" ]\nstderr> error: each element in sslLibraries must be one of [\nstderr> \"openssl\"\nstderr> \"bearssl\"\nstderr> ], but is: [\nstderr> \"libressl\"\nstderr> \"bearssl\"\nstderr> ]\n```\n\n# Type\n\n```\nassertEachOneOf :: String -> List ComparableVal -> List ComparableVal -> Bool\n```\n\n# Arguments\n\n- [name] The name of the variable the user entered `val` into, for inclusion in the error message\n- [vals] The list of values of what the user provided, to be compared against the values in `xs`\n- [xs] The list of valid values\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":110,"column":3},"path":["lib","asserts","assertEachOneOf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.asserts.assertMsg","path":["lib","asserts","assertMsg"],"aliases":[["lib","assertMsg"]],"signature":"assertMsg :: Bool -> String -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":31,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":33,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":31,"column":3},"path":["lib","asserts","assertMsg"],"pos_type":"Attribute"}},"content":{"content":"\nThrow if pred is false, else return pred.\nIntended to be used to augment asserts with helpful error messages.\n\n# Example\n\n```nix\nassertMsg false \"nope\"\nstderr> error: nope\nassert assertMsg (\"foo\" == \"bar\") \"foo is not bar, silly\"; \"\"\nstderr> error: foo is not bar, silly\n```\n\n# Type\n\n```\nassertMsg :: Bool -> String -> Bool\n```\n\n# Arguments\n\n- [pred] Predicate that needs to succeed, otherwise `msg` is thrown\n- [msg] Message to throw in case `pred` fails\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":31,"column":3},"path":["lib","asserts","assertMsg"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.asserts.assertOneOf","path":["lib","asserts","assertOneOf"],"aliases":[["lib","assertOneOf"]],"signature":"assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":66,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":68,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":66,"column":3},"path":["lib","asserts","assertOneOf"],"pos_type":"Attribute"}},"content":{"content":"\nSpecialized `assertMsg` for checking if `val` is one of the elements\nof the list `xs`. Useful for checking enums.\n\n# Example\n\n```nix\nlet sslLibrary = \"libressl\";\nin assertOneOf \"sslLibrary\" sslLibrary [ \"openssl\" \"bearssl\" ]\nstderr> error: sslLibrary must be one of [\nstderr> \"openssl\"\nstderr> \"bearssl\"\nstderr> ], but is: \"libressl\"\n```\n\n# Type\n\n```\nassertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool\n```\n\n# Arguments\n\n- [name] The name of the variable the user entered `val` into, for inclusion in the error message\n- [val] The value of what the user provided, to be compared against the values in `xs`\n- [xs] The list of valid values\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/asserts.nix","line":66,"column":3},"path":["lib","asserts","assertOneOf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.attrByPath","path":["lib","attrsets","attrByPath"],"aliases":[["lib","attrByPath"]],"signature":"attrByPath :: [String] -> Any -> AttrSet -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":43,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":45,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":43,"column":3},"path":["lib","attrsets","attrByPath"],"pos_type":"Attribute"}},"content":{"content":"\nReturn an attribute from nested attribute sets.\n\n# Example\n\n```nix\nx = { a = { b = 3; }; }\n# [\"a\" \"b\"] is equivalent to x.a.b\n# 6 is a default value to return if the path does not exist in attrset\nattrByPath [\"a\" \"b\"] 6 x\n=> 3\nattrByPath [\"z\" \"z\"] 6 x\n=> 6\n```\n\n# Type\n\n```\nattrByPath :: [String] -> Any -> AttrSet -> Any\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to return from `set`\n- [default] Default value if `attrPath` does not resolve to an existing value\n- [set] The nested attribute set to select values from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":43,"column":3},"path":["lib","attrsets","attrByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.attrNames","path":["lib","attrsets","attrNames"],"aliases":[["builtins","attrNames"],["lib","attrNames"]],"signature":null,"is_primop":true,"primop_meta":{"name":"attrNames","args":["set"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":12,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrsets","attrNames"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the names of the attributes in the set *set* in an\nalphabetically sorted list. For instance, `builtins.attrNames { y\n= 1; x = \"foo\"; }` evaluates to `[ \"x\" \"y\" ]`.\n","source":{"position":null,"path":["lib","attrsets","attrNames"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrsets.attrVals","path":["lib","attrsets","attrVals"],"aliases":[["lib","attrVals"]],"signature":"attrVals :: [String] -> AttrSet -> [Any]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":325,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":327,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":325,"column":3},"path":["lib","attrsets","attrVals"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the specified attributes from a set.\n\n# Example\n\n```nix\nattrVals [\"a\" \"b\" \"c\"] as\n=> [as.a as.b as.c]\n```\n\n# Type\n\n```\nattrVals :: [String] -> AttrSet -> [Any]\n```\n\n# Arguments\n\n- [nameList] The list of attributes to fetch from `set`. Each attribute name must exist on the attrbitue set\n- [set] The set to get attribute values from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":325,"column":3},"path":["lib","attrsets","attrVals"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.attrValues","path":["lib","attrsets","attrValues"],"aliases":[["builtins","attrValues"],["lib","attrValues"]],"signature":"attrValues :: AttrSet -> [Any]\n","is_primop":true,"primop_meta":{"name":"attrValues","args":["set"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"path":["lib","attrsets","attrValues"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the values of all attributes in the given set, sorted by\nattribute name.\n\n# Example\n\n```nix\nattrValues {c = 3; a = 1; b = 2;}\n=> [1 2 3]\n```\n\n# Type\n\n```\nattrValues :: AttrSet -> [Any]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":349,"column":3},"path":["lib","attrsets","attrValues"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.attrsToList","path":["lib","attrsets","attrsToList"],"aliases":[["lib","attrsToList"]],"signature":"attrsToList :: AttrSet -> [ { name :: String; value :: Any; } ]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":799,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":766,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":799,"column":3},"path":["lib","attrsets","attrsToList"],"pos_type":"Attribute"}},"content":{"content":"\nDeconstruct an attrset to a list of name-value pairs as expected by [`builtins.listToAttrs`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-listToAttrs).\nEach element of the resulting list is an attribute set with these attributes:\n- `name` (string): The name of the attribute\n- `value` (any): The value of the attribute\nThe following is always true:\n```nix\nbuiltins.listToAttrs (attrsToList attrs) == attrs\n```\n:::{.warning}\nThe opposite is not always true. In general expect that\n```nix\nattrsToList (builtins.listToAttrs list) != list\n```\nThis is because the `listToAttrs` removes duplicate names and doesn't preserve the order of the list.\n:::\n\n# Example\n\n```nix\nattrsToList { foo = 1; bar = \"asdf\"; }\n=> [ { name = \"bar\"; value = \"asdf\"; } { name = \"foo\"; value = 1; } ]\n```\n\n# Type\n\n```\nattrsToList :: AttrSet -> [ { name :: String; value :: Any; } ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":799,"column":3},"path":["lib","attrsets","attrsToList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.cartesianProductOfSets","path":["lib","attrsets","cartesianProductOfSets"],"aliases":[["lib","cartesianProductOfSets"]],"signature":"cartesianProductOfSets :: AttrSet -> [AttrSet]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":643,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":645,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":643,"column":3},"path":["lib","attrsets","cartesianProductOfSets"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the cartesian product of attribute set value combinations.\n\n# Example\n\n```nix\ncartesianProductOfSets { a = [ 1 2 ]; b = [ 10 20 ]; }\n=> [\n { a = 1; b = 10; }\n { a = 1; b = 20; }\n { a = 2; b = 10; }\n { a = 2; b = 20; }\n ]\n```\n\n# Type\n\n```\ncartesianProductOfSets :: AttrSet -> [AttrSet]\n```\n\n# Arguments\n\n- [attrsOfLists] Attribute set with attributes that are lists of values\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":643,"column":3},"path":["lib","attrsets","cartesianProductOfSets"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.catAttrs","path":["lib","attrsets","catAttrs"],"aliases":[["builtins","catAttrs"],["lib","catAttrs"]],"signature":"catAttrs :: String -> [AttrSet] -> [Any]\n","is_primop":true,"primop_meta":{"name":"catAttrs","args":["attr","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"path":["lib","attrsets","catAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nCollect each attribute named `attr` from a list of attribute\nsets. Sets that don't contain the named attribute are ignored.\n\n# Example\n\n```nix\ncatAttrs \"a\" [{a = 1;} {b = 0;} {a = 2;}]\n=> [1 2]\n```\n\n# Type\n\n```\ncatAttrs :: String -> [AttrSet] -> [Any]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":398,"column":3},"path":["lib","attrsets","catAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.chooseDevOutputs","path":["lib","attrsets","chooseDevOutputs"],"aliases":[["lib","chooseDevOutputs"]],"signature":"chooseDevOutputs :: [Derivation] -> [String]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1477,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1479,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1477,"column":3},"path":["lib","attrsets","chooseDevOutputs"],"pos_type":"Attribute"}},"content":{"content":"\nPick the outputs of packages to place in `buildInputs`\n\n# Type\n\n```\nchooseDevOutputs :: [Derivation] -> [String]\n```\n\n# Arguments\n\n- [drvs] List of packages to pick `dev` outputs from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1477,"column":3},"path":["lib","attrsets","chooseDevOutputs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.collect","path":["lib","attrsets","collect"],"aliases":[["lib","collect"]],"signature":"collect :: (AttrSet -> Bool) -> AttrSet -> [x]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":605,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":607,"column":3},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":605,"column":3},"path":["lib","attrsets","collect"],"pos_type":"Attribute"}},"content":{"content":"\nRecursively collect sets that verify a given predicate named `pred`\nfrom the set `attrs`. The recursion is stopped when the predicate is\nverified.\n\n# Example\n\n```nix\ncollect isList { a = { b = [\"b\"]; }; c = [1]; }\n=> [[\"b\"] [1]]\ncollect (x: x ? outPath)\n { a = { outPath = \"a/\"; }; b = { outPath = \"b/\"; }; }\n=> [{ outPath = \"a/\"; } { outPath = \"b/\"; }]\n```\n\n# Type\n\n```\ncollect :: (AttrSet -> Bool) -> AttrSet -> [x]\n```\n\n# Arguments\n\n- [pred] Given an attribute's value, determine if recursion should stop.\n- [attrs] The attribute set to recursively collect.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":605,"column":3},"path":["lib","attrsets","collect"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.concatMapAttrs","path":["lib","attrsets","concatMapAttrs"],"aliases":[["lib","concatMapAttrs"]],"signature":"concatMapAttrs :: (String -> a -> AttrSet) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":3},"path":["lib","attrsets","concatMapAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMap each attribute in the given set and merge them into a new attribute set.\n\n# Example\n\n```nix\nconcatMapAttrs\n (name: value: {\n ${name} = value;\n ${name + value} = value;\n })\n { x = \"a\"; y = \"b\"; }\n=> { x = \"a\"; xa = \"a\"; y = \"b\"; yb = \"b\"; }\n```\n\n# Type\n\n```\nconcatMapAttrs :: (String -> a -> AttrSet) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [f] \n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":191,"column":3},"path":["lib","attrsets","concatMapAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.dontRecurseIntoAttrs","path":["lib","attrsets","dontRecurseIntoAttrs"],"aliases":[["lib","dontRecurseIntoAttrs"],["pkgs","dontRecurseIntoAttrs"]],"signature":"dontRecurseIntoAttrs :: AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1531,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"path":["lib","attrsets","dontRecurseIntoAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nUndo the effect of recurseIntoAttrs.\n\n# Type\n\n```\ndontRecurseIntoAttrs :: AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [attrs] An attribute set to not scan for derivations.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"path":["lib","attrsets","dontRecurseIntoAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.filterAttrs","path":["lib","attrsets","filterAttrs"],"aliases":[["lib","filterAttrs"]],"signature":"filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":425,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":427,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":425,"column":3},"path":["lib","attrsets","filterAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nFilter an attribute set by removing all attributes for which the\ngiven predicate return false.\n\n# Example\n\n```nix\nfilterAttrs (n: v: n == \"foo\") { foo = 1; bar = 2; }\n=> { foo = 1; }\n```\n\n# Type\n\n```\nfilterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [pred] Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute.\n- [set] The attribute set to filter\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":425,"column":3},"path":["lib","attrsets","filterAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.filterAttrsRecursive","path":["lib","attrsets","filterAttrsRecursive"],"aliases":[["lib","filterAttrsRecursive"]],"signature":"filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":456,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":458,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":456,"column":3},"path":["lib","attrsets","filterAttrsRecursive"],"pos_type":"Attribute"}},"content":{"content":"\nFilter an attribute set recursively by removing all attributes for\nwhich the given predicate return false.\n\n# Example\n\n```nix\nfilterAttrsRecursive (n: v: v != null) { foo = { bar = null; }; }\n=> { foo = {}; }\n```\n\n# Type\n\n```\nfilterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [pred] Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute.\n- [set] The attribute set to filter\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":456,"column":3},"path":["lib","attrsets","filterAttrsRecursive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.foldAttrs","path":["lib","attrsets","foldAttrs"],"aliases":[["lib","foldAttrs"]],"signature":"foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":564,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":566,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":564,"column":3},"path":["lib","attrsets","foldAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nApply fold functions to values grouped by key.\n\n# Example\n\n```nix\nfoldAttrs (item: acc: [item] ++ acc) [] [{ a = 2; } { a = 3; }]\n=> { a = [ 2 3 ]; }\n```\n\n# Type\n\n```\nfoldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any\n```\n\n# Arguments\n\n- [op] A function, given a value and a collector combines the two.\n- [nul] The starting value.\n- [list_of_attrs] A list of attribute sets to fold together by key.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":564,"column":3},"path":["lib","attrsets","foldAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.foldlAttrs","path":["lib","attrsets","foldlAttrs"],"aliases":[["lib","foldlAttrs"]],"signature":"foldlAttrs :: ( a -> String -> b -> a ) -> a -> { ... :: b } -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":3},"path":["lib","attrsets","foldlAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nLike [`lib.lists.foldl'`](#function-library-lib.lists.foldl-prime) but for attribute sets.\nIterates over every name-value pair in the given attribute set.\nThe result of the callback function is often called `acc` for accumulator. It is passed between callbacks from left to right and the final `acc` is the return value of `foldlAttrs`.\nAttention:\nThere is a completely different function\n`lib.foldAttrs`\nwhich has nothing to do with this function, despite the similar name.\n\n# Example\n\n```nix\nfoldlAttrs\n (acc: name: value: {\n sum = acc.sum + value;\n names = acc.names ++ [name];\n })\n { sum = 0; names = []; }\n {\n foo = 1;\n bar = 10;\n }\n->\n {\n sum = 11;\n names = [\"bar\" \"foo\"];\n }\nfoldlAttrs\n (throw \"function not needed\")\n 123\n {};\n->\n 123\nfoldlAttrs\n (acc: _: _: acc)\n 3\n { z = throw \"value not needed\"; a = throw \"value not needed\"; };\n->\n 3\nThe accumulator doesn't have to be an attrset.\nIt can be as simple as a number or string.\nfoldlAttrs\n (acc: _: v: acc * 10 + v)\n 1\n { z = 1; a = 2; };\n->\n 121\n```\n\n# Type\n\n```\nfoldlAttrs :: ( a -> String -> b -> a ) -> a -> { ... :: b } -> a\n```\n\n# Arguments\n\n- [f] \n- [init] \n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":535,"column":3},"path":["lib","attrsets","foldlAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.genAttrs","path":["lib","attrsets","genAttrs"],"aliases":[["lib","genAttrs"]],"signature":"genAttrs :: [ String ] -> (String -> Any) -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":912,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":914,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":912,"column":3},"path":["lib","attrsets","genAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate an attribute set by mapping a function over a list of\nattribute names.\n\n# Example\n\n```nix\ngenAttrs [ \"foo\" \"bar\" ] (name: \"x_\" + name)\n=> { foo = \"x_foo\"; bar = \"x_bar\"; }\n```\n\n# Type\n\n```\ngenAttrs :: [ String ] -> (String -> Any) -> AttrSet\n```\n\n# Arguments\n\n- [names] Names of values in the resulting attribute set.\n- [f] A function, given the name of the attribute, returns the attribute's value.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":912,"column":3},"path":["lib","attrsets","genAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getAttr","path":["lib","attrsets","getAttr"],"aliases":[["builtins","getAttr"],["lib","getAttr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"getAttr","args":["s","set"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":12,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrsets","getAttr"],"pos_type":"Lambda"}},"content":{"content":"\n`getAttr` returns the attribute named *s* from *set*. Evaluation\naborts if the attribute doesnt exist. This is a dynamic version of\nthe `.` operator, since *s* is an expression rather than an\nidentifier.\n","source":{"position":null,"path":["lib","attrsets","getAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrsets.getAttrFromPath","path":["lib","attrsets","getAttrFromPath"],"aliases":[["lib","getAttrFromPath"]],"signature":"getAttrFromPath :: [String] -> AttrSet -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":156,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":158,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":156,"column":3},"path":["lib","attrsets","getAttrFromPath"],"pos_type":"Attribute"}},"content":{"content":"\nLike `attrByPath`, but without a default value. If it doesn't find the\npath it will throw an error.\n\n# Example\n\n```nix\nx = { a = { b = 3; }; }\ngetAttrFromPath [\"a\" \"b\"] x\n=> 3\ngetAttrFromPath [\"z\" \"z\"] x\n=> error: cannot find attribute `z.z'\n```\n\n# Type\n\n```\ngetAttrFromPath :: [String] -> AttrSet -> Any\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to get from `set`\n- [set] The nested attribute set to find the value in.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":156,"column":3},"path":["lib","attrsets","getAttrFromPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getAttrs","path":["lib","attrsets","getAttrs"],"aliases":[["lib","getAttrs"]],"signature":"getAttrs :: [String] -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":375,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":377,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":375,"column":3},"path":["lib","attrsets","getAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nGiven a set of attribute names, return the set of the corresponding\nattributes from the given set.\n\n# Example\n\n```nix\ngetAttrs [ \"a\" \"b\" ] { a = 1; b = 2; c = 3; }\n=> { a = 1; b = 2; }\n```\n\n# Type\n\n```\ngetAttrs :: [String] -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [names] A list of attribute names to get out of `set`\n- [attrs] The set to get the named attributes from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":375,"column":3},"path":["lib","attrsets","getAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getBin","path":["lib","attrsets","getBin"],"aliases":[["lib","getBin"]],"signature":"getBin :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1401,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1401,"column":3},"path":["lib","attrsets","getBin"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `bin` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetBin pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r\"\n```\n\n# Type\n\n```\ngetBin :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1401,"column":3},"path":["lib","attrsets","getBin"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getDev","path":["lib","attrsets","getDev"],"aliases":[["lib","getDev"]],"signature":"getDev :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1441,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1441,"column":3},"path":["lib","attrsets","getDev"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `dev` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetDev pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev\"\n```\n\n# Type\n\n```\ngetDev :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1441,"column":3},"path":["lib","attrsets","getDev"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getLib","path":["lib","attrsets","getLib"],"aliases":[["lib","getLib"]],"signature":"getLib :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1421,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1421,"column":3},"path":["lib","attrsets","getLib"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `lib` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetLib pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-lib\"\n```\n\n# Type\n\n```\ngetLib :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1421,"column":3},"path":["lib","attrsets","getLib"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getMan","path":["lib","attrsets","getMan"],"aliases":[["lib","getMan"]],"signature":"getMan :: Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1461,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":23},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1461,"column":3},"path":["lib","attrsets","getMan"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package's `man` output.\nIf the output does not exist, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetMan pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-man\"\n```\n\n# Type\n\n```\ngetMan :: Derivation -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1461,"column":3},"path":["lib","attrsets","getMan"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.getOutput","path":["lib","attrsets","getOutput"],"aliases":[["lib","getOutput"]],"signature":"getOutput :: String -> Derivation -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":3},"path":["lib","attrsets","getOutput"],"pos_type":"Attribute"}},"content":{"content":"\nGet a package output.\nIf no output is found, fallback to `.out` and then to the default.\n\n# Example\n\n```nix\ngetOutput \"dev\" pkgs.openssl\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev\"\n```\n\n# Type\n\n```\ngetOutput :: String -> Derivation -> String\n```\n\n# Arguments\n\n- [output] \n- [pkg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1379,"column":3},"path":["lib","attrsets","getOutput"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.hasAttr","path":["lib","attrsets","hasAttr"],"aliases":[["builtins","hasAttr"],["lib","hasAttr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"hasAttr","args":["s","set"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":12,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrsets","hasAttr"],"pos_type":"Lambda"}},"content":{"content":"\n`hasAttr` returns `true` if *set* has an attribute named *s*, and\n`false` otherwise. This is a dynamic version of the `?` operator,\nsince *s* is an expression rather than an identifier.\n","source":{"position":null,"path":["lib","attrsets","hasAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrsets.hasAttrByPath","path":["lib","attrsets","hasAttrByPath"],"aliases":[["lib","hasAttrByPath"]],"signature":"hasAttrByPath :: [String] -> AttrSet -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":82,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":84,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":82,"column":3},"path":["lib","attrsets","hasAttrByPath"],"pos_type":"Attribute"}},"content":{"content":"\nReturn if an attribute from nested attribute set exists.\n\n# Example\n\n```nix\nx = { a = { b = 3; }; }\nhasAttrByPath [\"a\" \"b\"] x\n=> true\nhasAttrByPath [\"z\" \"z\"] x\n=> false\n```\n\n# Type\n\n```\nhasAttrByPath :: [String] -> AttrSet -> Bool\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to check from `set`\n- [e] The nested attribute set to check\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":82,"column":3},"path":["lib","attrsets","hasAttrByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.isAttrs","path":["lib","attrsets","isAttrs"],"aliases":[["builtins","isAttrs"],["lib","isAttrs"],["lib","strings","isAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":12,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrsets","isAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a set, and `false` otherwise.\n","source":{"position":null,"path":["lib","attrsets","isAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrsets.isDerivation","path":["lib","attrsets","isDerivation"],"aliases":[["lib","isDerivation"]],"signature":"isDerivation :: Any -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":945,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":947,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":945,"column":3},"path":["lib","attrsets","isDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether the argument is a derivation. Any set with\n`{ type = \"derivation\"; }` counts as a derivation.\n\n# Example\n\n```nix\nnixpkgs = import <nixpkgs> {}\nisDerivation nixpkgs.ruby\n=> true\nisDerivation \"foobar\"\n=> false\n```\n\n# Type\n\n```\nisDerivation :: Any -> Bool\n```\n\n# Arguments\n\n- [value] Value to check.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":945,"column":3},"path":["lib","attrsets","isDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.listToAttrs","path":["lib","attrsets","listToAttrs"],"aliases":[["builtins","listToAttrs"],["lib","listToAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"listToAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":12,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrsets","listToAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nConstruct a set from a list specifying the names and values of each\nattribute. Each element of the list should be a set consisting of a\nstring-valued attribute `name` specifying the name of the attribute,\nand an attribute `value` specifying its value.\n\nIn case of duplicate occurrences of the same name, the first\ntakes precedence.\n\nExample:\n\n```nix\nbuiltins.listToAttrs\n [ { name = \"foo\"; value = 123; }\n { name = \"bar\"; value = 456; }\n { name = \"bar\"; value = 420; }\n ]\n```\n\nevaluates to\n\n```nix\n{ foo = 123; bar = 456; }\n```\n","source":{"position":null,"path":["lib","attrsets","listToAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrsets.mapAttrs","path":["lib","attrsets","mapAttrs"],"aliases":[["builtins","mapAttrs"],["lib","mapAttrs"]],"signature":"mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet\n","is_primop":true,"primop_meta":{"name":"mapAttrs","args":["f","attrset"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"path":["lib","attrsets","mapAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nApply a function to each element in an attribute set, creating a new attribute set.\n\n# Example\n\n```nix\nmapAttrs (name: value: name + \"-\" + value)\n { x = \"foo\"; y = \"bar\"; }\n=> { x = \"x-foo\"; y = \"y-bar\"; }\n```\n\n# Type\n\n```\nmapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":700,"column":3},"path":["lib","attrsets","mapAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.mapAttrs' (Prime)","path":["lib","attrsets","mapAttrs'"],"aliases":[["lib","mapAttrs'"]],"signature":"mapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":730,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":732,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":730,"column":3},"path":["lib","attrsets","mapAttrs'"],"pos_type":"Attribute"}},"content":{"content":"\nLike `mapAttrs`, but allows the name of each attribute to be\nchanged in addition to the value. The applied function should\nreturn both the new name and value as a `nameValuePair`.\n\n# Example\n\n```nix\nmapAttrs' (name: value: nameValuePair (\"foo_\" + name) (\"bar-\" + value))\n { x = \"a\"; y = \"b\"; }\n=> { foo_x = \"bar-a\"; foo_y = \"bar-b\"; }\n```\n\n# Type\n\n```\nmapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [f] A function, given an attribute's name and value, returns a new `nameValuePair`.\n- [set] Attribute set to map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":730,"column":3},"path":["lib","attrsets","mapAttrs'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.mapAttrsRecursive","path":["lib","attrsets","mapAttrsRecursive"],"aliases":[["lib","mapAttrsRecursive"]],"signature":"mapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":831,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":833,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":831,"column":3},"path":["lib","attrsets","mapAttrsRecursive"],"pos_type":"Attribute"}},"content":{"content":"\nLike `mapAttrs`, except that it recursively applies itself to\nthe *leaf* attributes of a potentially-nested attribute set:\nthe second argument of the function will never be an attrset.\nAlso, the first argument of the argument function is a *list*\nof the attribute names that form the path to the leaf attribute.\nFor a function that gives you control over what counts as a leaf,\nsee `mapAttrsRecursiveCond`.\n\n# Example\n\n```nix\nmapAttrsRecursive (path: value: concatStringsSep \"-\" (path ++ [value]))\n { n = { a = \"A\"; m = { b = \"B\"; c = \"C\"; }; }; d = \"D\"; }\n=> { n = { a = \"n-a-A\"; m = { b = \"n-m-b-B\"; c = \"n-m-c-C\"; }; }; d = \"d-D\"; }\n```\n\n# Type\n\n```\nmapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [f] A function, given a list of attribute names and a value, returns a new value.\n- [set] Set to recursively map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":831,"column":3},"path":["lib","attrsets","mapAttrsRecursive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.mapAttrsRecursiveCond","path":["lib","attrsets","mapAttrsRecursiveCond"],"aliases":[["lib","mapAttrsRecursiveCond"]],"signature":"mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":870,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":872,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":870,"column":3},"path":["lib","attrsets","mapAttrsRecursiveCond"],"pos_type":"Attribute"}},"content":{"content":"\nLike `mapAttrsRecursive`, but it takes an additional predicate\nfunction that tells it whether to recurse into an attribute\nset. If it returns false, `mapAttrsRecursiveCond` does not\nrecurse, but does apply the map function. If it returns true, it\ndoes recurse, and does not apply the map function.\n\n# Example\n\n```nix\n# To prevent recursing into derivations (which are attribute\n# sets with the attribute \"type\" equal to \"derivation\"):\nmapAttrsRecursiveCond\n (as: !(as ? \"type\" && as.type == \"derivation\"))\n (x: ... do something ...)\n attrs\n```\n\n# Type\n\n```\nmapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [cond] A function, given the attribute set the recursion is currently at, determine if to recurse deeper into that attribute set.\n- [f] A function, given a list of attribute names and a value, returns a new value.\n- [set] Attribute set to recursively map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":870,"column":3},"path":["lib","attrsets","mapAttrsRecursiveCond"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.mapAttrsToList","path":["lib","attrsets","mapAttrsToList"],"aliases":[["lib","mapAttrsToList"]],"signature":"mapAttrsToList :: (String -> a -> b) -> AttrSet -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":762,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":764,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":762,"column":3},"path":["lib","attrsets","mapAttrsToList"],"pos_type":"Attribute"}},"content":{"content":"\nCall a function for each attribute in the given set and return\nthe result in a list.\n\n# Example\n\n```nix\nmapAttrsToList (name: value: name + value)\n { x = \"a\"; y = \"b\"; }\n=> [ \"xa\" \"yb\" ]\n```\n\n# Type\n\n```\nmapAttrsToList :: (String -> a -> b) -> AttrSet -> [b]\n```\n\n# Arguments\n\n- [f] A function, given an attribute's name and value, returns a new value.\n- [attrs] Attribute set to map over.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":762,"column":3},"path":["lib","attrsets","mapAttrsToList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.matchAttrs","path":["lib","attrsets","matchAttrs"],"aliases":[["lib","matchAttrs"]],"signature":"matchAttrs :: AttrSet -> AttrSet -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1274,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1276,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1274,"column":3},"path":["lib","attrsets","matchAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nReturns true if the pattern is contained in the set. False otherwise.\n\n# Example\n\n```nix\nmatchAttrs { cpu = {}; } { cpu = { bits = 64; }; }\n=> true\n```\n\n# Type\n\n```\nmatchAttrs :: AttrSet -> AttrSet -> Bool\n```\n\n# Arguments\n\n- [pattern] Attribute set structure to match\n- [attrs] Attribute set to find patterns in\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1274,"column":3},"path":["lib","attrsets","matchAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.mergeAttrsList","path":["lib","attrsets","mergeAttrsList"],"aliases":[],"signature":"mergeAttrsList :: [ Attrs ] -> Attrs\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1127,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1127,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1127,"column":3},"path":["lib","attrsets","mergeAttrsList"],"pos_type":"Attribute"}},"content":{"content":"\nMerge a list of attribute sets together using the `//` operator.\nIn case of duplicate attributes, values from later list elements take precedence over earlier ones.\nThe result is the same as `foldl mergeAttrs { }`, but the performance is better for large inputs.\nFor n list elements, each with an attribute set containing m unique attributes, the complexity of this operation is O(nm log n).\n\n# Example\n\n```nix\nmergeAttrsList [ { a = 0; b = 1; } { c = 2; d = 3; } ]\n=> { a = 0; b = 1; c = 2; d = 3; }\nmergeAttrsList [ { a = 0; } { a = 1; } ]\n=> { a = 1; }\n```\n\n# Type\n\n```\nmergeAttrsList :: [ Attrs ] -> Attrs\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1127,"column":3},"path":["lib","attrsets","mergeAttrsList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.nameValuePair","path":["lib","attrsets","nameValuePair"],"aliases":[["lib","nameValuePair"]],"signature":"nameValuePair :: String -> Any -> { name :: String; value :: Any; }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":675,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":677,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":675,"column":3},"path":["lib","attrsets","nameValuePair"],"pos_type":"Attribute"}},"content":{"content":"\nUtility function that creates a `{name, value}` pair as expected by `builtins.listToAttrs`.\n\n# Example\n\n```nix\nnameValuePair \"some\" 6\n=> { name = \"some\"; value = 6; }\n```\n\n# Type\n\n```\nnameValuePair :: String -> Any -> { name :: String; value :: Any; }\n```\n\n# Arguments\n\n- [name] Attribute name\n- [value] Attribute value\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":675,"column":3},"path":["lib","attrsets","nameValuePair"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.optionalAttrs","path":["lib","attrsets","optionalAttrs"],"aliases":[["lib","optionalAttrs"]],"signature":"optionalAttrs :: Bool -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1004,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1006,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1004,"column":3},"path":["lib","attrsets","optionalAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nIf `cond` is true, return the attribute set `as`,\notherwise an empty attribute set.\n\n# Example\n\n```nix\noptionalAttrs (true) { my = \"set\"; }\n=> { my = \"set\"; }\noptionalAttrs (false) { my = \"set\"; }\n=> { }\n```\n\n# Type\n\n```\noptionalAttrs :: Bool -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [cond] Condition under which the `as` attribute set is returned.\n- [as] The attribute set to return if `cond` is `true`.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1004,"column":3},"path":["lib","attrsets","optionalAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.overrideExisting","path":["lib","attrsets","overrideExisting"],"aliases":[["lib","overrideExisting"]],"signature":"overrideExisting :: AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1315,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1317,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1315,"column":3},"path":["lib","attrsets","overrideExisting"],"pos_type":"Attribute"}},"content":{"content":"\nOverride only the attributes that are already present in the old set\nuseful for deep-overriding.\n\n# Example\n\n```nix\noverrideExisting {} { a = 1; }\n=> {}\noverrideExisting { b = 2; } { a = 1; }\n=> { b = 2; }\noverrideExisting { a = 3; b = 2; } { a = 1; }\n=> { a = 1; b = 2; }\n```\n\n# Type\n\n```\noverrideExisting :: AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [old] Original attribute set\n- [new] Attribute set with attributes to override in `old`.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1315,"column":3},"path":["lib","attrsets","overrideExisting"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.recurseIntoAttrs","path":["lib","attrsets","recurseIntoAttrs"],"aliases":[["lib","recurseIntoAttrs"],["pkgs","recurseIntoAttrs"]],"signature":"recurseIntoAttrs :: AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1512,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"path":["lib","attrsets","recurseIntoAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMake various Nix tools consider the contents of the resulting\nattribute set when looking for what to build, find, etc.\nThis function only affects a single attribute set; it does not\napply itself recursively for nested attribute sets.\n\n# Example\n\n```nix\n{ pkgs ? import <nixpkgs> {} }:\n{\n myTools = pkgs.lib.recurseIntoAttrs {\n inherit (pkgs) hello figlet;\n };\n}\n```\n\n# Type\n\n```\nrecurseIntoAttrs :: AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [attrs] An attribute set to scan for derivations.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"path":["lib","attrsets","recurseIntoAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.recursiveUpdate","path":["lib","attrsets","recursiveUpdate"],"aliases":[["lib","recursiveUpdate"]],"signature":"recursiveUpdate :: AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1244,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1246,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1244,"column":3},"path":["lib","attrsets","recursiveUpdate"],"pos_type":"Attribute"}},"content":{"content":"\nA recursive variant of the update operator //. The recursion\nstops when one of the attribute values is not an attribute set,\nin which case the right hand side value takes precedence over the\nleft hand side value.\n\n# Example\n\n```nix\nrecursiveUpdate {\n boot.loader.grub.enable = true;\n boot.loader.grub.device = \"/dev/hda\";\n} {\n boot.loader.grub.device = \"\";\n}\nreturns: {\n boot.loader.grub.enable = true;\n boot.loader.grub.device = \"\";\n}\n```\n\n# Type\n\n```\nrecursiveUpdate :: AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [lhs] Left attribute set of the merge.\n- [rhs] Right attribute set of the merge.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1244,"column":3},"path":["lib","attrsets","recursiveUpdate"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.recursiveUpdateUntil","path":["lib","attrsets","recursiveUpdateUntil"],"aliases":[["lib","recursiveUpdateUntil"]],"signature":"recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1192,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1194,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1192,"column":3},"path":["lib","attrsets","recursiveUpdateUntil"],"pos_type":"Attribute"}},"content":{"content":"\nDoes the same as the update operator '//' except that attributes are\nmerged until the given predicate is verified. The predicate should\naccept 3 arguments which are the path to reach the attribute, a part of\nthe first attribute set and a part of the second attribute set. When\nthe predicate is satisfied, the value of the first attribute set is\nreplaced by the value of the second attribute set.\n\n# Example\n\n```nix\nrecursiveUpdateUntil (path: l: r: path == [\"foo\"]) {\n # first attribute set\n foo.bar = 1;\n foo.baz = 2;\n bar = 3;\n} {\n #second attribute set\n foo.bar = 1;\n foo.quz = 2;\n baz = 4;\n}\n=> {\n foo.bar = 1; # 'foo.*' from the second set\n foo.quz = 2; #\n bar = 3; # 'bar' from the first set\n baz = 4; # 'baz' from the second set\n}\n```\n\n# Type\n\n```\nrecursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [pred] Predicate, taking the path to the current attribute as a list of strings for attribute names, and the two values at that path from the original arguments.\n- [lhs] Left attribute set of the merge.\n- [rhs] Right attribute set of the merge.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1192,"column":3},"path":["lib","attrsets","recursiveUpdateUntil"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.removeAttrs","path":["lib","attrsets","removeAttrs"],"aliases":[["builtins","removeAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"removeAttrs","args":["set","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":12,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","attrsets","removeAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nRemove the attributes listed in *list* from *set*. The attributes\ndont have to exist in *set*. For instance,\n\n```nix\nremoveAttrs { x = 1; y = 2; z = 3; } [ \"a\" \"x\" \"z\" ]\n```\n\nevaluates to `{ y = 2; }`.\n","source":{"position":null,"path":["lib","attrsets","removeAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.attrsets.setAttrByPath","path":["lib","attrsets","setAttrByPath"],"aliases":[["lib","setAttrByPath"]],"signature":"setAttrByPath :: [String] -> Any -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":117,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":119,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":117,"column":3},"path":["lib","attrsets","setAttrByPath"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a new attribute set with `value` set at the nested attribute location specified in `attrPath`.\n\n# Example\n\n```nix\nsetAttrByPath [\"a\" \"b\"] 3\n=> { a = { b = 3; }; }\n```\n\n# Type\n\n```\nsetAttrByPath :: [String] -> Any -> AttrSet\n```\n\n# Arguments\n\n- [attrPath] A list of strings representing the attribute path to set\n- [value] The value to set at the location described by `attrPath`\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":117,"column":3},"path":["lib","attrsets","setAttrByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.showAttrPath","path":["lib","attrsets","showAttrPath"],"aliases":[["lib","showAttrPath"]],"signature":"showAttrPath :: [String] -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1349,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1351,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1349,"column":3},"path":["lib","attrsets","showAttrPath"],"pos_type":"Attribute"}},"content":{"content":"\nTurns a list of strings into a human-readable description of those\nstrings represented as an attribute path. The result of this function is\nnot intended to be machine-readable.\nCreate a new attribute set with `value` set at the nested attribute location specified in `attrPath`.\n\n# Example\n\n```nix\nshowAttrPath [ \"foo\" \"10\" \"bar\" ]\n=> \"foo.\\\"10\\\".bar\"\nshowAttrPath []\n=> \"<root attribute path>\"\n```\n\n# Type\n\n```\nshowAttrPath :: [String] -> String\n```\n\n# Arguments\n\n- [path] Attribute path to render to a string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1349,"column":3},"path":["lib","attrsets","showAttrPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.toDerivation","path":["lib","attrsets","toDerivation"],"aliases":[["lib","toDerivation"]],"signature":"toDerivation :: Path -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":963,"column":4},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":965,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":963,"column":4},"path":["lib","attrsets","toDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nConverts a store path to a fake derivation.\n\n# Type\n\n```\ntoDerivation :: Path -> Derivation\n```\n\n# Arguments\n\n- [path] A store path to convert to a derivation.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":963,"column":4},"path":["lib","attrsets","toDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.unionOfDisjoint","path":["lib","attrsets","unionOfDisjoint"],"aliases":[],"signature":"unionOfDisjoint :: AttrSet -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1552,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1552,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1552,"column":3},"path":["lib","attrsets","unionOfDisjoint"],"pos_type":"Attribute"}},"content":{"content":"\n`unionOfDisjoint x y` is equal to `x // y // z` where the\nattrnames in `z` are the intersection of the attrnames in `x` and\n`y`, and all values `assert` with an error message. This\noperator is commutative, unlike (//).\n\n# Type\n\n```\nunionOfDisjoint :: AttrSet -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1552,"column":3},"path":["lib","attrsets","unionOfDisjoint"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.updateManyAttrsByPath","path":["lib","attrsets","updateManyAttrsByPath"],"aliases":[["lib","updateManyAttrsByPath"]],"signature":"updateManyAttrsByPath :: [{ path :: [String]; update :: (Any -> Any); }] -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":244,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":301,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":244,"column":3},"path":["lib","attrsets","updateManyAttrsByPath"],"pos_type":"Attribute"}},"content":{"content":"\nUpdate or set specific paths of an attribute set.\nTakes a list of updates to apply and an attribute set to apply them to,\nand returns the attribute set with the updates applied. Updates are\nrepresented as `{ path = ...; update = ...; }` values, where `path` is a\nlist of strings representing the attribute path that should be updated,\nand `update` is a function that takes the old value at that attribute path\nas an argument and returns the new\nvalue it should be.\nProperties:\n- Updates to deeper attribute paths are applied before updates to more\nshallow attribute paths\n- Multiple updates to the same attribute path are applied in the order\nthey appear in the update list\n- If any but the last `path` element leads into a value that is not an\nattribute set, an error is thrown\n- If there is an update for an attribute path that doesn't exist,\naccessing the argument in the update function causes an error, but\nintermediate attribute sets are implicitly created as needed\n\n# Example\n\n```nix\nupdateManyAttrsByPath [\n {\n path = [ \"a\" \"b\" ];\n update = old: { d = old.c; };\n }\n {\n path = [ \"a\" \"b\" \"c\" ];\n update = old: old + 1;\n }\n {\n path = [ \"x\" \"y\" ];\n update = old: \"xy\";\n }\n] { a.b.c = 0; }\n=> { a = { b = { d = 1; }; }; x = { y = \"xy\"; }; }\n```\n\n# Type\n\n```\nupdateManyAttrsByPath :: [{ path :: [String]; update :: (Any -> Any); }] -> AttrSet -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":244,"column":3},"path":["lib","attrsets","updateManyAttrsByPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.zip","path":["lib","attrsets","zip"],"aliases":[["builtins","zipAttrsWith"],["lib","zip"],["lib","zipAttrsWith"],["lib","attrsets","zipAttrsWith"]],"signature":"zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":true,"primop_meta":{"name":"zipAttrsWith","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1566,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function f to merge attribute values.\nLike `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`.\nImplementation note: Common names appear multiple times in the list of\nnames, hopefully this does not affect the system because the maximal\nlaziness avoid computing twice the same expression and `listToAttrs` does\nnot care about duplicated attribute names.\n\n# Example\n\n```nix\nzipAttrsWith (name: values: values) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.zipAttrs","path":["lib","attrsets","zipAttrs"],"aliases":[["lib","zipAttrs"]],"signature":"zipAttrs :: [ AttrSet ] -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1096,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1098,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1096,"column":3},"path":["lib","attrsets","zipAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and combine each attribute value in to a list.\nLike `lib.attrsets.zipAttrsWith` with `(name: values: values)` as the function.\n\n# Example\n\n```nix\nzipAttrs [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrs :: [ AttrSet ] -> AttrSet\n```\n\n# Arguments\n\n- [sets] List of attribute sets to zip together.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1096,"column":3},"path":["lib","attrsets","zipAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.zipAttrsWith","path":["lib","attrsets","zipAttrsWith"],"aliases":[["builtins","zipAttrsWith"],["lib","zip"],["lib","zipAttrsWith"],["lib","attrsets","zip"]],"signature":"zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":true,"primop_meta":{"name":"zipAttrsWith","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function f to merge attribute values.\nLike `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`.\nImplementation note: Common names appear multiple times in the list of\nnames, hopefully this does not affect the system because the maximal\nlaziness avoid computing twice the same expression and `listToAttrs` does\nnot care about duplicated attribute names.\n\n# Example\n\n```nix\nzipAttrsWith (name: values: values) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; b = [\"z\"]; }\n```\n\n# Type\n\n```\nzipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1070,"column":3},"path":["lib","attrsets","zipAttrsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.zipAttrsWithNames","path":["lib","attrsets","zipAttrsWithNames"],"aliases":[["lib","zipAttrsWithNames"]],"signature":"zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1036,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1036,"column":3},"path":["lib","attrsets","zipAttrsWithNames"],"pos_type":"Attribute"}},"content":{"content":"\nMerge sets of attributes and use the function `f` to merge attributes\nvalues.\n\n# Example\n\n```nix\nzipAttrsWithNames [\"a\"] (name: vs: vs) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; }\n```\n\n# Type\n\n```\nzipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n\n# Arguments\n\n- [names] List of attribute names to zip.\n- [f] A function, accepts an attribute name, all the values, and returns a combined value.\n- [sets] List of values from the list of attribute sets.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1036,"column":3},"path":["lib","attrsets","zipAttrsWithNames"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.attrsets.zipWithNames","path":["lib","attrsets","zipWithNames"],"aliases":[["lib","zipWithNames"]],"signature":"zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1563,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"path":["lib","attrsets","zipWithNames"],"pos_type":"Lambda"}},"content":{"content":"\nMerge sets of attributes and use the function `f` to merge attributes\nvalues.\n\n# Example\n\n```nix\nzipAttrsWithNames [\"a\"] (name: vs: vs) [{a = \"x\";} {a = \"y\"; b = \"z\";}]\n=> { a = [\"x\" \"y\"]; }\n```\n\n# Type\n\n```\nzipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet\n```\n\n# Arguments\n\n- [names] List of attribute names to zip.\n- [f] A function, accepts an attribute name, all the values, and returns a combined value.\n- [sets] List of values from the list of attribute sets.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1038,"column":5},"path":["lib","attrsets","zipWithNames"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.cli.toGNUCommandLine","path":["lib","cli","toGNUCommandLine"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":52,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":52,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":52,"column":22},"path":["lib","cli","toGNUCommandLine"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":52,"column":22},"path":["lib","cli","toGNUCommandLine"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.cli.toGNUCommandLineShell","path":["lib","cli","toGNUCommandLineShell"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":49,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":50,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":49,"column":3},"path":["lib","cli","toGNUCommandLineShell"],"pos_type":"Attribute"}},"content":{"content":"\nAutomatically convert an attribute set to command-line options.\nThis helps protect against malformed command lines and also to reduce\nboilerplate related to command-line construction for simple use cases.\n`toGNUCommandLine` returns a list of nix strings.\n`toGNUCommandLineShell` returns an escaped shell string.\n\n# Example\n\n```nix\ncli.toGNUCommandLine {} {\n data = builtins.toJSON { id = 0; };\n X = \"PUT\";\n retry = 3;\n retry-delay = null;\n url = [ \"https://example.com/foo\" \"https://example.com/bar\" ];\n silent = false;\n verbose = true;\n}\n=> [\n \"-X\" \"PUT\"\n \"--data\" \"{\\\"id\\\":0}\"\n \"--retry\" \"3\"\n \"--url\" \"https://example.com/foo\"\n \"--url\" \"https://example.com/bar\"\n \"--verbose\"\n]\ncli.toGNUCommandLineShell {} {\n data = builtins.toJSON { id = 0; };\n X = \"PUT\";\n retry = 3;\n retry-delay = null;\n url = [ \"https://example.com/foo\" \"https://example.com/bar\" ];\n silent = false;\n verbose = true;\n}\n=> \"'-X' 'PUT' '--data' '{\\\"id\\\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'\";\n```\n\n# Arguments\n\n- [options] \n- [attrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/cli.nix","line":49,"column":3},"path":["lib","cli","toGNUCommandLineShell"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.callPackageWith","path":["lib","customisation","callPackageWith"],"aliases":[["lib","callPackageWith"]],"signature":"callPackageWith :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":3},"path":["lib","customisation","callPackageWith"],"pos_type":"Attribute"}},"content":{"content":"\nCall the package function in the file `fn` with the required\narguments automatically. The function is called with the\narguments `args`, but any missing arguments are obtained from\n`autoArgs`. This function is intended to be partially\nparameterised, e.g.,\n```nix\ncallPackage = callPackageWith pkgs;\npkgs = {\nlibfoo = callPackage ./foo.nix { };\nlibbar = callPackage ./bar.nix { };\n};\n```\nIf the `libbar` function expects an argument named `libfoo`, it is\nautomatically passed as an argument. Overrides or missing\narguments can be supplied in `args`, e.g.\n```nix\nlibbar = callPackage ./bar.nix {\nlibfoo = null;\nenableX11 = true;\n};\n```\n<!-- TODO: Apply \"Example:\" tag to the examples above -->\n\n# Type\n\n```\ncallPackageWith :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n```\n\n# Arguments\n\n- [autoArgs] \n- [fn] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":3},"path":["lib","customisation","callPackageWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.callPackagesWith","path":["lib","customisation","callPackagesWith"],"aliases":[["lib","callPackagesWith"]],"signature":"callPackagesWith :: AttrSet -> ((AttrSet -> AttrSet) | Path) -> AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":3},"path":["lib","customisation","callPackagesWith"],"pos_type":"Attribute"}},"content":{"content":"\nLike callPackage, but for a function that returns an attribute\nset of derivations. The override function is added to the\nindividual attributes.\n\n# Type\n\n```\ncallPackagesWith :: AttrSet -> ((AttrSet -> AttrSet) | Path) -> AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [autoArgs] \n- [fn] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":3},"path":["lib","customisation","callPackagesWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.extendDerivation","path":["lib","customisation","extendDerivation"],"aliases":[["lib","extendDerivation"]],"signature":"extendDerivation :: Bool -> Any -> Derivation -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":3},"path":["lib","customisation","extendDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nAdd attributes to each output of a derivation without changing\nthe derivation itself and check a given condition when evaluating.\n\n# Type\n\n```\nextendDerivation :: Bool -> Any -> Derivation -> Derivation\n```\n\n# Arguments\n\n- [condition] \n- [passthru] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":269,"column":3},"path":["lib","customisation","extendDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.hydraJob","path":["lib","customisation","hydraJob"],"aliases":[["lib","hydraJob"]],"signature":"hydraJob :: (Derivation | Null) -> (Derivation | Null)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":3},"path":["lib","customisation","hydraJob"],"pos_type":"Attribute"}},"content":{"content":"\nStrip a derivation of all non-essential attributes, returning\nonly those needed by hydra-eval-jobs. Also strictly evaluate the\nresult to ensure that there are no thunks kept alive to prevent\ngarbage collection.\n\n# Type\n\n```\nhydraJob :: (Derivation | Null) -> (Derivation | Null)\n```\n\n# Arguments\n\n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":316,"column":3},"path":["lib","customisation","hydraJob"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.makeOverridable","path":["lib","customisation","makeOverridable"],"aliases":[["lib","makeOverridable"],["pkgs","makeOverridable"]],"signature":"makeOverridable :: (AttrSet -> a) -> AttrSet -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"path":["lib","customisation","makeOverridable"],"pos_type":"Attribute"}},"content":{"content":"\n`makeOverridable` takes a function from attribute set to attribute set and\ninjects `override` attribute which can be used to override arguments of\nthe function.\nPlease refer to documentation on [`<pkg>.overrideDerivation`](#sec-pkg-overrideDerivation) to learn about `overrideDerivation` and caveats\nrelated to its use.\n\n# Example\n\n```nix\nnix-repl> x = {a, b}: { result = a + b; }\nnix-repl> y = lib.makeOverridable x { a = 1; b = 2; }\nnix-repl> y\n{ override = «lambda»; overrideDerivation = «lambda»; result = 3; }\nnix-repl> y.override { a = 10; }\n{ override = «lambda»; overrideDerivation = «lambda»; result = 12; }\n```\n\n# Type\n\n```\nmakeOverridable :: (AttrSet -> a) -> AttrSet -> a\n```\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"path":["lib","customisation","makeOverridable"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.makeScope","path":["lib","customisation","makeScope"],"aliases":[["lib","makeScope"]],"signature":"makeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":3},"path":["lib","customisation","makeScope"],"pos_type":"Attribute"}},"content":{"content":"\nMake a set of packages with a common scope. All packages called\nwith the provided `callPackage` will be evaluated with the same\narguments. Any package in the set may depend on any other. The\n`overrideScope'` function allows subsequent modification of the package\nset in a consistent way, i.e. all packages in the set will be\ncalled with the overridden packages. The package sets may be\nhierarchical: the packages in the set are called with the scope\nprovided by `newScope` and the set provides a `newScope` attribute\nwhich can form the parent scope for later package sets.\n\n# Type\n\n```\nmakeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> AttrSet\n```\n\n# Arguments\n\n- [newScope] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":368,"column":3},"path":["lib","customisation","makeScope"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.makeScopeWithSplicing","path":["lib","customisation","makeScopeWithSplicing"],"aliases":[["lib","makeScopeWithSplicing"],["pkgs","makeScopeWithSplicing"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":395,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"path":["lib","customisation","makeScopeWithSplicing"],"pos_type":"Attribute"}},"content":{"content":"\nbackward compatibility with old uncurried form; deprecated\n\n# Arguments\n\n- [splicePackages] \n- [newScope] \n- [otherSplices] \n- [keep] \n- [extra] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"path":["lib","customisation","makeScopeWithSplicing"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.makeScopeWithSplicing' (Prime)","path":["lib","customisation","makeScopeWithSplicing'"],"aliases":[["lib","makeScopeWithSplicing'"],["pkgs","makeScopeWithSplicing'"]],"signature":"makeScopeWithSplicing' ::\n { splicePackages :: Splice -> AttrSet\n , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n }\n -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }\n -> AttrSet\nSplice ::\n { pkgsBuildBuild :: AttrSet\n , pkgsBuildHost :: AttrSet\n , pkgsBuildTarget :: AttrSet\n , pkgsHostHost :: AttrSet\n , pkgsHostTarget :: AttrSet\n , pkgsTargetTarget :: AttrSet\n }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":428,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"path":["lib","customisation","makeScopeWithSplicing'"],"pos_type":"Attribute"}},"content":{"content":"\nLike makeScope, but aims to support cross compilation. It's still ugly, but\nhopefully it helps a little bit.\n\n# Type\n\n```\nmakeScopeWithSplicing' ::\n { splicePackages :: Splice -> AttrSet\n , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n }\n -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }\n -> AttrSet\nSplice ::\n { pkgsBuildBuild :: AttrSet\n , pkgsBuildHost :: AttrSet\n , pkgsBuildTarget :: AttrSet\n , pkgsHostHost :: AttrSet\n , pkgsHostTarget :: AttrSet\n , pkgsTargetTarget :: AttrSet\n }\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"path":["lib","customisation","makeScopeWithSplicing'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.customisation.overrideDerivation","path":["lib","customisation","overrideDerivation"],"aliases":[["pkgs","dockerTools","overrideDerivation"],["lib","overrideDerivation"],["pkgs","pythonPackages","overrideDerivation"],["pkgs","stdenv","overrideDerivation"],["pkgs","writers","overrideDerivation"]],"signature":"overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}},"content":{"content":"\n`overrideDerivation drv f` takes a derivation (i.e., the result\nof a call to the builtin function `derivation`) and returns a new\nderivation in which the attributes of the original are overridden\naccording to the function `f`. The function `f` is called with\nthe original derivation attributes.\n`overrideDerivation` allows certain \"ad-hoc\" customisation\nscenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,\nif you want to \"patch\" the derivation returned by a package\nfunction in Nixpkgs to build another version than what the\nfunction itself provides.\nFor another application, see build-support/vm, where this\nfunction is used to build arbitrary derivations inside a QEMU\nvirtual machine.\nNote that in order to preserve evaluation errors, the new derivation's\noutPath depends on the old one's, which means that this function cannot\nbe used in circular situations when the old derivation also depends on the\nnew one.\nYou should in general prefer `drv.overrideAttrs` over this function;\nsee the nixpkgs manual for more information on overriding.\n\n# Example\n\n```nix\nmySed = overrideDerivation pkgs.gnused (oldAttrs: {\n name = \"sed-4.2.2-pre\";\n src = fetchurl {\n url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;\n hash = \"sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=\";\n };\n patches = [];\n});\n```\n\n# Type\n\n```\noverrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.runTests","path":["lib","debug","runTests"],"aliases":[["lib","runTests"]],"signature":"runTests :: {\n tests = [ String ];\n ${testName} :: {\n expr :: a;\n expected :: a;\n };\n}\n->\n[\n {\n name :: String;\n expected :: a;\n result :: a;\n }\n]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":331,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":333,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":331,"column":3},"path":["lib","debug","runTests"],"pos_type":"Attribute"}},"content":{"content":"\nEvaluates a set of tests.\nA test is an attribute set `{expr, expected}`,\ndenoting an expression and its expected result.\nThe result is a `list` of __failed tests__, each represented as\n`{name, expected, result}`,\n- expected\n- What was passed as `expected`\n- result\n- The actual `result` of the test\nUsed for regression testing of the functions in lib; see\ntests.nix for more examples.\nImportant: Only attributes that start with `test` are executed.\n- If you want to run only a subset of the tests add the attribute `tests = [\"testName\"];`\n\n# Example\n\n```nix\nrunTests {\n testAndOk = {\n expr = lib.and true false;\n expected = false;\n };\n testAndFail = {\n expr = lib.and true false;\n expected = true;\n };\n}\n->\n[\n {\n name = \"testAndFail\";\n expected = true;\n result = false;\n }\n]\n```\n\n# Type\n\n```\nrunTests :: {\n tests = [ String ];\n ${testName} :: {\n expr :: a;\n expected :: a;\n };\n}\n->\n[\n {\n name :: String;\n expected :: a;\n result :: a;\n }\n]\n```\n\n# Arguments\n\n- [tests] Tests to run\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":331,"column":3},"path":["lib","debug","runTests"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.testAllTrue","path":["lib","debug","testAllTrue"],"aliases":[["lib","testAllTrue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":3},"path":["lib","debug","testAllTrue"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a test assuming that list elements are `true`.\n\n# Example\n\n```nix\n{ testX = allTrue [ true ]; }\n```\n\n# Arguments\n\n- [expr] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":356,"column":3},"path":["lib","debug","testAllTrue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceFnSeqN","path":["lib","debug","traceFnSeqN"],"aliases":[["lib","traceFnSeqN"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":3},"path":["lib","debug","traceFnSeqN"],"pos_type":"Attribute"}},"content":{"content":"\nTrace the input and output of a function `f` named `name`,\nboth down to `depth`.\nThis is useful for adding around a function call,\nto see the before/after of values as they are transformed.\n\n# Example\n\n```nix\ntraceFnSeqN 2 \"id\" (x: x) { a.b.c = 3; }\ntrace: { fn = \"id\"; from = { a.b = {…}; }; to = { a.b = {…}; }; }\n=> { a.b.c = 3; }\n```\n\n# Arguments\n\n- [depth] \n- [name] \n- [f] \n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":254,"column":3},"path":["lib","debug","traceFnSeqN"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceIf","path":["lib","debug","traceIf"],"aliases":[["lib","traceIf"]],"signature":"traceIf :: bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":59,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":61,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":59,"column":3},"path":["lib","debug","traceIf"],"pos_type":"Attribute"}},"content":{"content":"\nConditionally trace the supplied message, based on a predicate.\n\n# Example\n\n```nix\ntraceIf true \"hello\" 3\ntrace: hello\n=> 3\n```\n\n# Type\n\n```\ntraceIf :: bool -> string -> a -> a\n```\n\n# Arguments\n\n- [pred] Predicate to check\n- [msg] Message that should be traced\n- [x] Value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":59,"column":3},"path":["lib","debug","traceIf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceSeq","path":["lib","debug","traceSeq"],"aliases":[["lib","traceSeq"]],"signature":"traceSeq :: a -> b -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":142,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":144,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":142,"column":3},"path":["lib","debug","traceSeq"],"pos_type":"Attribute"}},"content":{"content":"\n`builtins.trace`, but the value is `builtins.deepSeq`ed first.\n\n# Example\n\n```nix\ntrace { a.b.c = 3; } null\ntrace: { a = <CODE>; }\n=> null\ntraceSeq { a.b.c = 3; } null\ntrace: { a = { b = { c = 3; }; }; }\n=> null\n```\n\n# Type\n\n```\ntraceSeq :: a -> b -> b\n```\n\n# Arguments\n\n- [x] The value to trace\n- [y] The value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":142,"column":3},"path":["lib","debug","traceSeq"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceSeqN","path":["lib","debug","traceSeqN"],"aliases":[["lib","traceSeqN"]],"signature":"traceSeqN :: Int -> a -> b -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":3},"path":["lib","debug","traceSeqN"],"pos_type":"Attribute"}},"content":{"content":"\nLike `traceSeq`, but only evaluate down to depth n.\nThis is very useful because lots of `traceSeq` usages\nlead to an infinite recursion.\n\n# Example\n\n```nix\ntraceSeqN 2 { a.b.c = 3; } null\ntrace: { a = { b = {…}; }; }\n=> null\n```\n\n# Type\n\n```\ntraceSeqN :: Int -> a -> b -> b\n```\n\n# Arguments\n\n- [depth] \n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":174,"column":3},"path":["lib","debug","traceSeqN"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceVal","path":["lib","debug","traceVal"],"aliases":[["lib","fileset","traceVal"],["lib","traceVal"]],"signature":"traceVal :: a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":114,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":95,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":114,"column":3},"path":["lib","debug","traceVal"],"pos_type":"Attribute"}},"content":{"content":"\nTrace the supplied value and return it.\n\n# Example\n\n```nix\ntraceVal 42\n# trace: 42\n=> 42\n```\n\n# Type\n\n```\ntraceVal :: a -> a\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":114,"column":3},"path":["lib","debug","traceVal"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceValFn","path":["lib","debug","traceValFn"],"aliases":[["lib","traceValFn"]],"signature":"traceValFn :: (a -> b) -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":91,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":93,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":91,"column":3},"path":["lib","debug","traceValFn"],"pos_type":"Attribute"}},"content":{"content":"\nTrace the supplied value after applying a function to it, and\nreturn the original value.\n\n# Example\n\n```nix\ntraceValFn (v: \"mystring ${v}\") \"foo\"\ntrace: mystring foo\n=> \"foo\"\n```\n\n# Type\n\n```\ntraceValFn :: (a -> b) -> a -> a\n```\n\n# Arguments\n\n- [f] Function to apply\n- [x] Value to trace and return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":91,"column":3},"path":["lib","debug","traceValFn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceValSeq","path":["lib","debug","traceValSeq"],"aliases":[["lib","traceValSeq"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":207,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":202,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":207,"column":3},"path":["lib","debug","traceValSeq"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeq`.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":207,"column":3},"path":["lib","debug","traceValSeq"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceValSeqFn","path":["lib","debug","traceValSeqFn"],"aliases":[["lib","traceValSeqFn"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":198,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":200,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":198,"column":3},"path":["lib","debug","traceValSeqFn"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeq` that applies a\nprovided function to the value to be traced after `deepSeq`ing\nit.\n\n# Arguments\n\n- [f] Function to apply\n- [v] Value to trace\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":198,"column":3},"path":["lib","debug","traceValSeqFn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceValSeqN","path":["lib","debug","traceValSeqN"],"aliases":[["lib","traceValSeqN"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":230,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":223,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":230,"column":3},"path":["lib","debug","traceValSeqN"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeqN`.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":230,"column":3},"path":["lib","debug","traceValSeqN"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.debug.traceValSeqNFn","path":["lib","debug","traceValSeqNFn"],"aliases":[["lib","traceValSeqNFn"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":220,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":222,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":220,"column":3},"path":["lib","debug","traceValSeqNFn"],"pos_type":"Attribute"}},"content":{"content":"\nA combination of `traceVal` and `traceSeqN` that applies a\nprovided function to the value to be traced.\n\n# Arguments\n\n- [f] Function to apply\n- [depth] \n- [v] Value to trace\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/debug.nix","line":220,"column":3},"path":["lib","debug","traceValSeqNFn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.derivations.lazyDerivation","path":["lib","derivations","lazyDerivation"],"aliases":[["lib","lazyDerivation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":39,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":40,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":39,"column":3},"path":["lib","derivations","lazyDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nRestrict a derivation to a predictable set of attribute names, so\nthat the returned attrset is not strict in the actual derivation,\nsaving a lot of computation when the derivation is non-trivial.\nThis is useful in situations where a derivation might only be used for its\npassthru attributes, improving evaluation performance.\nThe returned attribute set is lazy in `derivation`. Specifically, this\nmeans that the derivation will not be evaluated in at least the\nsituations below.\nFor illustration and/or testing, we define derivation such that its\nevaluation is very noticeable.\nlet derivation = throw \"This won't be evaluated.\";\nIn the following expressions, `derivation` will _not_ be evaluated:\n(lazyDerivation { inherit derivation; }).type\nattrNames (lazyDerivation { inherit derivation; })\n(lazyDerivation { inherit derivation; } // { foo = true; }).foo\n(lazyDerivation { inherit derivation; meta.foo = true; }).meta\nIn these expressions, `derivation` _will_ be evaluated:\n\"${lazyDerivation { inherit derivation }}\"\n(lazyDerivation { inherit derivation }).outPath\n(lazyDerivation { inherit derivation }).meta\nAnd the following expressions are not valid, because the refer to\nimplementation details and/or attributes that may not be present on\nsome derivations:\n(lazyDerivation { inherit derivation }).buildInputs\n(lazyDerivation { inherit derivation }).passthru\n(lazyDerivation { inherit derivation }).pythonPath\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/derivations.nix","line":39,"column":3},"path":["lib","derivations","lazyDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.difference","path":["lib","fileset","difference"],"aliases":[],"signature":"union :: FileSet -> FileSet -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":547,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":553,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":547,"column":3},"path":["lib","fileset","difference"],"pos_type":"Attribute"}},"content":{"content":"\nThe file set containing all files from the first file set that are not in the second file set.\nSee also [Difference (set theory)](https://en.wikipedia.org/wiki/Complement_(set_theory)#Relative_complement).\nThe given file sets are evaluated as lazily as possible,\nwith the first argument being evaluated first if needed.\n\n# Example\n\n```nix\n# Create a file set containing all files from the current directory,\n# except ones under ./tests\ndifference ./. ./tests\nlet\n # A set of Nix-related files\n nixFiles = unions [ ./default.nix ./nix ./tests/default.nix ];\nin\n# Create a file set containing all files under ./tests, except ones in `nixFiles`,\n# meaning only without ./tests/default.nix\ndifference ./tests nixFiles\n```\n\n# Type\n\n```\nunion :: FileSet -> FileSet -> FileSet\n```\n\n# Arguments\n\n- [positive] The positive file set. The result can only contain files that are also in this file set. This argument can also be a path, which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n- [negative] The negative file set. The result will never contain files that are also in this file set. This argument can also be a path, which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":547,"column":3},"path":["lib","fileset","difference"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.fileFilter","path":["lib","fileset","fileFilter"],"aliases":[],"signature":"fileFilter ::\n ({\n name :: String,\n type :: String,\n ...\n } -> Bool)\n -> Path\n -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":434,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":444,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":434,"column":3},"path":["lib","fileset","fileFilter"],"pos_type":"Attribute"}},"content":{"content":"\nFilter a file set to only contain files matching some predicate.\n\n# Example\n\n```nix\n# Include all regular `default.nix` files in the current directory\nfileFilter (file: file.name == \"default.nix\") ./.\n# Include all non-Nix files from the current directory\nfileFilter (file: ! hasSuffix \".nix\" file.name) ./.\n# Include all files that start with a \".\" in the current directory\nfileFilter (file: hasPrefix \".\" file.name) ./.\n# Include all regular files (not symlinks or others) in the current directory\nfileFilter (file: file.type == \"regular\") ./.\n```\n\n# Type\n\n```\nfileFilter ::\n ({\n name :: String,\n type :: String,\n ...\n } -> Bool)\n -> Path\n -> FileSet\n```\n\n# Arguments\n\n- [predicate] The predicate function to call on all files contained in given file set. A file is included in the resulting file set if this function returns true for it.\n\n This function is called with an attribute set containing these attributes:\n\n - `name` (String): The name of the file\n\n - `type` (String, one of `\"regular\"`, `\"symlink\"` or `\"unknown\"`): The type of the file.\n This matches result of calling [`builtins.readFileType`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-readFileType) on the file's path.\n\n Other attributes may be added in the future.\n\n- [path] The path whose files to filter\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":434,"column":3},"path":["lib","fileset","fileFilter"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.fromSource","path":["lib","fileset","fromSource"],"aliases":[],"signature":"fromSource :: SourceLike -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":253,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":253,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":253,"column":3},"path":["lib","fileset","fromSource"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a file set with the same files as a `lib.sources`-based value.\nThis does not import any of the files into the store.\nThis can be used to gradually migrate from `lib.sources`-based filtering to `lib.fileset`.\nA file set can be turned back into a source using [`toSource`](#function-library-lib.fileset.toSource).\n:::{.note}\nFile sets cannot represent empty directories.\nTurning the result of this function back into a source using `toSource` will therefore not preserve empty directories.\n:::\n\n# Example\n\n```nix\n# There's no cleanSource-like function for file sets yet,\n# but we can just convert cleanSource to a file set and use it that way\ntoSource {\n root = ./.;\n fileset = fromSource (lib.sources.cleanSource ./.);\n}\n# Keeping a previous sourceByRegex (which could be migrated to `lib.fileset.unions`),\n# but removing a subdirectory using file set functions\ndifference\n (fromSource (lib.sources.sourceByRegex ./. [\n \"^README\\.md$\"\n # This regex includes everything in ./doc\n \"^doc(/.*)?$\"\n ])\n ./doc/generated\n# Use cleanSource, but limit it to only include ./Makefile and files under ./src\nintersection\n (fromSource (lib.sources.cleanSource ./.))\n (unions [\n ./Makefile\n ./src\n ]);\n```\n\n# Type\n\n```\nfromSource :: SourceLike -> FileSet\n```\n\n# Arguments\n\n- [source] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":253,"column":3},"path":["lib","fileset","fromSource"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.gitTracked","path":["lib","fileset","gitTracked"],"aliases":[],"signature":"gitTracked :: Path -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":714,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":719,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":714,"column":3},"path":["lib","fileset","gitTracked"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a file set containing all [Git-tracked files](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) in a repository.\nThis function behaves like [`gitTrackedWith { }`](#function-library-lib.fileset.gitTrackedWith) - using the defaults.\n\n# Example\n\n```nix\n# Include all files tracked by the Git repository in the current directory\ngitTracked ./.\n# Include only files tracked by the Git repository in the parent directory\n# that are also in the current directory\nintersection ./. (gitTracked ../.)\n```\n\n# Type\n\n```\ngitTracked :: Path -> FileSet\n```\n\n# Arguments\n\n- [path] The [path](https://nixos.org/manual/nix/stable/language/values#type-path) to the working directory of a local Git repository. This directory must contain a `.git` file or subdirectory.\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":714,"column":3},"path":["lib","fileset","gitTracked"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.gitTrackedWith","path":["lib","fileset","gitTrackedWith"],"aliases":[],"signature":"gitTrackedWith :: { recurseSubmodules :: Bool ? false } -> Path -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":768,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":769,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":768,"column":3},"path":["lib","fileset","gitTrackedWith"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a file set containing all [Git-tracked files](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) in a repository.\nThe first argument allows configuration with an attribute set,\nwhile the second argument is the path to the Git working tree.\nIf you don't need the configuration,\nyou can use [`gitTracked`](#function-library-lib.fileset.gitTracked) instead.\nThis is equivalent to the result of [`unions`](#function-library-lib.fileset.unions) on all files returned by [`git ls-files`](https://git-scm.com/docs/git-ls-files)\n(which uses [`--cached`](https://git-scm.com/docs/git-ls-files#Documentation/git-ls-files.txt--c) by default).\n:::{.warning}\nCurrently this function is based on [`builtins.fetchGit`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchGit)\nAs such, this function causes all Git-tracked files to be unnecessarily added to the Nix store,\nwithout being re-usable by [`toSource`](#function-library-lib.fileset.toSource).\nThis may change in the future.\n:::\n\n# Example\n\n```nix\n# Include all files tracked by the Git repository in the current directory\n# and any submodules under it\ngitTracked { recurseSubmodules = true; } ./.\n```\n\n# Type\n\n```\ngitTrackedWith :: { recurseSubmodules :: Bool ? false } -> Path -> FileSet\n```\n\n# Arguments\n\n- [path] The [path](https://nixos.org/manual/nix/stable/language/values#type-path) to the working directory of a local Git repository. This directory must contain a `.git` file or subdirectory.\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":768,"column":3},"path":["lib","fileset","gitTrackedWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.intersection","path":["lib","fileset","intersection"],"aliases":[],"signature":"intersection :: FileSet -> FileSet -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":489,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":493,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":489,"column":3},"path":["lib","fileset","intersection"],"pos_type":"Attribute"}},"content":{"content":"\nThe file set containing all files that are in both of two given file sets.\nSee also [Intersection (set theory)](https://en.wikipedia.org/wiki/Intersection_(set_theory)).\nThe given file sets are evaluated as lazily as possible,\nwith the first argument being evaluated first if needed.\n\n# Example\n\n```nix\n# Limit the selected files to the ones in ./., so only ./src and ./Makefile\nintersection ./. (unions [ ../LICENSE ./src ./Makefile ])\n```\n\n# Type\n\n```\nintersection :: FileSet -> FileSet -> FileSet\n```\n\n# Arguments\n\n- [fileset1] The first file set. This argument can also be a path, which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n- [fileset2] The second file set. This argument can also be a path, which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":489,"column":3},"path":["lib","fileset","intersection"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.toSource","path":["lib","fileset","toSource"],"aliases":[],"signature":"toSource :: {\n root :: Path,\n fileset :: FileSet,\n} -> SourceLike\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":131,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":131,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":131,"column":3},"path":["lib","fileset","toSource"],"pos_type":"Attribute"}},"content":{"content":"\nAdd the local files contained in `fileset` to the store as a single [store path](https://nixos.org/manual/nix/stable/glossary#gloss-store-path) rooted at `root`.\nThe result is the store path as a string-like value, making it usable e.g. as the `src` of a derivation, or in string interpolation:\n```nix\nstdenv.mkDerivation {\nsrc = lib.fileset.toSource { ... };\n# ...\n}\n```\nThe name of the store path is always `source`.\n\n# Example\n\n```nix\n# Import the current directory into the store\n# but only include files under ./src\ntoSource {\n root = ./.;\n fileset = ./src;\n}\n=> \"/nix/store/...-source\"\n# Import the current directory into the store\n# but only include ./Makefile and all files under ./src\ntoSource {\n root = ./.;\n fileset = union\n ./Makefile\n ./src;\n}\n=> \"/nix/store/...-source\"\n# Trying to include a file outside the root will fail\ntoSource {\n root = ./.;\n fileset = unions [\n ./Makefile\n ./src\n ../LICENSE\n ];\n}\n=> <error>\n# The root needs to point to a directory that contains all the files\ntoSource {\n root = ../.;\n fileset = unions [\n ./Makefile\n ./src\n ../LICENSE\n ];\n}\n=> \"/nix/store/...-source\"\n# The root has to be a local filesystem path\ntoSource {\n root = \"/nix/store/...-source\";\n fileset = ./.;\n}\n=> <error>\n```\n\n# Type\n\n```\ntoSource :: {\n root :: Path,\n fileset :: FileSet,\n} -> SourceLike\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":131,"column":3},"path":["lib","fileset","toSource"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.trace","path":["lib","fileset","trace"],"aliases":[["lib","sources","trace"]],"signature":"trace :: FileSet -> Any -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":612,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":618,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":612,"column":3},"path":["lib","fileset","trace"],"pos_type":"Attribute"}},"content":{"content":"\nIncrementally evaluate and trace a file set in a pretty way.\nThis function is only intended for debugging purposes.\nThe exact tracing format is unspecified and may change.\nThis function takes a final argument to return.\nIn comparison, [`traceVal`](#function-library-lib.fileset.traceVal) returns\nthe given file set argument.\nThis variant is useful for tracing file sets in the Nix repl.\n\n# Example\n\n```nix\ntrace (unions [ ./Makefile ./src ./tests/run.sh ]) null\n=>\ntrace: /home/user/src/myProject\ntrace: - Makefile (regular)\ntrace: - src (all files in directory)\ntrace: - tests\ntrace: - run.sh (regular)\nnull\n```\n\n# Type\n\n```\ntrace :: FileSet -> Any -> Any\n```\n\n# Arguments\n\n- [fileset] The file set to trace. \n This argument can also be a path,\n which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":612,"column":3},"path":["lib","fileset","trace"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.traceVal","path":["lib","fileset","traceVal"],"aliases":[["lib","traceVal"],["lib","debug","traceVal"]],"signature":"traceVal :: FileSet -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":670,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":676,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":670,"column":3},"path":["lib","fileset","traceVal"],"pos_type":"Attribute"}},"content":{"content":"\nIncrementally evaluate and trace a file set in a pretty way.\nThis function is only intended for debugging purposes.\nThe exact tracing format is unspecified and may change.\nThis function returns the given file set.\nIn comparison, [`trace`](#function-library-lib.fileset.trace) takes another argument to return.\nThis variant is useful for tracing file sets passed as arguments to other functions.\n\n# Example\n\n```nix\ntoSource {\n root = ./.;\n fileset = traceVal (unions [\n ./Makefile\n ./src\n ./tests/run.sh\n ]);\n}\n=>\ntrace: /home/user/src/myProject\ntrace: - Makefile (regular)\ntrace: - src (all files in directory)\ntrace: - tests\ntrace: - run.sh (regular)\n\"/nix/store/...-source\"\n```\n\n# Type\n\n```\ntraceVal :: FileSet -> FileSet\n```\n\n# Arguments\n\n- [fileset] The file set to trace and return. \n This argument can also be a path,\n which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":670,"column":3},"path":["lib","fileset","traceVal"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.union","path":["lib","fileset","union"],"aliases":[],"signature":"union :: FileSet -> FileSet -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":311,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":315,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":311,"column":3},"path":["lib","fileset","union"],"pos_type":"Attribute"}},"content":{"content":"\nThe file set containing all files that are in either of two given file sets.\nThis is the same as [`unions`](#function-library-lib.fileset.unions),\nbut takes just two file sets instead of a list.\nSee also [Union (set theory)](https://en.wikipedia.org/wiki/Union_(set_theory)).\nThe given file sets are evaluated as lazily as possible,\nwith the first argument being evaluated first if needed.\n\n# Example\n\n```nix\n# Create a file set containing the file `Makefile`\n# and all files recursively in the `src` directory\nunion ./Makefile ./src\n# Create a file set containing the file `Makefile`\n# and the LICENSE file from the parent directory\nunion ./Makefile ../LICENSE\n```\n\n# Type\n\n```\nunion :: FileSet -> FileSet -> FileSet\n```\n\n# Arguments\n\n- [fileset1] The first file set. This argument can also be a path, which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n- [fileset2] The second file set. This argument can also be a path, which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":311,"column":3},"path":["lib","fileset","union"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fileset.unions","path":["lib","fileset","unions"],"aliases":[],"signature":"unions :: [ FileSet ] -> FileSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":370,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":374,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":370,"column":3},"path":["lib","fileset","unions"],"pos_type":"Attribute"}},"content":{"content":"\nThe file set containing all files that are in any of the given file sets.\nThis is the same as [`union`](#function-library-lib.fileset.unions),\nbut takes a list of file sets instead of just two.\nSee also [Union (set theory)](https://en.wikipedia.org/wiki/Union_(set_theory)).\nThe given file sets are evaluated as lazily as possible,\nwith earlier elements being evaluated first if needed.\n\n# Example\n\n```nix\n# Create a file set containing selected files\nunions [\n # Include the single file `Makefile` in the current directory\n # This errors if the file doesn't exist\n ./Makefile\n # Recursively include all files in the `src/code` directory\n # If this directory is empty this has no effect\n ./src/code\n # Include the files `run.sh` and `unit.c` from the `tests` directory\n ./tests/run.sh\n ./tests/unit.c\n # Include the `LICENSE` file from the parent directory\n ../LICENSE\n]\n```\n\n# Type\n\n```\nunions :: [ FileSet ] -> FileSet\n```\n\n# Arguments\n\n- [filesets] A list of file sets. The elements can also be paths, which get [implicitly coerced to file sets](#sec-fileset-path-coercion).\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":370,"column":3},"path":["lib","fileset","unions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filesystem.haskellPathsInDir","path":["lib","filesystem","haskellPathsInDir"],"aliases":[],"signature":"Path -> Map String Path\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":126,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":128,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":126,"column":3},"path":["lib","filesystem","haskellPathsInDir"],"pos_type":"Attribute"}},"content":{"content":"\nA map of all haskell packages defined in the given path,\nidentified by having a cabal file with the same name as the\ndirectory itself.\n\n# Type\n\n```\nPath -> Map String Path\n```\n\n# Arguments\n\n- [root] The directory within to search\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":126,"column":3},"path":["lib","filesystem","haskellPathsInDir"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filesystem.listFilesRecursive","path":["lib","filesystem","listFilesRecursive"],"aliases":[],"signature":"Path -> [ Path ]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":196,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":198,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":196,"column":3},"path":["lib","filesystem","listFilesRecursive"],"pos_type":"Attribute"}},"content":{"content":"\nGiven a directory, return a flattened list of all files within it recursively.\n\n# Type\n\n```\nPath -> [ Path ]\n```\n\n# Arguments\n\n- [dir] The path to recursively list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":196,"column":3},"path":["lib","filesystem","listFilesRecursive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filesystem.locateDominatingFile","path":["lib","filesystem","locateDominatingFile"],"aliases":[],"signature":"RegExp -> Path -> Nullable { path : Path; matches : [ MatchResults ]; }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":159,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":161,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":159,"column":3},"path":["lib","filesystem","locateDominatingFile"],"pos_type":"Attribute"}},"content":{"content":"\nFind the first directory containing a file matching 'pattern'\nupward from a given 'file'.\nReturns 'null' if no directories contain a file matching 'pattern'.\n\n# Type\n\n```\nRegExp -> Path -> Nullable { path : Path; matches : [ MatchResults ]; }\n```\n\n# Arguments\n\n- [pattern] The pattern to search for\n- [file] The file to start searching upward from\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":159,"column":3},"path":["lib","filesystem","locateDominatingFile"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filesystem.pathIsDirectory","path":["lib","filesystem","pathIsDirectory"],"aliases":[["lib","pathIsDirectory"],["lib","sources","pathIsDirectory"]],"signature":"pathIsDirectory :: Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"path":["lib","filesystem","pathIsDirectory"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a path exists and is a directory.\n\n# Example\n\n```nix\npathIsDirectory /.\n=> true\npathIsDirectory /this/does/not/exist\n=> false\npathIsDirectory /some/file.nix\n=> false\n```\n\n# Type\n\n```\npathIsDirectory :: Path -> Bool\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"path":["lib","filesystem","pathIsDirectory"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filesystem.pathIsRegularFile","path":["lib","filesystem","pathIsRegularFile"],"aliases":[["lib","pathIsRegularFile"],["lib","sources","pathIsRegularFile"]],"signature":"pathIsRegularFile :: Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"path":["lib","filesystem","pathIsRegularFile"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a path exists and is a regular file, meaning not a symlink or any other special file type.\n\n# Example\n\n```nix\npathIsRegularFile /.\n=> false\npathIsRegularFile /this/does/not/exist\n=> false\npathIsRegularFile /some/file.nix\n=> true\n```\n\n# Type\n\n```\npathIsRegularFile :: Path -> Bool\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"path":["lib","filesystem","pathIsRegularFile"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.filesystem.pathType","path":["lib","filesystem","pathType"],"aliases":[["builtins","readFileType"],["lib","pathType"],["lib","sources","pathType"]],"signature":"pathType :: Path -> String\n","is_primop":true,"primop_meta":{"name":"readFileType","args":["p"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}},"content":{"content":"\nThe type of a path. The path needs to exist and be accessible.\nThe result is either \"directory\" for a directory, \"regular\" for a regular file, \"symlink\" for a symlink, or \"unknown\" for anything else.\n\n# Example\n\n```nix\npathType /.\n=> \"directory\"\npathType /some/file.nix\n=> \"regular\"\n```\n\n# Type\n\n```\npathType :: Path -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.composeExtensions","path":["lib","fixedPoints","composeExtensions"],"aliases":[["lib","composeExtensions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":167,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":168,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":167,"column":3},"path":["lib","fixedPoints","composeExtensions"],"pos_type":"Attribute"}},"content":{"content":"\nCompose two extending functions of the type expected by 'extends'\ninto one where changes made in the first are available in the\n'super' of the second\n\n# Arguments\n\n- [f] \n- [g] \n- [final] \n- [prev] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":167,"column":3},"path":["lib","fixedPoints","composeExtensions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.composeManyExtensions","path":["lib","fixedPoints","composeManyExtensions"],"aliases":[["lib","composeManyExtensions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":182,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":20},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":182,"column":3},"path":["lib","fixedPoints","composeManyExtensions"],"pos_type":"Attribute"}},"content":{"content":"\nCompose several extending functions of the type expected by 'extends' into\none where changes made in preceding functions are made available to\nsubsequent ones.\n```\ncomposeManyExtensions : [packageSet -> packageSet -> packageSet] -> packageSet -> packageSet -> packageSet\n^final ^prev ^overrides ^final ^prev ^overrides\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":182,"column":3},"path":["lib","fixedPoints","composeManyExtensions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.converge","path":["lib","fixedPoints","converge"],"aliases":[["lib","converge"]],"signature":"(a -> a) -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":3},"path":["lib","fixedPoints","converge"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the fixpoint that `f` converges to when called iteratively, starting\nwith the input `x`.\n```\nnix-repl> converge (x: x / 2) 16\n0\n```\n\n# Type\n\n```\n(a -> a) -> a -> a\n```\n\n# Arguments\n\n- [f] \n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":107,"column":3},"path":["lib","fixedPoints","converge"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.extends","path":["lib","fixedPoints","extends"],"aliases":[["lib","extends"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":3},"path":["lib","fixedPoints","extends"],"pos_type":"Attribute"}},"content":{"content":"\nModify the contents of an explicitly recursive attribute set in a way that\nhonors `self`-references. This is accomplished with a function\n```nix\ng = self: super: { foo = super.foo + \" + \"; }\n```\nthat has access to the unmodified input (`super`) as well as the final\nnon-recursive representation of the attribute set (`self`). `extends`\ndiffers from the native `//` operator insofar as that it's applied *before*\nreferences to `self` are resolved:\n```\nnix-repl> fix (extends g f)\n{ bar = \"bar\"; foo = \"foo + \"; foobar = \"foo + bar\"; }\n```\nThe name of the function is inspired by object-oriented inheritance, i.e.\nthink of it as an infix operator `g extends f` that mimics the syntax from\nJava. It may seem counter-intuitive to have the \"base class\" as the second\nargument, but it's nice this way if several uses of `extends` are cascaded.\nTo get a better understanding how `extends` turns a function with a fix\npoint (the package set we start with) into a new function with a different fix\npoint (the desired packages set) lets just see, how `extends g f`\nunfolds with `g` and `f` defined above:\n```\nextends g f = self: let super = f self; in super // g self super;\n= self: let super = { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; }; in super // g self super\n= self: { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; } // g self { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; }\n= self: { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; } // { foo = \"foo\" + \" + \"; }\n= self: { foo = \"foo + \"; bar = \"bar\"; foobar = self.foo + self.bar; }\n```\n\n# Arguments\n\n- [f] \n- [rattrs] \n- [self] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":3},"path":["lib","fixedPoints","extends"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.fix","path":["lib","fixedPoints","fix"],"aliases":[["lib","fix"]],"signature":"fix :: (a -> a) -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":3},"path":["lib","fixedPoints","fix"],"pos_type":"Attribute"}},"content":{"content":"\n`fix f` computes the fixed point of the given function `f`. In other words, the return value is `x` in `x = f x`.\n`f` must be a lazy function.\nThis means that `x` must be a value that can be partially evaluated,\nsuch as an attribute set, a list, or a function.\nThis way, `f` can use one part of `x` to compute another part.\n**Relation to syntactic recursion**\nThis section explains `fix` by refactoring from syntactic recursion to a call of `fix` instead.\nFor context, Nix lets you define attributes in terms of other attributes syntactically using the [`rec { }` syntax](https://nixos.org/manual/nix/stable/language/constructs.html#recursive-sets).\n```nix\nnix-repl> rec {\nfoo = \"foo\";\nbar = \"bar\";\nfoobar = foo + bar;\n}\n{ bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\n```\nThis is convenient when constructing a value to pass to a function for example,\nbut an equivalent effect can be achieved with the `let` binding syntax:\n```nix\nnix-repl> let self = {\nfoo = \"foo\";\nbar = \"bar\";\nfoobar = self.foo + self.bar;\n}; in self\n{ bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\n```\nBut in general you can get more reuse out of `let` bindings by refactoring them to a function.\n```nix\nnix-repl> f = self: {\nfoo = \"foo\";\nbar = \"bar\";\nfoobar = self.foo + self.bar;\n}\n```\nThis is where `fix` comes in, it contains the syntactic recursion that's not in `f` anymore.\n```nix\nnix-repl> fix = f:\nlet self = f self; in self;\n```\nBy applying `fix` we get the final result.\n```nix\nnix-repl> fix f\n{ bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\n```\nSuch a refactored `f` using `fix` is not useful by itself.\nSee [`extends`](#function-library-lib.fixedPoints.extends) for an example use case.\nThere `self` is also often called `final`.\n\n# Example\n\n```nix\nfix (self: { foo = \"foo\"; bar = \"bar\"; foobar = self.foo + self.bar; })\n=> { bar = \"bar\"; foo = \"foo\"; foobar = \"foobar\"; }\nfix (self: [ 1 2 (elemAt self 0 + elemAt self 1) ])\n=> [ 1 2 3 ]\n```\n\n# Type\n\n```\nfix :: (a -> a) -> a\n```\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":72,"column":3},"path":["lib","fixedPoints","fix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.fix' (Prime)","path":["lib","fixedPoints","fix'"],"aliases":[["lib","fix'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":3},"path":["lib","fixedPoints","fix'"],"pos_type":"Attribute"}},"content":{"content":"\nA variant of `fix` that records the original recursive attribute set in the\nresult, in an attribute named `__unfix__`.\nThis is useful in combination with the `extends` function to\nimplement deep overriding.\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":85,"column":3},"path":["lib","fixedPoints","fix'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.makeExtensible","path":["lib","fixedPoints","makeExtensible"],"aliases":[["lib","makeExtensible"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":199,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":48},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":199,"column":3},"path":["lib","fixedPoints","makeExtensible"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an overridable, recursive attribute set. For example:\n```\nnix-repl> obj = makeExtensible (self: { })\nnix-repl> obj\n{ __unfix__ = «lambda»; extend = «lambda»; }\nnix-repl> obj = obj.extend (self: super: { foo = \"foo\"; })\nnix-repl> obj\n{ __unfix__ = «lambda»; extend = «lambda»; foo = \"foo\"; }\nnix-repl> obj = obj.extend (self: super: { foo = super.foo + \" + \"; bar = \"bar\"; foobar = self.foo + self.bar; })\nnix-repl> obj\n{ __unfix__ = «lambda»; bar = \"bar\"; extend = «lambda»; foo = \"foo + \"; foobar = \"foo + bar\"; }\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":199,"column":3},"path":["lib","fixedPoints","makeExtensible"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.fixedPoints.makeExtensibleWithCustomName","path":["lib","fixedPoints","makeExtensibleWithCustomName"],"aliases":[["lib","makeExtensibleWithCustomName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":34},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":3},"path":["lib","fixedPoints","makeExtensibleWithCustomName"],"pos_type":"Attribute"}},"content":{"content":"\nSame as `makeExtensible` but the name of the extending attribute is\ncustomized.\n\n# Arguments\n\n- [extenderName] \n- [rattrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":211,"column":3},"path":["lib","fixedPoints","makeExtensibleWithCustomName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.mkDconfKeyValue","path":["lib","generators","mkDconfKeyValue"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":280,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":86,"column":11},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"lib.generators.mkKeyValueDefault","path":["lib","generators","mkKeyValueDefault"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":84,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":84,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":84,"column":3},"path":["lib","generators","mkKeyValueDefault"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate a line of key k and value v, separated by\n* character sep. If sep appears in k, it is escaped.\n* Helper for synaxes with different separators.\n*\n* mkValueString specifies how values should be formatted.\n*\n* mkKeyValueDefault {} \":\" \"f:oo\" \"bar\"\n* > \"f\\:oo:bar\"\n\n# Arguments\n\n- [sep] \n- [k] \n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":84,"column":3},"path":["lib","generators","mkKeyValueDefault"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.mkLuaInline","path":["lib","generators","mkLuaInline"],"aliases":[],"signature":"mkLuaInline :: String -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":629,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":629,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":629,"column":3},"path":["lib","generators","mkLuaInline"],"pos_type":"Attribute"}},"content":{"content":"\nMark string as Lua expression to be inlined when processed by toLua.\n\n# Type\n\n```\nmkLuaInline :: String -> AttrSet\n```\n\n# Arguments\n\n- [expr] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":629,"column":3},"path":["lib","generators","mkLuaInline"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.mkValueStringDefault","path":["lib","generators","mkValueStringDefault"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":40,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":40,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":40,"column":3},"path":["lib","generators","mkValueStringDefault"],"pos_type":"Attribute"}},"content":{"content":"\nConvert a value to a sensible default string representation.\n* The builtin `toString` function has some strange defaults,\n* suitable for bash scripts but not much else.\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":40,"column":3},"path":["lib","generators","mkValueStringDefault"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toDconfINI","path":["lib","generators","toDconfINI"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":284,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":147,"column":6},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.generators.toDhall","path":["lib","generators","toDhall"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":492,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":492,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":492,"column":3},"path":["lib","generators","toDhall"],"pos_type":"Attribute"}},"content":{"content":"\nTranslate a simple Nix expression to Dhall notation.\n* Note that integers are translated to Integer and never\n* the Natural type.\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":492,"column":3},"path":["lib","generators","toDhall"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toGitINI","path":["lib","generators","toGitINI"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":234,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":234,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":234,"column":3},"path":["lib","generators","toGitINI"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate a git-config file from an attrset.\n*\n* It has two major differences from the regular INI format:\n*\n* 1. values are indented with tabs\n* 2. sections can have sub-sections\n*\n* generators.toGitINI {\n* url.\"ssh://git@github.com/\".insteadOf = \"https://github.com\";\n* user.name = \"edolstra\";\n* }\n*\n*> [url \"ssh://git@github.com/\"]\n*> insteadOf = \"https://github.com\"\n*>\n*> [user]\n*> name = \"edolstra\"\n\n# Arguments\n\n- [attrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":234,"column":3},"path":["lib","generators","toGitINI"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toINI","path":["lib","generators","toINI"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":140,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":140,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":140,"column":3},"path":["lib","generators","toINI"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate an INI-style config file from an\n* attrset of sections to an attrset of key-value pairs.\n*\n* generators.toINI {} {\n* foo = { hi = \"${pkgs.hello}\"; ciao = \"bar\"; };\n* baz = { \"also, integers\" = 42; };\n* }\n*\n*> [baz]\n*> also, integers=42\n*>\n*> [foo]\n*> ciao=bar\n*> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10\n*\n* The mk* configuration attributes can generically change\n* the way sections and key-value strings are generated.\n*\n* For more examples see the test cases in ./tests/misc.nix.\n\n# Arguments\n\n- [attrsOfAttrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":140,"column":3},"path":["lib","generators","toINI"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toINIWithGlobalSection","path":["lib","generators","toINIWithGlobalSection"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":196,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":196,"column":28},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":196,"column":3},"path":["lib","generators","toINIWithGlobalSection"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate an INI-style config file from an attrset\n* specifying the global section (no header), and an\n* attrset of sections to an attrset of key-value pairs.\n*\n* generators.toINIWithGlobalSection {} {\n* globalSection = {\n* someGlobalKey = \"hi\";\n* };\n* sections = {\n* foo = { hi = \"${pkgs.hello}\"; ciao = \"bar\"; };\n* baz = { \"also, integers\" = 42; };\n* }\n*\n*> someGlobalKey=hi\n*>\n*> [baz]\n*> also, integers=42\n*>\n*> [foo]\n*> ciao=bar\n*> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10\n*\n* The mk* configuration attributes can generically change\n* the way sections and key-value strings are generated.\n*\n* For more examples see the test cases in ./tests/misc.nix.\n*\n* If you dont need a global section, you can also use\n* `generators.toINI` directly, which only takes\n* the part in `sections`.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":196,"column":3},"path":["lib","generators","toINIWithGlobalSection"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toJSON","path":["lib","generators","toJSON"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":294,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":294,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":294,"column":3},"path":["lib","generators","toJSON"],"pos_type":"Attribute"}},"content":{"content":"\nGenerates JSON from an arbitrary (non-function) value.\n* For more information see the documentation of the builtin.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":294,"column":3},"path":["lib","generators","toJSON"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toKeyValue","path":["lib","generators","toKeyValue"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":102,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":102,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":102,"column":3},"path":["lib","generators","toKeyValue"],"pos_type":"Attribute"}},"content":{"content":"\nGenerate a key-value-style config file from an attrset.\n*\n* mkKeyValue is the same as in toINI.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":102,"column":3},"path":["lib","generators","toKeyValue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toLua","path":["lib","generators","toLua"],"aliases":[],"signature":"toLua :: AttrSet -> Any -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":556,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":556,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":556,"column":3},"path":["lib","generators","toLua"],"pos_type":"Attribute"}},"content":{"content":"\nTranslate a simple Nix expression to Lua representation with occasional\nLua-inlines that can be constructed by mkLuaInline function.\nConfiguration:\n* multiline - by default is true which results in indented block-like view.\n* indent - initial indent.\n* asBindings - by default generate single value, but with this use attrset to set global vars.\nAttention:\nRegardless of multiline parameter there is no trailing newline.\n\n# Example\n\n```nix\ngenerators.toLua {}\n {\n cmd = [ \"typescript-language-server\" \"--stdio\" ];\n settings.workspace.library = mkLuaInline ''vim.api.nvim_get_runtime_file(\"\", true)'';\n }\n->\n {\n [\"cmd\"] = {\n \"typescript-language-server\",\n \"--stdio\"\n },\n [\"settings\"] = {\n [\"workspace\"] = {\n [\"library\"] = (vim.api.nvim_get_runtime_file(\"\", true))\n }\n }\n }\n```\n\n# Type\n\n```\ntoLua :: AttrSet -> Any -> String\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":556,"column":3},"path":["lib","generators","toLua"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toPlist","path":["lib","generators","toPlist"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":431,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":431,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":431,"column":13},"path":["lib","generators","toPlist"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":431,"column":13},"path":["lib","generators","toPlist"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.generators.toPretty","path":["lib","generators","toPretty"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":355,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":355,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":355,"column":3},"path":["lib","generators","toPretty"],"pos_type":"Attribute"}},"content":{"content":"\nPretty print a value, akin to `builtins.trace`.\n* Should probably be a builtin as well.\n* The pretty-printed string should be suitable for rendering default values\n* in the NixOS manual. In particular, it should be as close to a valid Nix expression\n* as possible.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":355,"column":3},"path":["lib","generators","toPretty"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.toYAML","path":["lib","generators","toYAML"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":303,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":294,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":303,"column":3},"path":["lib","generators","toYAML"],"pos_type":"Attribute"}},"content":{"content":"\nYAML has been a strict superset of JSON since 1.2, so we\n* use toJSON. Before it only had a few differences referring\n* to implicit typing rules, so it should work with older\n* parsers as well.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":303,"column":3},"path":["lib","generators","toYAML"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.generators.withRecursion","path":["lib","generators","withRecursion"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":305,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":306,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":306,"column":5},"path":["lib","generators","withRecursion"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/generators.nix","line":306,"column":5},"path":["lib","generators","withRecursion"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.gvariant.isGVariant","path":["lib","gvariant","isGVariant"],"aliases":[],"signature":"isGVariant :: Any -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":62,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":57,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":57,"column":16},"path":["lib","gvariant","isGVariant"],"pos_type":"Lambda"}},"content":{"content":"\nCheck if a value is a GVariant value\n\n# Type\n\n```\nisGVariant :: Any -> Bool\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":57,"column":16},"path":["lib","gvariant","isGVariant"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.gvariant.mkArray","path":["lib","gvariant","mkArray"],"aliases":[],"signature":"mkArray :: [Any] -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":114,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":114,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":114,"column":3},"path":["lib","gvariant","mkArray"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant array from the given type of the elements and a Nix list.\n\n# Example\n\n```nix\n# Creating a string array\nlib.gvariant.mkArray [ \"a\" \"b\" \"c\" ]\n```\n\n# Type\n\n```\nmkArray :: [Any] -> gvariant\n```\n\n# Arguments\n\n- [elems] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":114,"column":3},"path":["lib","gvariant","mkArray"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkBoolean","path":["lib","gvariant","mkBoolean"],"aliases":[],"signature":"mkBoolean :: Bool -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":316,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":316,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":316,"column":3},"path":["lib","gvariant","mkBoolean"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant boolean from the given Nix bool value.\n\n# Type\n\n```\nmkBoolean :: Bool -> gvariant\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":316,"column":3},"path":["lib","gvariant","mkBoolean"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkDictionaryEntry","path":["lib","gvariant","mkDictionaryEntry"],"aliases":[],"signature":"mkDictionaryEntry :: String -> Any -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":208,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":210,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":208,"column":3},"path":["lib","gvariant","mkDictionaryEntry"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant dictionary entry from the given key and value.\n\n# Example\n\n```nix\n# A dictionary describing an Epiphanys search provider\n[\n (lib.gvariant.mkDictionaryEntry \"url\" (lib.gvariant.mkVariant \"https://duckduckgo.com/?q=%s&t=epiphany\"))\n (lib.gvariant.mkDictionaryEntry \"bang\" (lib.gvariant.mkVariant \"!d\"))\n (lib.gvariant.mkDictionaryEntry \"name\" (lib.gvariant.mkVariant \"DuckDuckGo\"))\n]\n```\n\n# Type\n\n```\nmkDictionaryEntry :: String -> Any -> gvariant\n```\n\n# Arguments\n\n- [name] The key of the entry\n- [value] The value of the entry\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":208,"column":3},"path":["lib","gvariant","mkDictionaryEntry"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkDouble","path":["lib","gvariant","mkDouble"],"aliases":[],"signature":"mkDouble :: Float -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":459,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":459,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":459,"column":3},"path":["lib","gvariant","mkDouble"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant double from the given Nix float value.\n\n# Type\n\n```\nmkDouble :: Float -> gvariant\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":459,"column":3},"path":["lib","gvariant","mkDouble"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkEmptyArray","path":["lib","gvariant","mkEmptyArray"],"aliases":[],"signature":"mkEmptyArray :: gvariant.type -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":147,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":147,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":147,"column":3},"path":["lib","gvariant","mkEmptyArray"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant array from the given empty Nix list.\n\n# Example\n\n```nix\n# Creating an empty string array\nlib.gvariant.mkEmptyArray (lib.gvariant.type.string)\n```\n\n# Type\n\n```\nmkEmptyArray :: gvariant.type -> gvariant\n```\n\n# Arguments\n\n- [elemType] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":147,"column":3},"path":["lib","gvariant","mkEmptyArray"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkInt16","path":["lib","gvariant","mkInt16"],"aliases":[],"signature":"mkInt16 :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":380,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":18,"column":20},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":380,"column":3},"path":["lib","gvariant","mkInt16"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant int16 from the given Nix int value.\n\n# Type\n\n```\nmkInt16 :: Int -> gvariant\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":380,"column":3},"path":["lib","gvariant","mkInt16"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkInt32","path":["lib","gvariant","mkInt32"],"aliases":[],"signature":"mkInt32 :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":407,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":407,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":407,"column":3},"path":["lib","gvariant","mkInt32"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant int32 from the given Nix int value.\n\n# Type\n\n```\nmkInt32 :: Int -> gvariant\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":407,"column":3},"path":["lib","gvariant","mkInt32"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkInt64","path":["lib","gvariant","mkInt64"],"aliases":[],"signature":"mkInt64 :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":432,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":18,"column":20},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":432,"column":3},"path":["lib","gvariant","mkInt64"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant int64 from the given Nix int value.\n\n# Type\n\n```\nmkInt64 :: Int -> gvariant\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":432,"column":3},"path":["lib","gvariant","mkInt64"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkJust","path":["lib","gvariant","mkJust"],"aliases":[],"signature":"mkJust :: Any -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":276,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":276,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":276,"column":3},"path":["lib","gvariant","mkJust"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant just from the given Nix value.\n\n# Type\n\n```\nmkJust :: Any -> gvariant\n```\n\n# Arguments\n\n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":276,"column":3},"path":["lib","gvariant","mkJust"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkMaybe","path":["lib","gvariant","mkMaybe"],"aliases":[],"signature":"mkMaybe :: gvariant.type -> Any -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":237,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":237,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":237,"column":3},"path":["lib","gvariant","mkMaybe"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant maybe from the given element type.\n\n# Type\n\n```\nmkMaybe :: gvariant.type -> Any -> gvariant\n```\n\n# Arguments\n\n- [elemType] \n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":237,"column":3},"path":["lib","gvariant","mkMaybe"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkNothing","path":["lib","gvariant","mkNothing"],"aliases":[],"signature":"mkNothing :: gvariant.type -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":260,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":260,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":260,"column":3},"path":["lib","gvariant","mkNothing"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant nothing from the given element type.\n\n# Type\n\n```\nmkNothing :: gvariant.type -> gvariant\n```\n\n# Arguments\n\n- [elemType] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":260,"column":3},"path":["lib","gvariant","mkNothing"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkObjectpath","path":["lib","gvariant","mkObjectpath"],"aliases":[],"signature":"mkObjectpath :: String -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":355,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":355,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":355,"column":3},"path":["lib","gvariant","mkObjectpath"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant object path from the given Nix string value.\n\n# Type\n\n```\nmkObjectpath :: String -> gvariant\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":355,"column":3},"path":["lib","gvariant","mkObjectpath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkString","path":["lib","gvariant","mkString"],"aliases":[],"signature":"mkString :: String -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":335,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":335,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":335,"column":3},"path":["lib","gvariant","mkString"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant string from the given Nix string value.\n\n# Type\n\n```\nmkString :: String -> gvariant\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":335,"column":3},"path":["lib","gvariant","mkString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkTuple","path":["lib","gvariant","mkTuple"],"aliases":[],"signature":"mkTuple :: [Any] -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":292,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":292,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":292,"column":3},"path":["lib","gvariant","mkTuple"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant tuple from the given Nix list.\n\n# Type\n\n```\nmkTuple :: [Any] -> gvariant\n```\n\n# Arguments\n\n- [elems] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":292,"column":3},"path":["lib","gvariant","mkTuple"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkUchar","path":["lib","gvariant","mkUchar"],"aliases":[],"signature":"mkUchar :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":369,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":18,"column":20},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":369,"column":3},"path":["lib","gvariant","mkUchar"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant uchar from the given Nix int value.\n\n# Type\n\n```\nmkUchar :: Int -> gvariant\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":369,"column":3},"path":["lib","gvariant","mkUchar"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkUint16","path":["lib","gvariant","mkUint16"],"aliases":[],"signature":"mkUint16 :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":391,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":18,"column":20},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":391,"column":3},"path":["lib","gvariant","mkUint16"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant uint16 from the given Nix int value.\n\n# Type\n\n```\nmkUint16 :: Int -> gvariant\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":391,"column":3},"path":["lib","gvariant","mkUint16"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkUint32","path":["lib","gvariant","mkUint32"],"aliases":[],"signature":"mkUint32 :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":421,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":18,"column":20},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":421,"column":3},"path":["lib","gvariant","mkUint32"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant uint32 from the given Nix int value.\n\n# Type\n\n```\nmkUint32 :: Int -> gvariant\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":421,"column":3},"path":["lib","gvariant","mkUint32"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkUint64","path":["lib","gvariant","mkUint64"],"aliases":[],"signature":"mkUint64 :: Int -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":443,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":18,"column":20},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":443,"column":3},"path":["lib","gvariant","mkUint64"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant uint64 from the given Nix int value.\n\n# Type\n\n```\nmkUint64 :: Int -> gvariant\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":443,"column":3},"path":["lib","gvariant","mkUint64"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkValue","path":["lib","gvariant","mkValue"],"aliases":[],"signature":"mkValue :: Any -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":79,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":79,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":79,"column":3},"path":["lib","gvariant","mkValue"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant value that most closely matches the given Nix value.\nIf no GVariant value can be found unambiguously then error is thrown.\n\n# Type\n\n```\nmkValue :: Any -> gvariant\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":79,"column":3},"path":["lib","gvariant","mkValue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.mkVariant","path":["lib","gvariant","mkVariant"],"aliases":[],"signature":"mkVariant :: Any -> gvariant\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":176,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":176,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":176,"column":3},"path":["lib","gvariant","mkVariant"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the GVariant variant from the given Nix value. Variants are containers\nof different GVariant type.\n\n# Example\n\n```nix\nlib.gvariant.mkArray [\n (lib.gvariant.mkVariant \"a string\")\n (lib.gvariant.mkVariant (lib.gvariant.mkInt32 1))\n]\n```\n\n# Type\n\n```\nmkVariant :: Any -> gvariant\n```\n\n# Arguments\n\n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":176,"column":3},"path":["lib","gvariant","mkVariant"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.kernel.freeform","path":["lib","kernel","freeform"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":15,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":15,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":15,"column":14},"path":["lib","kernel","freeform"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":15,"column":14},"path":["lib","kernel","freeform"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.kernel.option","path":["lib","kernel","option"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":8,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":8,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":8,"column":12},"path":["lib","kernel","option"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":8,"column":12},"path":["lib","kernel","option"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.kernel.whenHelpers","path":["lib","kernel","whenHelpers"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":25,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":25,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":25,"column":3},"path":["lib","kernel","whenHelpers"],"pos_type":"Attribute"}},"content":{"content":"\nCommon patterns/legacy used in common-config/hardened/config.nix\n\n# Arguments\n\n- [version] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/kernel.nix","line":25,"column":3},"path":["lib","kernel","whenHelpers"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.all","path":["lib","lists","all"],"aliases":[["builtins","all"],["lib","all"]],"signature":"all :: (a -> bool) -> [a] -> bool\n","is_primop":true,"primop_meta":{"name":"all","args":["pred","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"path":["lib","lists","all"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if function `pred` returns true for all elements of\n`list`.\n\n# Example\n\n```nix\nall (x: x < 3) [ 1 2 ]\n=> true\nall (x: x < 3) [ 1 2 3 ]\n=> false\n```\n\n# Type\n\n```\nall :: (a -> bool) -> [a] -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":521,"column":3},"path":["lib","lists","all"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.allUnique","path":["lib","lists","allUnique"],"aliases":[["lib","allUnique"]],"signature":"allUnique :: [a] -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":3},"path":["lib","lists","allUnique"],"pos_type":"Attribute"}},"content":{"content":"\nCheck if list contains only unique elements. O(n^2) complexity.\n\n# Example\n\n```nix\nallUnique [ 3 2 3 4 ]\n=> false\nallUnique [ 3 2 4 1 ]\n=> true\n```\n\n# Type\n\n```\nallUnique :: [a] -> bool\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1323,"column":3},"path":["lib","lists","allUnique"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.any","path":["lib","lists","any"],"aliases":[["builtins","any"],["lib","any"]],"signature":"any :: (a -> bool) -> [a] -> bool\n","is_primop":true,"primop_meta":{"name":"any","args":["pred","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"path":["lib","lists","any"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if function `pred` returns true for at least one\nelement of `list`.\n\n# Example\n\n```nix\nany isString [ 1 \"a\" { } ]\n=> true\nany isString [ 1 { } ]\n=> false\n```\n\n# Type\n\n```\nany :: (a -> bool) -> [a] -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":500,"column":3},"path":["lib","lists","any"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.commonPrefix","path":["lib","lists","commonPrefix"],"aliases":[],"signature":"commonPrefix :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1200,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1201,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1200,"column":3},"path":["lib","lists","commonPrefix"],"pos_type":"Attribute"}},"content":{"content":"\nThe common prefix of two lists.\n\n# Example\n\n```nix\ncommonPrefix [ 1 2 3 4 5 6 ] [ 1 2 4 8 ]\n=> [ 1 2 ]\ncommonPrefix [ 1 2 3 ] [ 1 2 3 4 5 ]\n=> [ 1 2 3 ]\ncommonPrefix [ 1 2 3 ] [ 4 5 6 ]\n=> [ ]\n```\n\n# Type\n\n```\ncommonPrefix :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [list1] \n- [list2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1200,"column":3},"path":["lib","lists","commonPrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.compareLists","path":["lib","lists","compareLists"],"aliases":[["lib","compareLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":3},"path":["lib","lists","compareLists"],"pos_type":"Attribute"}},"content":{"content":"\nCompare two lists element-by-element.\n\n# Example\n\n```nix\ncompareLists compare [] []\n=> 0\ncompareLists compare [] [ \"a\" ]\n=> -1\ncompareLists compare [ \"a\" ] []\n=> 1\ncompareLists compare [ \"a\" \"b\" ] [ \"a\" \"c\" ]\n=> -1\n```\n\n# Arguments\n\n- [cmp] \n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":975,"column":3},"path":["lib","lists","compareLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.concatLists","path":["lib","lists","concatLists"],"aliases":[["builtins","concatLists"],["lib","concatLists"]],"signature":null,"is_primop":true,"primop_meta":{"name":"concatLists","args":["lists"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","concatLists"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate a list of lists into a single list.\n","source":{"position":null,"path":["lib","lists","concatLists"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.concatMap","path":["lib","lists","concatMap"],"aliases":[["builtins","concatMap"],["lib","concatMap"]],"signature":"concatMap :: (a -> [b]) -> [a] -> [b]\n","is_primop":true,"primop_meta":{"name":"concatMap","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"path":["lib","lists","concatMap"],"pos_type":"Attribute"}},"content":{"content":"\nMap and concatenate the result.\n\n# Example\n\n```nix\nconcatMap (x: [x] ++ [\"z\"]) [\"a\" \"b\"]\n=> [ \"a\" \"z\" \"b\" \"z\" ]\n```\n\n# Type\n\n```\nconcatMap :: (a -> [b]) -> [a] -> [b]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":280,"column":3},"path":["lib","lists","concatMap"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.count","path":["lib","lists","count"],"aliases":[["lib","count"]],"signature":"count :: (a -> bool) -> [a] -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":545,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":547,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":545,"column":3},"path":["lib","lists","count"],"pos_type":"Attribute"}},"content":{"content":"\nCount how many elements of `list` match the supplied predicate\nfunction.\n\n# Example\n\n```nix\ncount (x: x == 3) [ 3 2 3 4 6 ]\n=> 2\n```\n\n# Type\n\n```\ncount :: (a -> bool) -> [a] -> int\n```\n\n# Arguments\n\n- [pred] Predicate\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":545,"column":3},"path":["lib","lists","count"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.crossLists","path":["lib","lists","crossLists"],"aliases":[["lib","crossLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1277,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1279,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1277,"column":3},"path":["lib","lists","crossLists"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the image of the cross product of some lists by a function.\n\n# Example\n\n```nix\ncrossLists (x:y: \"${toString x}${toString y}\") [[1 2] [3 4]]\n=> [ \"13\" \"14\" \"23\" \"24\" ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1277,"column":3},"path":["lib","lists","crossLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.drop","path":["lib","lists","drop"],"aliases":[["lib","drop"]],"signature":"drop :: int -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1066,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1068,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1066,"column":3},"path":["lib","lists","drop"],"pos_type":"Attribute"}},"content":{"content":"\nRemove the first (at most) N elements of a list.\n\n# Example\n\n```nix\ndrop 2 [ \"a\" \"b\" \"c\" \"d\" ]\n=> [ \"c\" \"d\" ]\ndrop 2 [ ]\n=> [ ]\n```\n\n# Type\n\n```\ndrop :: int -> [a] -> [a]\n```\n\n# Arguments\n\n- [count] Number of elements to drop\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1066,"column":3},"path":["lib","lists","drop"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.elem","path":["lib","lists","elem"],"aliases":[["builtins","elem"],["lib","elem"],["lib","strings","elem"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elem","args":["x","xs"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","elem"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if a value equal to *x* occurs in the list *xs*, and\n`false` otherwise.\n","source":{"position":null,"path":["lib","lists","elem"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.elemAt","path":["lib","lists","elemAt"],"aliases":[["builtins","elemAt"],["lib","elemAt"],["lib","strings","elemAt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elemAt","args":["xs","n"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","elemAt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn element *n* from the list *xs*. Elements are counted starting\nfrom 0. A fatal error occurs if the index is out of bounds.\n","source":{"position":null,"path":["lib","lists","elemAt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.filter","path":["lib","lists","filter"],"aliases":[["builtins","filter"],["lib","filter"],["lib","strings","filter"]],"signature":null,"is_primop":true,"primop_meta":{"name":"filter","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","filter"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a list consisting of the elements of *list* for which the\nfunction *f* returns `true`.\n","source":{"position":null,"path":["lib","lists","filter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.findFirst","path":["lib","lists","findFirst"],"aliases":[["lib","findFirst"]],"signature":"findFirst :: (a -> bool) -> a -> [a] -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":466,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":468,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":466,"column":3},"path":["lib","lists","findFirst"],"pos_type":"Attribute"}},"content":{"content":"\nFind the first element in the list matching the specified\npredicate or return `default` if no such element exists.\n\n# Example\n\n```nix\nfindFirst (x: x > 3) 7 [ 1 6 4 ]\n=> 6\nfindFirst (x: x > 9) 7 [ 1 6 4 ]\n=> 7\n```\n\n# Type\n\n```\nfindFirst :: (a -> bool) -> a -> [a] -> a\n```\n\n# Arguments\n\n- [pred] Predicate\n- [default] Default value to return\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":466,"column":3},"path":["lib","lists","findFirst"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.findFirstIndex","path":["lib","lists","findFirstIndex"],"aliases":[],"signature":"findFirstIndex :: (a -> Bool) -> b -> [a] -> (Int | b)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":400,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":402,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":400,"column":3},"path":["lib","lists","findFirstIndex"],"pos_type":"Attribute"}},"content":{"content":"\nFind the first index in the list matching the specified\npredicate or return `default` if no such element exists.\n\n# Example\n\n```nix\nfindFirstIndex (x: x > 3) null [ 0 6 4 ]\n=> 1\nfindFirstIndex (x: x > 9) null [ 0 6 4 ]\n=> null\n```\n\n# Type\n\n```\nfindFirstIndex :: (a -> Bool) -> b -> [a] -> (Int | b)\n```\n\n# Arguments\n\n- [pred] Predicate\n- [default] Default value to return\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":400,"column":3},"path":["lib","lists","findFirstIndex"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.findSingle","path":["lib","lists","findSingle"],"aliases":[["lib","findSingle"]],"signature":"findSingle :: (a -> bool) -> a -> a -> [a] -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":360,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":362,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":360,"column":3},"path":["lib","lists","findSingle"],"pos_type":"Attribute"}},"content":{"content":"\nFind the sole element in the list matching the specified\npredicate, returns `default` if no such element exists, or\n`multiple` if there are multiple matching elements.\n\n# Example\n\n```nix\nfindSingle (x: x == 3) \"none\" \"multiple\" [ 1 3 3 ]\n=> \"multiple\"\nfindSingle (x: x == 3) \"none\" \"multiple\" [ 1 3 ]\n=> 3\nfindSingle (x: x == 3) \"none\" \"multiple\" [ 1 9 ]\n=> \"none\"\n```\n\n# Type\n\n```\nfindSingle :: (a -> bool) -> a -> a -> [a] -> a\n```\n\n# Arguments\n\n- [pred] Predicate\n- [default] Default value to return if element was not found.\n- [multiple] Default value to return if more than one element was found\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":360,"column":3},"path":["lib","lists","findSingle"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.flatten","path":["lib","lists","flatten"],"aliases":[["lib","flatten"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":3},"path":["lib","lists","flatten"],"pos_type":"Attribute"}},"content":{"content":"\nFlatten the argument into a single list; that is, nested lists are\nspliced into the top-level lists.\n\n# Example\n\n```nix\nflatten [1 [2 [3] 4] 5]\n=> [1 2 3 4 5]\nflatten 1\n=> [1]\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":300,"column":3},"path":["lib","lists","flatten"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.fold","path":["lib","lists","fold"],"aliases":[["lib","fold"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":108,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":108,"column":3},"path":["lib","lists","fold"],"pos_type":"Attribute"}},"content":{"content":"\n`fold` is an alias of `foldr` for historic reasons\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":108,"column":3},"path":["lib","lists","fold"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.foldl","path":["lib","lists","foldl"],"aliases":[["lib","foldl"]],"signature":"foldl :: (b -> a -> b) -> b -> [a] -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":3},"path":["lib","lists","foldl"],"pos_type":"Attribute"}},"content":{"content":"\n“left fold”, like `foldr`, but from the left:\n`foldl op nul [x_1 x_2 ... x_n] == op (... (op (op nul x_1) x_2) ... x_n)`.\n\n# Example\n\n```nix\nlconcat = foldl (a: b: a + b) \"z\"\nlconcat [ \"a\" \"b\" \"c\" ]\n=> \"zabc\"\n# different types\nlstrange = foldl (str: int: str + toString (int + 1)) \"a\"\nlstrange [ 1 2 3 4 ]\n=> \"a2345\"\n```\n\n# Type\n\n```\nfoldl :: (b -> a -> b) -> b -> [a] -> b\n```\n\n# Arguments\n\n- [op] \n- [nul] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":3},"path":["lib","lists","foldl"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.foldl' (Prime)","path":["lib","lists","foldl'"],"aliases":[["lib","foldl'"]],"signature":"foldl' :: (acc -> x -> acc) -> acc -> [x] -> acc\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":198,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":204,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":198,"column":3},"path":["lib","lists","foldl'"],"pos_type":"Attribute"}},"content":{"content":"\nReduce a list by applying a binary operator from left to right,\nstarting with an initial accumulator.\nBefore each application of the operator, the accumulator value is evaluated.\nThis behavior makes this function stricter than [`foldl`](#function-library-lib.lists.foldl).\nUnlike [`builtins.foldl'`](https://nixos.org/manual/nix/unstable/language/builtins.html#builtins-foldl'),\nthe initial accumulator argument is evaluated before the first iteration.\nA call like\n```nix\nfoldl' op acc₀ [ x₀ x₁ x₂ ... xₙ₋₁ xₙ ]\n```\nis (denotationally) equivalent to the following,\nbut with the added benefit that `foldl'` itself will never overflow the stack.\n```nix\nlet\nacc₁ = builtins.seq acc₀ (op acc₀ x₀ );\nacc₂ = builtins.seq acc₁ (op acc₁ x₁ );\nacc₃ = builtins.seq acc₂ (op acc₂ x₂ );\n...\naccₙ = builtins.seq accₙ₋₁ (op accₙ₋₁ xₙ₋₁);\naccₙ₊₁ = builtins.seq accₙ (op accₙ xₙ );\nin\naccₙ₊₁\n# Or ignoring builtins.seq\nop (op (... (op (op (op acc₀ x₀) x₁) x₂) ...) xₙ₋₁) xₙ\n```\n\n# Example\n\n```nix\nfoldl' (acc: x: acc + x) 0 [1 2 3]\n=> 6\n```\n\n# Type\n\n```\nfoldl' :: (acc -> x -> acc) -> acc -> [x] -> acc\n```\n\n# Arguments\n\n- [op] The binary operation to run, where the two arguments are: \n 1. `acc`: The current accumulator value: Either the initial one for the first iteration, or the result of the previous iteration\n 2. `x`: The corresponding list element for this iteration\n\n- [acc] The initial accumulator value\n- [list] The list to fold\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":198,"column":3},"path":["lib","lists","foldl'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.foldr","path":["lib","lists","foldr"],"aliases":[["lib","foldr"]],"signature":"foldr :: (a -> b -> b) -> b -> [a] -> b\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":3},"path":["lib","lists","foldr"],"pos_type":"Attribute"}},"content":{"content":"\n“right fold” a binary function `op` between successive elements of\n`list` with `nul` as the starting value, i.e.,\n`foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))`.\n\n# Example\n\n```nix\nconcat = foldr (a: b: a + b) \"z\"\nconcat [ \"a\" \"b\" \"c\" ]\n=> \"abcz\"\n# different types\nstrange = foldr (int: str: toString (int + 1) + str) \"a\"\nstrange [ 1 2 3 4 ]\n=> \"2345a\"\n```\n\n# Type\n\n```\nfoldr :: (a -> b -> b) -> b -> [a] -> b\n```\n\n# Arguments\n\n- [op] \n- [nul] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":95,"column":3},"path":["lib","lists","foldr"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.forEach","path":["lib","lists","forEach"],"aliases":[["lib","forEach"]],"signature":"forEach :: [a] -> (a -> b) -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":3},"path":["lib","lists","forEach"],"pos_type":"Attribute"}},"content":{"content":"\nApply the function to each element in the list. Same as `map`, but arguments\nflipped.\n\n# Example\n\n```nix\nforEach [ 1 2 ] (x:\n toString x\n)\n=> [ \"1\" \"2\" ]\n```\n\n# Type\n\n```\nforEach :: [a] -> (a -> b) -> [b]\n```\n\n# Arguments\n\n- [xs] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":63,"column":3},"path":["lib","lists","forEach"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.genList","path":["lib","lists","genList"],"aliases":[["builtins","genList"],["lib","genList"],["lib","strings","genList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genList","args":["generator","length"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","genList"],"pos_type":"Lambda"}},"content":{"content":"\nGenerate list of size *length*, with each element *i* equal to the\nvalue returned by *generator* `i`. For example,\n\n```nix\nbuiltins.genList (x: x * x) 5\n```\n\nreturns the list `[ 0 1 4 9 16 ]`.\n","source":{"position":null,"path":["lib","lists","genList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.groupBy","path":["lib","lists","groupBy"],"aliases":[["builtins","groupBy"],["lib","groupBy"]],"signature":null,"is_primop":true,"primop_meta":{"name":"groupBy","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":747,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","groupBy"],"pos_type":"Lambda"}},"content":{"content":"\nGroups elements of *list* together by the string returned from the\nfunction *f* called on each element. It returns an attribute set\nwhere each attribute value contains the elements of *list* that are\nmapped to the same corresponding attribute name returned by *f*.\n\nFor example,\n\n```nix\nbuiltins.groupBy (builtins.substring 0 1) [\"foo\" \"bar\" \"baz\"]\n```\n\nevaluates to\n\n```nix\n{ b = [ \"bar\" \"baz\" ]; f = [ \"foo\" ]; }\n```\n","source":{"position":null,"path":["lib","lists","groupBy"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.groupBy' (Prime)","path":["lib","lists","groupBy'"],"aliases":[["lib","groupBy'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":3},"path":["lib","lists","groupBy'"],"pos_type":"Attribute"}},"content":{"content":"\nSplits the elements of a list into many lists, using the return value of a predicate.\nPredicate should return a string which becomes keys of attrset `groupBy` returns.\n`groupBy'` allows to customise the combining function and initial value\n\n# Example\n\n```nix\ngroupBy (x: boolToString (x > 2)) [ 5 1 2 3 4 ]\n=> { true = [ 5 3 4 ]; false = [ 1 2 ]; }\ngroupBy (x: x.name) [ {name = \"icewm\"; script = \"icewm &\";}\n {name = \"xfce\"; script = \"xfce4-session &\";}\n {name = \"icewm\"; script = \"icewmbg &\";}\n {name = \"mate\"; script = \"gnome-session &\";}\n ]\n=> { icewm = [ { name = \"icewm\"; script = \"icewm &\"; }\n { name = \"icewm\"; script = \"icewmbg &\"; } ];\n mate = [ { name = \"mate\"; script = \"gnome-session &\"; } ];\n xfce = [ { name = \"xfce\"; script = \"xfce4-session &\"; } ];\n }\ngroupBy' builtins.add 0 (x: boolToString (x > 2)) [ 5 1 2 3 4 ]\n=> { true = 12; false = 3; }\n```\n\n# Arguments\n\n- [op] \n- [nul] \n- [pred] \n- [lst] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":745,"column":3},"path":["lib","lists","groupBy'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.hasPrefix","path":["lib","lists","hasPrefix"],"aliases":[["lib","hasPrefix"],["lib","path","hasPrefix"],["lib","strings","hasPrefix"]],"signature":"hasPrefix :: [a] -> [a] -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1096,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1097,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1096,"column":3},"path":["lib","lists","hasPrefix"],"pos_type":"Attribute"}},"content":{"content":"\nWhether the first list is a prefix of the second list.\n\n# Example\n\n```nix\nhasPrefix [ 1 2 ] [ 1 2 3 4 ]\n=> true\nhasPrefix [ 0 1 ] [ 1 2 3 4 ]\n=> false\n```\n\n# Type\n\n```\nhasPrefix :: [a] -> [a] -> bool\n```\n\n# Arguments\n\n- [list1] \n- [list2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1096,"column":3},"path":["lib","lists","hasPrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.head","path":["lib","lists","head"],"aliases":[["builtins","head"],["lib","head"],["lib","strings","head"]],"signature":null,"is_primop":true,"primop_meta":{"name":"head","args":["list"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","head"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the first element of a list; abort evaluation if the argument\nisnt a list or is an empty list. You can test whether a list is\nempty by comparing it with `[]`.\n","source":{"position":null,"path":["lib","lists","head"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.imap0","path":["lib","lists","imap0"],"aliases":[["lib","imap0"]],"signature":"imap0 :: (int -> a -> b) -> [a] -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":3},"path":["lib","lists","imap0"],"pos_type":"Attribute"}},"content":{"content":"\nMap with index starting from 0\n\n# Example\n\n```nix\nimap0 (i: v: \"${v}-${toString i}\") [\"a\" \"b\"]\n=> [ \"a-0\" \"b-1\" ]\n```\n\n# Type\n\n```\nimap0 :: (int -> a -> b) -> [a] -> [b]\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":238,"column":3},"path":["lib","lists","imap0"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.imap1","path":["lib","lists","imap1"],"aliases":[["lib","imap1"]],"signature":"imap1 :: (int -> a -> b) -> [a] -> [b]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":3},"path":["lib","lists","imap1"],"pos_type":"Attribute"}},"content":{"content":"\nMap with index starting from 1\n\n# Example\n\n```nix\nimap1 (i: v: \"${v}-${toString i}\") [\"a\" \"b\"]\n=> [ \"a-1\" \"b-2\" ]\n```\n\n# Type\n\n```\nimap1 :: (int -> a -> b) -> [a] -> [b]\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":3},"path":["lib","lists","imap1"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.init","path":["lib","lists","init"],"aliases":[["lib","init"]],"signature":"init :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":3},"path":["lib","lists","init"],"pos_type":"Attribute"}},"content":{"content":"\nReturn all elements but the last.\nThis function throws an error if the list is empty.\n\n# Example\n\n```nix\ninit [ 1 2 3 ]\n=> [ 1 2 ]\n```\n\n# Type\n\n```\ninit :: [a] -> [a]\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1262,"column":3},"path":["lib","lists","init"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.intersectLists","path":["lib","lists","intersectLists"],"aliases":[["lib","intersectLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":3},"path":["lib","lists","intersectLists"],"pos_type":"Attribute"}},"content":{"content":"\nIntersects list 'e' and another list. O(nm) complexity.\n\n# Example\n\n```nix\nintersectLists [ 1 2 3 ] [ 6 3 2 ]\n=> [ 3 2 ]\n```\n\n# Arguments\n\n- [e] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1341,"column":3},"path":["lib","lists","intersectLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.isList","path":["lib","lists","isList"],"aliases":[["builtins","isList"],["lib","isList"],["lib","strings","isList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isList","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","isList"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a list, and `false` otherwise.\n","source":{"position":null,"path":["lib","lists","isList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.last","path":["lib","lists","last"],"aliases":[["lib","last"]],"signature":"last :: [a] -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":3},"path":["lib","lists","last"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the last element of a list.\nThis function throws an error if the list is empty.\n\n# Example\n\n```nix\nlast [ 1 2 3 ]\n=> 3\n```\n\n# Type\n\n```\nlast :: [a] -> a\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1236,"column":3},"path":["lib","lists","last"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.length","path":["lib","lists","length"],"aliases":[["builtins","length"],["lib","length"]],"signature":null,"is_primop":true,"primop_meta":{"name":"length","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","length"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the length of the list *e*.\n","source":{"position":null,"path":["lib","lists","length"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.listDfs","path":["lib","lists","listDfs"],"aliases":[["lib","listDfs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":3},"path":["lib","lists","listDfs"],"pos_type":"Attribute"}},"content":{"content":"\nDepth-First Search (DFS) for lists `list != []`.\n`before a b == true` means that `b` depends on `a` (there's an\nedge from `b` to `a`).\n\n# Example\n\n```nix\nlistDfs true hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" ]\n == { minimal = \"/\"; # minimal element\n visited = [ \"/home/user\" ]; # seen elements (in reverse order)\n rest = [ \"/home\" \"other\" ]; # everything else\n }\nlistDfs true hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" \"/\" ]\n == { cycle = \"/\"; # cycle encountered at this element\n loops = [ \"/\" ]; # and continues to these elements\n visited = [ \"/\" \"/home/user\" ]; # elements leading to the cycle (in reverse order)\n rest = [ \"/home\" \"other\" ]; # everything else\n```\n\n# Arguments\n\n- [stopOnCycles] \n- [before] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":860,"column":3},"path":["lib","lists","listDfs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.map","path":["lib","lists","map"],"aliases":[["builtins","map"]],"signature":null,"is_primop":true,"primop_meta":{"name":"map","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","map"],"pos_type":"Lambda"}},"content":{"content":"\nApply the function *f* to each element in the list *list*. For\nexample,\n\n```nix\nmap (x: \"foo\" + x) [ \"bar\" \"bla\" \"abc\" ]\n```\n\nevaluates to `[ \"foobar\" \"foobla\" \"fooabc\" ]`.\n","source":{"position":null,"path":["lib","lists","map"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.mutuallyExclusive","path":["lib","lists","mutuallyExclusive"],"aliases":[["lib","mutuallyExclusive"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":3},"path":["lib","lists","mutuallyExclusive"],"pos_type":"Attribute"}},"content":{"content":"\nTest if two lists have no common element.\nIt should be slightly more efficient than (intersectLists a b == [])\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1370,"column":3},"path":["lib","lists","mutuallyExclusive"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.naturalSort","path":["lib","lists","naturalSort"],"aliases":[["lib","naturalSort"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":3},"path":["lib","lists","naturalSort"],"pos_type":"Attribute"}},"content":{"content":"\nSort list using \"Natural sorting\".\nNumeric portions of strings are sorted in numeric order.\n\n# Example\n\n```nix\nnaturalSort [\"disk11\" \"disk8\" \"disk100\" \"disk9\"]\n=> [\"disk8\" \"disk9\" \"disk11\" \"disk100\"]\nnaturalSort [\"10.46.133.149\" \"10.5.16.62\" \"10.54.16.25\"]\n=> [\"10.5.16.62\" \"10.46.133.149\" \"10.54.16.25\"]\nnaturalSort [\"v0.2\" \"v0.15\" \"v0.0.9\"]\n=> [ \"v0.0.9\" \"v0.2\" \"v0.15\" ]\n```\n\n# Arguments\n\n- [lst] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1007,"column":3},"path":["lib","lists","naturalSort"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.optional","path":["lib","lists","optional"],"aliases":[["lib","optional"]],"signature":"optional :: bool -> a -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":3},"path":["lib","lists","optional"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a singleton list or an empty list, depending on a boolean\nvalue. Useful when building lists with optional elements\n(e.g. `++ optional (system == \"i686-linux\") firefox`).\n\n# Example\n\n```nix\noptional true \"foo\"\n=> [ \"foo\" ]\noptional false \"foo\"\n=> [ ]\n```\n\n# Type\n\n```\noptional :: bool -> a -> [a]\n```\n\n# Arguments\n\n- [cond] \n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":575,"column":3},"path":["lib","lists","optional"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.optionals","path":["lib","lists","optionals"],"aliases":[["lib","optionals"]],"signature":"optionals :: bool -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":601,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":603,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":601,"column":3},"path":["lib","lists","optionals"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list or an empty list, depending on a boolean value.\n\n# Example\n\n```nix\noptionals true [ 2 3 ]\n=> [ 2 3 ]\noptionals false [ 2 3 ]\n=> [ ]\n```\n\n# Type\n\n```\noptionals :: bool -> [a] -> [a]\n```\n\n# Arguments\n\n- [cond] Condition\n- [elems] List to return if condition is true\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":601,"column":3},"path":["lib","lists","optionals"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.partition","path":["lib","lists","partition"],"aliases":[["builtins","partition"],["lib","partition"]],"signature":"(a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }\n","is_primop":true,"primop_meta":{"name":"partition","args":["pred","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"path":["lib","lists","partition"],"pos_type":"Attribute"}},"content":{"content":"\nSplits the elements of a list in two lists, `right` and\n`wrong`, depending on the evaluation of a predicate.\n\n# Example\n\n```nix\npartition (x: x > 2) [ 5 1 2 3 4 ]\n=> { right = [ 5 3 4 ]; wrong = [ 1 2 ]; }\n```\n\n# Type\n\n```\n(a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":706,"column":3},"path":["lib","lists","partition"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.range","path":["lib","lists","range"],"aliases":[["lib","range"]],"signature":"range :: int -> int -> [int]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":653,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":655,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":653,"column":3},"path":["lib","lists","range"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list of integers from `first` up to and including `last`.\n\n# Example\n\n```nix\nrange 2 4\n=> [ 2 3 4 ]\nrange 3 2\n=> [ ]\n```\n\n# Type\n\n```\nrange :: int -> int -> [int]\n```\n\n# Arguments\n\n- [first] First integer in the range\n- [last] Last integer in the range\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":653,"column":3},"path":["lib","lists","range"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.remove","path":["lib","lists","remove"],"aliases":[["lib","remove"]],"signature":"remove :: a -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":326,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":328,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":326,"column":3},"path":["lib","lists","remove"],"pos_type":"Attribute"}},"content":{"content":"\nRemove elements equal to 'e' from a list. Useful for buildInputs.\n\n# Example\n\n```nix\nremove 3 [ 1 3 4 3 ]\n=> [ 1 4 ]\n```\n\n# Type\n\n```\nremove :: a -> [a] -> [a]\n```\n\n# Arguments\n\n- [e] Element to remove from the list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":326,"column":3},"path":["lib","lists","remove"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.removePrefix","path":["lib","lists","removePrefix"],"aliases":[["lib","removePrefix"],["lib","path","removePrefix"],["lib","strings","removePrefix"]],"signature":"removePrefix :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1126,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1127,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1126,"column":3},"path":["lib","lists","removePrefix"],"pos_type":"Attribute"}},"content":{"content":"\nRemove the first list as a prefix from the second list.\nError if the first list isn't a prefix of the second list.\n\n# Example\n\n```nix\nremovePrefix [ 1 2 ] [ 1 2 3 4 ]\n=> [ 3 4 ]\nremovePrefix [ 0 1 ] [ 1 2 3 4 ]\n=> <error>\n```\n\n# Type\n\n```\nremovePrefix :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [list1] \n- [list2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1126,"column":3},"path":["lib","lists","removePrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.replicate","path":["lib","lists","replicate"],"aliases":[["lib","replicate"],["lib","strings","replicate"]],"signature":"replicate :: int -> a -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":3},"path":["lib","lists","replicate"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list with `n` copies of an element.\n\n# Example\n\n```nix\nreplicate 3 \"a\"\n=> [ \"a\" \"a\" \"a\" ]\nreplicate 2 true\n=> [ true true ]\n```\n\n# Type\n\n```\nreplicate :: int -> a -> [a]\n```\n\n# Arguments\n\n- [n] \n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":687,"column":3},"path":["lib","lists","replicate"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.reverseList","path":["lib","lists","reverseList"],"aliases":[["lib","reverseList"]],"signature":"reverseList :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":3},"path":["lib","lists","reverseList"],"pos_type":"Attribute"}},"content":{"content":"\nReverse the order of the elements of a list.\n\n# Example\n\n```nix\nreverseList [ \"b\" \"o\" \"j\" ]\n=> [ \"j\" \"o\" \"b\" ]\n```\n\n# Type\n\n```\nreverseList :: [a] -> [a]\n```\n\n# Arguments\n\n- [xs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":830,"column":3},"path":["lib","lists","reverseList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.singleton","path":["lib","lists","singleton"],"aliases":[["lib","singleton"]],"signature":"singleton :: a -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":3},"path":["lib","lists","singleton"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a list consisting of a single element. `singleton x` is\nsometimes more convenient with respect to indentation than `[x]`\nwhen x spans multiple lines.\n\n# Example\n\n```nix\nsingleton \"foo\"\n=> [ \"foo\" ]\n```\n\n# Type\n\n```\nsingleton :: a -> [a]\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":36,"column":3},"path":["lib","lists","singleton"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.sort","path":["lib","lists","sort"],"aliases":[["builtins","sort"],["lib","sort"]],"signature":null,"is_primop":true,"primop_meta":{"name":"sort","args":["comparator","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"path":["lib","lists","sort"],"pos_type":"Attribute"}},"content":{"content":"\nSort a list based on a comparator function which compares two\nelements and returns true if the first argument is strictly below\nthe second argument. The returned list is sorted in an increasing\norder. The implementation does a quick-sort.\n\n# Example\n\n```nix\nsort (a: b: a < b) [ 5 3 7 ]\n=> [ 3 5 7 ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":935,"column":3},"path":["lib","lists","sort"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.sublist","path":["lib","lists","sublist"],"aliases":[["lib","sublist"]],"signature":"sublist :: int -> int -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1160,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1162,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1160,"column":3},"path":["lib","lists","sublist"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a list consisting of at most `count` elements of `list`,\nstarting at index `start`.\n\n# Example\n\n```nix\nsublist 1 3 [ \"a\" \"b\" \"c\" \"d\" \"e\" ]\n=> [ \"b\" \"c\" \"d\" ]\nsublist 1 3 [ ]\n=> [ ]\n```\n\n# Type\n\n```\nsublist :: int -> int -> [a] -> [a]\n```\n\n# Arguments\n\n- [start] Index at which to start the sublist\n- [count] Number of elements to take\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1160,"column":3},"path":["lib","lists","sublist"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.subtractLists","path":["lib","lists","subtractLists"],"aliases":[["lib","subtractLists"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":3},"path":["lib","lists","subtractLists"],"pos_type":"Attribute"}},"content":{"content":"\nSubtracts list 'e' from another list. O(nm) complexity.\n\n# Example\n\n```nix\nsubtractLists [ 3 2 ] [ 1 2 3 4 5 3 ]\n=> [ 1 4 5 ]\n```\n\n# Arguments\n\n- [e] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1358,"column":3},"path":["lib","lists","subtractLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.tail","path":["lib","lists","tail"],"aliases":[["builtins","tail"],["lib","tail"],["lib","strings","tail"]],"signature":null,"is_primop":true,"primop_meta":{"name":"tail","args":["list"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":11,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","lists","tail"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the list without its first item; abort evaluation if\nthe argument isnt a list or is an empty list.\n\n> **Warning**\n>\n> This function should generally be avoided since it's inefficient:\n> unlike Haskell's `tail`, it takes O(n) time, so recursing over a\n> list by repeatedly calling `tail` takes O(n^2) time.\n","source":{"position":null,"path":["lib","lists","tail"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.lists.take","path":["lib","lists","take"],"aliases":[["lib","take"]],"signature":"take :: int -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1038,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1040,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1038,"column":3},"path":["lib","lists","take"],"pos_type":"Attribute"}},"content":{"content":"\nReturn the first (at most) N elements of a list.\n\n# Example\n\n```nix\ntake 2 [ \"a\" \"b\" \"c\" \"d\" ]\n=> [ \"a\" \"b\" ]\ntake 2 [ ]\n=> [ ]\n```\n\n# Type\n\n```\ntake :: int -> [a] -> [a]\n```\n\n# Arguments\n\n- [count] Number of elements to take\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1038,"column":3},"path":["lib","lists","take"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.toList","path":["lib","lists","toList"],"aliases":[["lib","toList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":3},"path":["lib","lists","toList"],"pos_type":"Attribute"}},"content":{"content":"\nIf argument is a list, return it; else, wrap it in a singleton\nlist. If you're using this, you should almost certainly\nreconsider if there isn't a more \"well-typed\" approach.\n\n# Example\n\n```nix\ntoList [ 1 2 ]\n=> [ 1 2 ]\ntoList \"hi\"\n=> [ \"hi \"]\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":627,"column":3},"path":["lib","lists","toList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.toposort","path":["lib","lists","toposort"],"aliases":[["lib","toposort"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":3},"path":["lib","lists","toposort"],"pos_type":"Attribute"}},"content":{"content":"\nSort a list based on a partial ordering using DFS. This\nimplementation is O(N^2), if your ordering is linear, use `sort`\ninstead.\n`before a b == true` means that `b` should be after `a`\nin the result.\n\n# Example\n\n```nix\ntoposort hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" ]\n == { result = [ \"/\" \"/home\" \"/home/user\" \"other\" ]; }\ntoposort hasPrefix [ \"/home/user\" \"other\" \"/\" \"/home\" \"/\" ]\n == { cycle = [ \"/home/user\" \"/\" \"/\" ]; # path leading to a cycle\n loops = [ \"/\" ]; } # loops back to these elements\ntoposort hasPrefix [ \"other\" \"/home/user\" \"/home\" \"/\" ]\n == { result = [ \"other\" \"/\" \"/home\" \"/home/user\" ]; }\ntoposort (a: b: a < b) [ 3 2 1 ] == { result = [ 1 2 3 ]; }\n```\n\n# Arguments\n\n- [before] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":903,"column":3},"path":["lib","lists","toposort"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.unique","path":["lib","lists","unique"],"aliases":[["lib","types","unique"],["lib","unique"]],"signature":"unique :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":208,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"path":["lib","lists","unique"],"pos_type":"Attribute"}},"content":{"content":"\nRemove duplicate elements from the list. O(n^2) complexity.\n\n# Example\n\n```nix\nunique [ 3 2 3 4 ]\n=> [ 3 2 4 ]\n```\n\n# Type\n\n```\nunique :: [a] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"path":["lib","lists","unique"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.zipLists","path":["lib","lists","zipLists"],"aliases":[["lib","zipLists"]],"signature":"zipLists :: [a] -> [b] -> [{ fst :: a; snd :: b; }]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":807,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":784,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":807,"column":3},"path":["lib","lists","zipLists"],"pos_type":"Attribute"}},"content":{"content":"\nMerges two lists of the same size together. If the sizes aren't the same\nthe merging stops at the shortest.\n\n# Example\n\n```nix\nzipLists [ 1 2 ] [ \"a\" \"b\" ]\n=> [ { fst = 1; snd = \"a\"; } { fst = 2; snd = \"b\"; } ]\n```\n\n# Type\n\n```\nzipLists :: [a] -> [b] -> [{ fst :: a; snd :: b; }]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":807,"column":3},"path":["lib","lists","zipLists"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.lists.zipListsWith","path":["lib","lists","zipListsWith"],"aliases":[["lib","zipListsWith"]],"signature":"zipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":780,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":782,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":780,"column":3},"path":["lib","lists","zipListsWith"],"pos_type":"Attribute"}},"content":{"content":"\nMerges two lists of the same size together. If the sizes aren't the same\nthe merging stops at the shortest. How both lists are merged is defined\nby the first argument.\n\n# Example\n\n```nix\nzipListsWith (a: b: a + b) [\"h\" \"l\"] [\"e\" \"o\"]\n=> [\"he\" \"lo\"]\n```\n\n# Type\n\n```\nzipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c]\n```\n\n# Arguments\n\n- [f] Function to zip elements of both lists\n- [fst] First list\n- [snd] Second list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":780,"column":3},"path":["lib","lists","zipListsWith"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.mergeAttrBy.buildInputs","path":["lib","mergeAttrBy","buildInputs"],"aliases":[["lib","misc","mergeAttrBy","buildInputs"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","buildInputs"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","buildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.cfg","path":["lib","mergeAttrBy","cfg"],"aliases":[["lib","misc","mergeAttrBy","cfg"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","cfg"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","cfg"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.configureFlags","path":["lib","mergeAttrBy","configureFlags"],"aliases":[["lib","misc","mergeAttrBy","configureFlags"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","configureFlags"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","configureFlags"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.flags","path":["lib","mergeAttrBy","flags"],"aliases":[["lib","misc","mergeAttrBy","flags"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","flags"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","flags"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.meta","path":["lib","mergeAttrBy","meta"],"aliases":[["lib","misc","mergeAttrBy","meta"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","meta"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","meta"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.nativeBuildInputs","path":["lib","mergeAttrBy","nativeBuildInputs"],"aliases":[["lib","misc","mergeAttrBy","nativeBuildInputs"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","nativeBuildInputs"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","nativeBuildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.passthru","path":["lib","mergeAttrBy","passthru"],"aliases":[["lib","misc","mergeAttrBy","passthru"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","passthru"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","mergeAttrBy","passthru"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.patches","path":["lib","mergeAttrBy","patches"],"aliases":[["lib","misc","mergeAttrBy","patches"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","patches"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","patches"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.postAll","path":["lib","mergeAttrBy","postAll"],"aliases":[["lib","misc","mergeAttrBy","postAll"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","postAll"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","postAll"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.postInstall","path":["lib","mergeAttrBy","postInstall"],"aliases":[["lib","misc","mergeAttrBy","postInstall"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","mergeAttrBy","postInstall"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","mergeAttrBy","postInstall"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.preConfigure","path":["lib","mergeAttrBy","preConfigure"],"aliases":[["lib","misc","mergeAttrBy","preConfigure"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","mergeAttrBy","preConfigure"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","mergeAttrBy","preConfigure"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.prePhases","path":["lib","mergeAttrBy","prePhases"],"aliases":[["lib","misc","mergeAttrBy","prePhases"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","prePhases"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","prePhases"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.mergeAttrBy.propagatedBuildInputs","path":["lib","mergeAttrBy","propagatedBuildInputs"],"aliases":[["lib","misc","mergeAttrBy","propagatedBuildInputs"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","propagatedBuildInputs"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","mergeAttrBy","propagatedBuildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.meta.addMetaAttrs","path":["lib","meta","addMetaAttrs"],"aliases":[["lib","addMetaAttrs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":3},"path":["lib","meta","addMetaAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nAdd to or override the meta attributes of the given\nderivation.\n\n# Example\n\n```nix\naddMetaAttrs {description = \"Bla blah\";} somePkg\n```\n\n# Arguments\n\n- [newAttrs] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":3},"path":["lib","meta","addMetaAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.appendToName","path":["lib","meta","appendToName"],"aliases":[["lib","appendToName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":3},"path":["lib","meta","appendToName"],"pos_type":"Attribute"}},"content":{"content":"\nAppend a suffix to the name of a package (before the version\npart).\n\n# Arguments\n\n- [suffix] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":82,"column":3},"path":["lib","meta","appendToName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.availableOn","path":["lib","meta","availableOn"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":179,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":179,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":179,"column":3},"path":["lib","meta","availableOn"],"pos_type":"Attribute"}},"content":{"content":"\nCheck if a package is available on a given platform.\nA package is available on a platform if both\n1. One of `meta.platforms` pattern matches the given\nplatform, or `meta.platforms` is not present.\n2. None of `meta.badPlatforms` pattern matches the given platform.\n\n# Arguments\n\n- [platform] \n- [pkg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":179,"column":3},"path":["lib","meta","availableOn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.dontDistribute","path":["lib","meta","dontDistribute"],"aliases":[["lib","dontDistribute"],["pkgs","haskell","lib","dontDistribute"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":3},"path":["lib","meta","dontDistribute"],"pos_type":"Attribute"}},"content":{"content":"\nDisable Hydra builds of given derivation.\n\n# Arguments\n\n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":39,"column":3},"path":["lib","meta","dontDistribute"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.getExe","path":["lib","meta","getExe"],"aliases":[["lib","getExe"]],"signature":"getExe :: package -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":3},"path":["lib","meta","getExe"],"pos_type":"Attribute"}},"content":{"content":"\nGet the path to the main program of a package based on meta.mainProgram\n\n# Example\n\n```nix\ngetExe pkgs.hello\n=> \"/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello\"\ngetExe pkgs.mustache-go\n=> \"/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache\"\n```\n\n# Type\n\n```\ngetExe :: package -> string\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":240,"column":3},"path":["lib","meta","getExe"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.getExe' (Prime)","path":["lib","meta","getExe'"],"aliases":[["lib","getExe'"]],"signature":"getExe' :: derivation -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":3},"path":["lib","meta","getExe'"],"pos_type":"Attribute"}},"content":{"content":"\nGet the path of a program of a derivation.\n\n# Example\n\n```nix\ngetExe' pkgs.hello \"hello\"\n=> \"/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello\"\ngetExe' pkgs.imagemagick \"convert\"\n=> \"/nix/store/5rs48jamq7k6sal98ymj9l4k2bnwq515-imagemagick-7.1.1-15/bin/convert\"\n```\n\n# Type\n\n```\ngetExe' :: derivation -> string -> string\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":275,"column":3},"path":["lib","meta","getExe'"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.getLicenseFromSpdxId","path":["lib","meta","getLicenseFromSpdxId"],"aliases":[["lib","getLicenseFromSpdxId"]],"signature":"getLicenseFromSpdxId :: str -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":207,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":211,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":207,"column":3},"path":["lib","meta","getLicenseFromSpdxId"],"pos_type":"Attribute"}},"content":{"content":"\nGet the corresponding attribute in lib.licenses\nfrom the SPDX ID.\nFor SPDX IDs, see\nhttps://spdx.org/licenses\n\n# Example\n\n```nix\nlib.getLicenseFromSpdxId \"MIT\" == lib.licenses.mit\n=> true\nlib.getLicenseFromSpdxId \"mIt\" == lib.licenses.mit\n=> true\nlib.getLicenseFromSpdxId \"MY LICENSE\"\n=> trace: warning: getLicenseFromSpdxId: No license matches the given SPDX ID: MY LICENSE\n=> { shortName = \"MY LICENSE\"; }\n```\n\n# Type\n\n```\ngetLicenseFromSpdxId :: str -> AttrSet\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":207,"column":3},"path":["lib","meta","getLicenseFromSpdxId"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.hiPrio","path":["lib","meta","hiPrio"],"aliases":[["lib","hiPrio"],["pkgs","hiPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":28},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"path":["lib","meta","hiPrio"],"pos_type":"Attribute"}},"content":{"content":"\nIncrease the nix-env priority of the package, i.e., this\nversion/variant of the package will be preferred.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"path":["lib","meta","hiPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.hiPrioSet","path":["lib","meta","hiPrioSet"],"aliases":[["lib","hiPrioSet"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":3},"path":["lib","meta","hiPrioSet"],"pos_type":"Attribute"}},"content":{"content":"\nApply hiPrio to an attrset with derivations\n\n# Arguments\n\n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":138,"column":3},"path":["lib","meta","hiPrioSet"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.lowPrio","path":["lib","meta","lowPrio"],"aliases":[["lib","lowPrio"],["pkgs","lowPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":28},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"path":["lib","meta","lowPrio"],"pos_type":"Attribute"}},"content":{"content":"\nDecrease the nix-env priority of the package, i.e., other\nversions/variants of the package will be preferred.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"path":["lib","meta","lowPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.lowPrioSet","path":["lib","meta","lowPrioSet"],"aliases":[["lib","lowPrioSet"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":3},"path":["lib","meta","lowPrioSet"],"pos_type":"Attribute"}},"content":{"content":"\nApply lowPrio to an attrset with derivations\n\n# Arguments\n\n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":121,"column":3},"path":["lib","meta","lowPrioSet"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.mapDerivationAttrset","path":["lib","meta","mapDerivationAttrset"],"aliases":[["lib","mapDerivationAttrset"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":3},"path":["lib","meta","mapDerivationAttrset"],"pos_type":"Attribute"}},"content":{"content":"\nApply a function to each derivation and only to derivations in an attrset.\n\n# Arguments\n\n- [f] \n- [set] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":95,"column":3},"path":["lib","meta","mapDerivationAttrset"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.platformMatch","path":["lib","meta","platformMatch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":157,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":157,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":157,"column":3},"path":["lib","meta","platformMatch"],"pos_type":"Attribute"}},"content":{"content":"\nCheck to see if a platform is matched by the given `meta.platforms`\nelement.\nA `meta.platform` pattern is either\n1. (legacy) a system string.\n2. (modern) a pattern for the entire platform structure (see `lib.systems.inspect.platformPatterns`).\n3. (modern) a pattern for the platform `parsed` field (see `lib.systems.inspect.patterns`).\nWe can inject these into a pattern for the whole of a structured platform,\nand then match that.\n\n# Arguments\n\n- [platform] \n- [elem] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":157,"column":3},"path":["lib","meta","platformMatch"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.setName","path":["lib","meta","setName"],"aliases":[["lib","setName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":3},"path":["lib","meta","setName"],"pos_type":"Attribute"}},"content":{"content":"\nChange the symbolic name of a package for presentation purposes\n(i.e., so that nix-env users can tell them apart).\n\n# Arguments\n\n- [name] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":52,"column":3},"path":["lib","meta","setName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.setPrio","path":["lib","meta","setPrio"],"aliases":[["lib","setPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":3},"path":["lib","meta","setPrio"],"pos_type":"Attribute"}},"content":{"content":"\nSet the nix-env priority of the package.\n\n# Arguments\n\n- [priority] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":105,"column":3},"path":["lib","meta","setPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.meta.updateName","path":["lib","meta","updateName"],"aliases":[["lib","updateName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":3},"path":["lib","meta","updateName"],"pos_type":"Attribute"}},"content":{"content":"\nLike `setName`, but takes the previous name as an argument.\n\n# Example\n\n```nix\nupdateName (oldName: oldName + \"-experimental\") somePkg\n```\n\n# Arguments\n\n- [updater] \n- [drv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":70,"column":3},"path":["lib","meta","updateName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.misc.checkFlag","path":["lib","misc","checkFlag"],"aliases":[["lib","checkFlag"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":15},"path":["lib","misc","checkFlag"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":57,"column":15},"path":["lib","misc","checkFlag"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.checkReqs","path":["lib","misc","checkReqs"],"aliases":[["lib","checkReqs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":15},"path":["lib","misc","checkReqs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":78,"column":15},"path":["lib","misc","checkReqs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.closePropagation","path":["lib","misc","closePropagation"],"aliases":[["lib","closePropagation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":187,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"path":["lib","misc","closePropagation"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"path":["lib","misc","closePropagation"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.closePropagationFast","path":["lib","misc","closePropagationFast"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"path":["lib","misc","closePropagationFast"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":168,"column":26},"path":["lib","misc","closePropagationFast"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.closePropagationSlow","path":["lib","misc","closePropagationSlow"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":160,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":160,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":160,"column":26},"path":["lib","misc","closePropagationSlow"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":160,"column":26},"path":["lib","misc","closePropagationSlow"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.condConcat","path":["lib","misc","condConcat"],"aliases":[["lib","condConcat"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":16},"path":["lib","misc","condConcat"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":114,"column":16},"path":["lib","misc","condConcat"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.defaultMerge","path":["lib","misc","defaultMerge"],"aliases":[["lib","defaultMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":18},"path":["lib","misc","defaultMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":22,"column":18},"path":["lib","misc","defaultMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.defaultMergeArg","path":["lib","misc","defaultMergeArg"],"aliases":[["lib","defaultMergeArg"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":21},"path":["lib","misc","defaultMergeArg"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":18,"column":21},"path":["lib","misc","defaultMergeArg"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.foldArgs","path":["lib","misc","foldArgs"],"aliases":[["lib","foldArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":14},"path":["lib","misc","foldArgs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":23,"column":14},"path":["lib","misc","foldArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.getValue","path":["lib","misc","getValue"],"aliases":[["lib","getValue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":14},"path":["lib","misc","getValue"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":66,"column":14},"path":["lib","misc","getValue"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.ifEnable","path":["lib","misc","ifEnable"],"aliases":[["lib","ifEnable"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":14},"path":["lib","misc","ifEnable"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":47,"column":14},"path":["lib","misc","ifEnable"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.imap","path":["lib","misc","imap"],"aliases":[["lib","imap"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":300,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":262,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":300,"column":3},"path":["lib","misc","imap"],"pos_type":"Attribute"}},"content":{"content":"\ndeprecated:\nFor historical reasons, imap has an index starting at 1.\nBut for consistency with the rest of the library we want an index\nstarting at zero.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":300,"column":3},"path":["lib","misc","imap"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.misc.innerClosePropagation","path":["lib","misc","innerClosePropagation"],"aliases":[["lib","innerClosePropagation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":27},"path":["lib","misc","innerClosePropagation"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":143,"column":27},"path":["lib","misc","innerClosePropagation"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.innerModifySumArgs","path":["lib","misc","innerModifySumArgs"],"aliases":[["lib","innerModifySumArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":24},"path":["lib","misc","innerModifySumArgs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":138,"column":24},"path":["lib","misc","innerModifySumArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.lazyGenericClosure","path":["lib","misc","lazyGenericClosure"],"aliases":[["lib","lazyGenericClosure"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":24},"path":["lib","misc","lazyGenericClosure"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":124,"column":24},"path":["lib","misc","lazyGenericClosure"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mapAttrsFlatten","path":["lib","misc","mapAttrsFlatten"],"aliases":[["lib","mapAttrsFlatten"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":21},"path":["lib","misc","mapAttrsFlatten"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":192,"column":21},"path":["lib","misc","mapAttrsFlatten"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.maybeAttr","path":["lib","misc","maybeAttr"],"aliases":[["lib","maybeAttr"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","misc","maybeAttr"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","misc","maybeAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.maybeAttrNullable","path":["lib","misc","maybeAttrNullable"],"aliases":[["lib","maybeAttrNullable"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":39,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","misc","maybeAttrNullable"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":42,"column":15},"path":["lib","misc","maybeAttrNullable"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.maybeEnv","path":["lib","misc","maybeEnv"],"aliases":[["lib","maybeEnv"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":14},"path":["lib","misc","maybeEnv"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":14,"column":14},"path":["lib","misc","maybeEnv"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrByFunc","path":["lib","misc","mergeAttrByFunc"],"aliases":[["lib","mergeAttrByFunc"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":21},"path":["lib","misc","mergeAttrByFunc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":251,"column":21},"path":["lib","misc","mergeAttrByFunc"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrsByFuncDefaults","path":["lib","misc","mergeAttrsByFuncDefaults"],"aliases":[["lib","mergeAttrsByFuncDefaults"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":271,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":140,"column":20},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"lib.misc.mergeAttrsByFuncDefaultsClean","path":["lib","misc","mergeAttrsByFuncDefaultsClean"],"aliases":[["lib","mergeAttrsByFuncDefaultsClean"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":35},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":35},"path":["lib","misc","mergeAttrsByFuncDefaultsClean"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":272,"column":35},"path":["lib","misc","mergeAttrsByFuncDefaultsClean"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrsConcatenateValues","path":["lib","misc","mergeAttrsConcatenateValues"],"aliases":[["lib","mergeAttrsConcatenateValues"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":216,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":27},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.misc.mergeAttrsNoOverride","path":["lib","misc","mergeAttrsNoOverride"],"aliases":[["lib","mergeAttrsNoOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":26},"path":["lib","misc","mergeAttrsNoOverride"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":225,"column":26},"path":["lib","misc","mergeAttrsNoOverride"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrsWithFunc","path":["lib","misc","mergeAttrsWithFunc"],"aliases":[["lib","mergeAttrsWithFunc"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":24},"path":["lib","misc","mergeAttrsWithFunc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":208,"column":24},"path":["lib","misc","mergeAttrsWithFunc"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.modifySumArgs","path":["lib","misc","modifySumArgs"],"aliases":[["lib","modifySumArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":19},"path":["lib","misc","modifySumArgs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":140,"column":19},"path":["lib","misc","modifySumArgs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.nixType","path":["lib","misc","nixType"],"aliases":[["lib","nixType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":13},"path":["lib","misc","nixType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":282,"column":13},"path":["lib","misc","nixType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.nvs","path":["lib","misc","nvs"],"aliases":[["lib","nvs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":9},"path":["lib","misc","nvs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":195,"column":9},"path":["lib","misc","nvs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.setAttr","path":["lib","misc","setAttr"],"aliases":[["lib","setAttr"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":13},"path":["lib","misc","setAttr"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":197,"column":13},"path":["lib","misc","setAttr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.setAttrMerge","path":["lib","misc","setAttrMerge"],"aliases":[["lib","setAttrMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":18},"path":["lib","misc","setAttrMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":202,"column":18},"path":["lib","misc","setAttrMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.uniqList","path":["lib","misc","uniqList"],"aliases":[["lib","uniqList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":14},"path":["lib","misc","uniqList"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":91,"column":14},"path":["lib","misc","uniqList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.uniqListExt","path":["lib","misc","uniqListExt"],"aliases":[["lib","uniqListExt"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":17},"path":["lib","misc","uniqListExt"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":100,"column":17},"path":["lib","misc","uniqListExt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.applyModuleArgsIfFunction","path":["lib","modules","applyModuleArgsIfFunction"],"aliases":[["lib","applyModuleArgsIfFunction"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":507,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":507,"column":31},"path":["lib","modules","applyModuleArgsIfFunction"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":507,"column":31},"path":["lib","modules","applyModuleArgsIfFunction"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.collectModules","path":["lib","modules","collectModules"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":447,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":447,"column":8},"path":["lib","modules","collectModules"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":447,"column":8},"path":["lib","modules","collectModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.dischargeProperties","path":["lib","modules","dischargeProperties"],"aliases":[["lib","dischargeProperties"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":942,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":942,"column":25},"path":["lib","modules","dischargeProperties"],"pos_type":"Lambda"}},"content":{"content":"\nGiven a config value, expand mkMerge properties, and discharge\nany mkIf conditions. That is, this is the place where mkIf\nconditions are actually evaluated. The result is a list of\nconfig values. For example, mkIf false x yields [],\nmkIf true x yields [x], and\nmkMerge [ 1 (mkIf true 2) (mkIf true (mkIf false 3)) ]\nyields [ 1 2 ].\n\n# Arguments\n\n- [def] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":942,"column":25},"path":["lib","modules","dischargeProperties"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.doRename","path":["lib","modules","doRename"],"aliases":[["lib","doRename"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1370,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1370,"column":14},"path":["lib","modules","doRename"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1370,"column":14},"path":["lib","modules","doRename"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.evalModules","path":["lib","modules","evalModules"],"aliases":[["lib","evalModules"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":78,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":78,"column":17},"path":["lib","modules","evalModules"],"pos_type":"Lambda"}},"content":{"content":"\nSee https://nixos.org/manual/nixpkgs/unstable/#module-system-lib-evalModules\nor file://./../doc/module-system/module-system.chapter.md\n!!! Please think twice before adding to this argument list! The more\nthat is specified here instead of in the modules themselves the harder\nit is to transparently move a set of modules to be a submodule of another\nconfig (as the proper arguments need to be replicated at each call to\nevalModules) and the less declarative the module set is.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":78,"column":17},"path":["lib","modules","evalModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.evalOptionValue","path":["lib","modules","evalOptionValue"],"aliases":[["lib","evalOptionValue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":820,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":820,"column":21},"path":["lib","modules","evalOptionValue"],"pos_type":"Lambda"}},"content":{"content":"\nMerge all the definitions of an option to produce the final\nconfig value.\n\n# Arguments\n\n- [loc] \n- [opt] \n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":820,"column":21},"path":["lib","modules","evalOptionValue"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.filterOverrides","path":["lib","modules","filterOverrides"],"aliases":[["lib","filterOverrides"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":977,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":977,"column":21},"path":["lib","modules","filterOverrides"],"pos_type":"Lambda"}},"content":{"content":"\nGiven a list of config values, process the mkOverride properties,\nthat is, return the values that have the highest (that is,\nnumerically lowest) priority, and strip the mkOverride\nproperties. For example,\n[ { file = \"/1\"; value = mkOverride 10 \"a\"; }\n{ file = \"/2\"; value = mkOverride 20 \"b\"; }\n{ file = \"/3\"; value = \"z\"; }\n{ file = \"/4\"; value = mkOverride 10 \"d\"; }\n]\nyields\n[ { file = \"/1\"; value = \"a\"; }\n{ file = \"/4\"; value = \"d\"; }\n]\nNote that \"z\" has the default priority 100.\n\n# Arguments\n\n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":977,"column":21},"path":["lib","modules","filterOverrides"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.filterOverrides' (Prime)","path":["lib","modules","filterOverrides'"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":979,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":979,"column":22},"path":["lib","modules","filterOverrides'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":979,"column":22},"path":["lib","modules","filterOverrides'"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.fixMergeModules","path":["lib","modules","fixMergeModules"],"aliases":[["lib","fixMergeModules"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1154,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1154,"column":21},"path":["lib","modules","fixMergeModules"],"pos_type":"Lambda"}},"content":{"content":"\nCompatibility.\n\n# Arguments\n\n- [modules] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1154,"column":21},"path":["lib","modules","fixMergeModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.fixupOptionType","path":["lib","modules","fixupOptionType"],"aliases":[["lib","fixupOptionType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1012,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1012,"column":21},"path":["lib","modules","fixupOptionType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1012,"column":21},"path":["lib","modules","fixupOptionType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.importJSON","path":["lib","modules","importJSON"],"aliases":[["lib","importJSON"],["lib","trivial","importJSON"]],"signature":"importJSON :: path -> any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1406,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"path":["lib","trivial","importJSON"],"pos_type":"Attribute"}},"content":{"content":"\nReads a JSON file.\n\n# Type\n\n```\nimportJSON :: path -> any\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"path":["lib","trivial","importJSON"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.modules.importTOML","path":["lib","modules","importTOML"],"aliases":[["lib","importTOML"],["lib","trivial","importTOML"]],"signature":"importTOML :: path -> any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1420,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"path":["lib","trivial","importTOML"],"pos_type":"Attribute"}},"content":{"content":"\nReads a TOML file.\n\n# Type\n\n```\nimportTOML :: path -> any\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"path":["lib","trivial","importTOML"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.modules.mergeAttrDefinitionsWithPrio","path":["lib","modules","mergeAttrDefinitionsWithPrio"],"aliases":[],"signature":"option -> attrsOf { highestPrio, value }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1034,"column":34},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1034,"column":34},"path":["lib","modules","mergeAttrDefinitionsWithPrio"],"pos_type":"Lambda"}},"content":{"content":"\nMerge an option's definitions in a way that preserves the priority of the\nindividual attributes in the option value.\nThis does not account for all option semantics, such as readOnly.\n\n# Type\n\n```\noption -> attrsOf { highestPrio, value }\n```\n\n# Arguments\n\n- [opt] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1034,"column":34},"path":["lib","modules","mergeAttrDefinitionsWithPrio"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mergeDefinitions","path":["lib","modules","mergeDefinitions"],"aliases":[["lib","mergeDefinitions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":860,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":860,"column":22},"path":["lib","modules","mergeDefinitions"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":860,"column":22},"path":["lib","modules","mergeDefinitions"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mergeModules","path":["lib","modules","mergeModules"],"aliases":[["lib","mergeModules"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":563,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":563,"column":18},"path":["lib","modules","mergeModules"],"pos_type":"Lambda"}},"content":{"content":"\nMerge a list of modules. This will recurse over the option\ndeclarations in all modules, combining them into a single set.\nAt the same time, for each option declaration, it will merge the\ncorresponding option definitions in all machines, returning them\nin the value attribute of each option.\nThis returns a set like\n{\n# A recursive set of options along with their final values\nmatchedOptions = {\nfoo = { _type = \"option\"; value = \"option value of foo\"; ... };\nbar.baz = { _type = \"option\"; value = \"option value of bar.baz\"; ... };\n...\n};\n# A list of definitions that weren't matched by any option\nunmatchedDefns = [\n{ file = \"file.nix\"; prefix = [ \"qux\" ]; value = \"qux\"; }\n...\n];\n}\n\n# Arguments\n\n- [prefix] \n- [modules] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":563,"column":18},"path":["lib","modules","mergeModules"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mergeModules' (Prime)","path":["lib","modules","mergeModules'"],"aliases":[["lib","mergeModules'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":567,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":567,"column":19},"path":["lib","modules","mergeModules'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":567,"column":19},"path":["lib","modules","mergeModules'"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mergeOptionDecls","path":["lib","modules","mergeOptionDecls"],"aliases":[["lib","mergeOptionDecls"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":772,"column":4},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":772,"column":4},"path":["lib","modules","mergeOptionDecls"],"pos_type":"Lambda"}},"content":{"content":"\nMerge multiple option declarations into a single declaration. In\ngeneral, there should be only one declaration of each option.\nThe exception is the options attribute, which specifies\nsub-options. These can be specified multiple times to allow one\nmodule to add sub-options to an option declared somewhere else\n(e.g. multiple modules define sub-options for fileSystems).\n'loc' is the list of attribute names where the option is located.\n'opts' is a list of modules. Each module has an options attribute which\ncorrespond to the definition of 'loc' in 'opt.file'.\n\n# Arguments\n\n- [loc] \n- [opts] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":772,"column":4},"path":["lib","modules","mergeOptionDecls"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkAfter","path":["lib","modules","mkAfter"],"aliases":[["lib","mkAfter"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":23},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkAliasAndWrapDefinitions","path":["lib","modules","mkAliasAndWrapDefinitions"],"aliases":[["lib","mkAliasAndWrapDefinitions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":31},"path":["lib","modules","mkAliasAndWrapDefinitions"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":31},"path":["lib","modules","mkAliasAndWrapDefinitions"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkAliasAndWrapDefsWithPriority","path":["lib","modules","mkAliasAndWrapDefsWithPriority"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1136,"column":36},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1136,"column":36},"path":["lib","modules","mkAliasAndWrapDefsWithPriority"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1136,"column":36},"path":["lib","modules","mkAliasAndWrapDefsWithPriority"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkAliasDefinitions","path":["lib","modules","mkAliasDefinitions"],"aliases":[["lib","mkAliasDefinitions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1129,"column":37},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkAliasIfDef","path":["lib","modules","mkAliasIfDef"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1142,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1142,"column":18},"path":["lib","modules","mkAliasIfDef"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1142,"column":18},"path":["lib","modules","mkAliasIfDef"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkAliasOptionModule","path":["lib","modules","mkAliasOptionModule"],"aliases":[["lib","mkAliasOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","modules","mkAliasOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nLike mkRenamedOptionModule, but doesn't show a warning.\n\n# Arguments\n\n- [from] \n- [to] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","modules","mkAliasOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkAliasOptionModuleMD","path":["lib","modules","mkAliasOptionModuleMD"],"aliases":[["lib","mkAliasOptionModuleMD"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","modules","mkAliasOptionModuleMD"],"pos_type":"Lambda"}},"content":{"content":"\nLike mkRenamedOptionModule, but doesn't show a warning.\n\n# Arguments\n\n- [from] \n- [to] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1332,"column":25},"path":["lib","modules","mkAliasOptionModuleMD"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkAssert","path":["lib","modules","mkAssert"],"aliases":[["lib","mkAssert"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1074,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1074,"column":14},"path":["lib","modules","mkAssert"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1074,"column":14},"path":["lib","modules","mkAssert"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkBefore","path":["lib","modules","mkBefore"],"aliases":[["lib","mkBefore"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":23},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkChangedOptionModule","path":["lib","modules","mkChangedOptionModule"],"aliases":[["lib","mkChangedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1320,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1320,"column":27},"path":["lib","modules","mkChangedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nSingle \"from\" version of mkMergedOptionModule.\nReturn a module that causes a warning to be shown if the \"from\" option is\ndefined; the defined value can be used in the \"mergeFn\" to set the \"to\"\nvalue.\nThis function can be used to change an option into another that has a\ndifferent type.\n\"mergeFn\" takes the module \"config\" as a parameter and must return a value of\n\"to\" option type.\nmkChangedOptionModule [ \"a\" \"b\" \"c\" ] [ \"x\" \"y\" \"z\" ]\n(config:\nlet value = getAttrFromPath [ \"a\" \"b\" \"c\" ] config;\nin\nif value > 100 then \"high\"\nelse \"normal\")\n- options.a.b.c is a removed int option\n- options.x.y.z is a new str option that supersedes a.b.c\nThis show a warning if a.b.c is set, and set the value of x.y.z to the\nresult of the change function\n\n# Arguments\n\n- [from] \n- [to] \n- [changeFn] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1320,"column":27},"path":["lib","modules","mkChangedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkDefault","path":["lib","modules","mkDefault"],"aliases":[["lib","mkDefault"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkDerivedConfig","path":["lib","modules","mkDerivedConfig"],"aliases":[["lib","mkDerivedConfig"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1365,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1365,"column":21},"path":["lib","modules","mkDerivedConfig"],"pos_type":"Lambda"}},"content":{"content":"\nmkDerivedConfig : Option a -> (a -> Definition b) -> Definition b\nCreate config definitions with the same priority as the definition of another option.\nThis should be used for option definitions where one option sets the value of another as a convenience.\nFor instance a config file could be set with a `text` or `source` option, where text translates to a `source`\nvalue using `mkDerivedConfig options.text (pkgs.writeText \"filename.conf\")`.\nIt takes care of setting the right priority using `mkOverride`.\n\n# Arguments\n\n- [opt] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1365,"column":21},"path":["lib","modules","mkDerivedConfig"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkFixStrictness","path":["lib","modules","mkFixStrictness"],"aliases":[["lib","mkFixStrictness"]],"signature":"id :: a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"path":["lib","modules","mkFixStrictness"],"pos_type":"Lambda"}},"content":{"content":"\nThe identity function\nFor when you need a function that does “nothing”.\n\n# Type\n\n```\nid :: a -> a\n```\n\n# Arguments\n\n- [x] The value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"path":["lib","modules","mkFixStrictness"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkForce","path":["lib","modules","mkForce"],"aliases":[["lib","mkForce"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkIf","path":["lib","modules","mkIf"],"aliases":[["lib","mkIf"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1069,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1069,"column":10},"path":["lib","modules","mkIf"],"pos_type":"Lambda"}},"content":{"content":"\nProperties.\n\n# Arguments\n\n- [condition] \n- [content] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1069,"column":10},"path":["lib","modules","mkIf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkImageMediaOverride","path":["lib","modules","mkImageMediaOverride"],"aliases":[["lib","mkImageMediaOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkMerge","path":["lib","modules","mkMerge"],"aliases":[["lib","mkMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1079,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1079,"column":13},"path":["lib","modules","mkMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1079,"column":13},"path":["lib","modules","mkMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkMergedOptionModule","path":["lib","modules","mkMergedOptionModule"],"aliases":[["lib","mkMergedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1269,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1269,"column":26},"path":["lib","modules","mkMergedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a module that causes a warning to be shown if any of the \"from\"\noption is defined; the defined values can be used in the \"mergeFn\" to set\nthe \"to\" value.\nThis function can be used to merge multiple options into one that has a\ndifferent type.\n\"mergeFn\" takes the module \"config\" as a parameter and must return a value\nof \"to\" option type.\nmkMergedOptionModule\n[ [ \"a\" \"b\" \"c\" ]\n[ \"d\" \"e\" \"f\" ] ]\n[ \"x\" \"y\" \"z\" ]\n(config:\nlet value = p: getAttrFromPath p config;\nin\nif (value [ \"a\" \"b\" \"c\" ]) == true then \"foo\"\nelse if (value [ \"d\" \"e\" \"f\" ]) == true then \"bar\"\nelse \"baz\")\n- options.a.b.c is a removed boolean option\n- options.d.e.f is a removed boolean option\n- options.x.y.z is a new str option that combines a.b.c and d.e.f\nfunctionality\nThis show a warning if any a.b.c or d.e.f is set, and set the value of\nx.y.z to the result of the merge function\n\n# Arguments\n\n- [from] \n- [to] \n- [mergeFn] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1269,"column":26},"path":["lib","modules","mkMergedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkOptionDefault","path":["lib","modules","mkOptionDefault"],"aliases":[["lib","mkOptionDefault"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.mkOrder","path":["lib","modules","mkOrder"],"aliases":[["lib","mkOrder"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":13},"path":["lib","modules","mkOrder"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1100,"column":13},"path":["lib","modules","mkOrder"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkOverride","path":["lib","modules","mkOverride"],"aliases":[["lib","mkOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":16},"path":["lib","modules","mkOverride"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":16},"path":["lib","modules","mkOverride"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkRemovedOptionModule","path":["lib","modules","mkRemovedOptionModule"],"aliases":[["lib","mkRemovedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1173,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1173,"column":27},"path":["lib","modules","mkRemovedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a module that causes a warning to be shown if the\nspecified option is defined. For example,\nmkRemovedOptionModule [ \"boot\" \"loader\" \"grub\" \"bootDevice\" ] \"<replacement instructions>\"\ncauses a assertion if the user defines boot.loader.grub.bootDevice.\nreplacementInstructions is a string that provides instructions on\nhow to achieve the same functionality without the removed option,\nor alternatively a reasoning why the functionality is not needed.\nreplacementInstructions SHOULD be provided!\n\n# Arguments\n\n- [optionName] \n- [replacementInstructions] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1173,"column":27},"path":["lib","modules","mkRemovedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkRenamedOptionModule","path":["lib","modules","mkRenamedOptionModule"],"aliases":[["lib","mkRenamedOptionModule"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1206,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1206,"column":27},"path":["lib","modules","mkRenamedOptionModule"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a module that causes a warning to be shown if the\nspecified \"from\" option is defined; the defined value is however\nforwarded to the \"to\" option. This can be used to rename options\nwhile providing backward compatibility. For example,\nmkRenamedOptionModule [ \"boot\" \"copyKernels\" ] [ \"boot\" \"loader\" \"grub\" \"copyKernels\" ]\nforwards any definitions of boot.copyKernels to\nboot.loader.grub.copyKernels while printing a warning.\nThis also copies over the priority from the aliased option to the\nnon-aliased option.\n\n# Arguments\n\n- [from] \n- [to] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1206,"column":27},"path":["lib","modules","mkRenamedOptionModule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkRenamedOptionModuleWith","path":["lib","modules","mkRenamedOptionModuleWith"],"aliases":[["lib","mkRenamedOptionModuleWith"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1213,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1213,"column":31},"path":["lib","modules","mkRenamedOptionModuleWith"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1213,"column":31},"path":["lib","modules","mkRenamedOptionModuleWith"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.mkVMOverride","path":["lib","modules","mkVMOverride"],"aliases":[["lib","mkVMOverride"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1084,"column":26},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.modules.pushDownProperties","path":["lib","modules","pushDownProperties"],"aliases":[["lib","pushDownProperties"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":918,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":918,"column":24},"path":["lib","modules","pushDownProperties"],"pos_type":"Lambda"}},"content":{"content":"\nGiven a config set, expand mkMerge properties, and push down the\nother properties into the children. The result is a list of\nconfig sets that do not have properties at top-level. For\nexample,\nmkMerge [ { boot = set1; } (mkIf cond { boot = set2; services = set3; }) ]\nis transformed into\n[ { boot = set1; } { boot = mkIf cond set2; services = mkIf cond set3; } ].\nThis transform is the critical step that allows mkIf conditions\nto refer to the full configuration without creating an infinite\nrecursion.\n\n# Arguments\n\n- [cfg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":918,"column":24},"path":["lib","modules","pushDownProperties"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.setDefaultModuleLocation","path":["lib","modules","setDefaultModuleLocation"],"aliases":[["lib","setDefaultModuleLocation"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":459,"column":30},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":459,"column":30},"path":["lib","modules","setDefaultModuleLocation"],"pos_type":"Lambda"}},"content":{"content":"\nWrap a module with a default location for reporting errors.\n\n# Arguments\n\n- [file] \n- [m] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":459,"column":30},"path":["lib","modules","setDefaultModuleLocation"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.sortProperties","path":["lib","modules","sortProperties"],"aliases":[["lib","sortProperties"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":1446,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":999,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":999,"column":20},"path":["lib","modules","sortProperties"],"pos_type":"Lambda"}},"content":{"content":"\nSort a list of properties. The sort priority of a property is\ndefaultOrderPriority by default, but can be overridden by wrapping the property\nusing mkOrder.\n\n# Arguments\n\n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":999,"column":20},"path":["lib","modules","sortProperties"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.modules.unifyModuleSyntax","path":["lib","modules","unifyModuleSyntax"],"aliases":[["lib","unifyModuleSyntax"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":473,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":473,"column":23},"path":["lib","modules","unifyModuleSyntax"],"pos_type":"Lambda"}},"content":{"content":"\nMassage a module into canonical form, that is, a set consisting\nof options, config and imports attributes.\n\n# Arguments\n\n- [file] \n- [key] \n- [m] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/modules.nix","line":473,"column":23},"path":["lib","modules","unifyModuleSyntax"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.getFiles","path":["lib","options","getFiles"],"aliases":[["lib","getFiles"]],"signature":"getFiles :: [ { file :: a; } ] -> [a]\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":345,"column":3},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":345,"column":3},"path":["lib","options","getFiles"],"pos_type":"Attribute"}},"content":{"content":"\nExtracts values of all \"file\" keys of the given list\n\n# Example\n\n```nix\ngetFiles [ { file = \"file1\"; } { file = \"file2\"; } ] // => [ \"file1\" \"file2\" ]\ngetFiles [ ] // => [ ]\n```\n\n# Type\n\n```\ngetFiles :: [ { file :: a; } ] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":345,"column":3},"path":["lib","options","getFiles"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.getValues","path":["lib","options","getValues"],"aliases":[["lib","getValues"]],"signature":"getValues :: [ { value :: a; } ] -> [a]\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":327,"column":3},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":327,"column":3},"path":["lib","options","getValues"],"pos_type":"Attribute"}},"content":{"content":"\nExtracts values of all \"value\" keys of the given list.\n\n# Example\n\n```nix\ngetValues [ { value = 1; } { value = 2; } ] // => [ 1 2 ]\ngetValues [ ] // => [ ]\n```\n\n# Type\n\n```\ngetValues :: [ { value :: a; } ] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":327,"column":3},"path":["lib","options","getValues"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.isOption","path":["lib","options","isOption"],"aliases":[["lib","isOption"]],"signature":"isOption :: a -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":64,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":18},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":64,"column":3},"path":["lib","options","isOption"],"pos_type":"Attribute"}},"content":{"content":"\nReturns true when the given argument is an option\n\n# Example\n\n```nix\nisOption 1 // => false\nisOption (mkOption {}) // => true\n```\n\n# Type\n\n```\nisOption :: a -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":64,"column":3},"path":["lib","options","isOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.literalExample","path":["lib","options","literalExample"],"aliases":[["lib","literalExample"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":447,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"path":["lib","options","literalExample"],"pos_type":"Lambda"}},"content":{"content":"\nFor use in the `defaultText` and `example` option attributes. Causes the\ngiven string to be rendered verbatim in the documentation as Nix code. This\nis necessary for complex values, e.g. functions, or values that depend on\nother values or packages.\n\n# Arguments\n\n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"path":["lib","options","literalExample"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.literalExpression","path":["lib","options","literalExpression"],"aliases":[["lib","literalExpression"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":3},"path":["lib","options","literalExpression"],"pos_type":"Attribute"}},"content":{"content":"\nFor use in the `defaultText` and `example` option attributes. Causes the\ngiven string to be rendered verbatim in the documentation as Nix code. This\nis necessary for complex values, e.g. functions, or values that depend on\nother values or packages.\n\n# Arguments\n\n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":443,"column":3},"path":["lib","options","literalExpression"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.literalMD","path":["lib","options","literalMD"],"aliases":[["lib","literalMD"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":3},"path":["lib","options","literalMD"],"pos_type":"Attribute"}},"content":{"content":"\nFor use in the `defaultText` and `example` option attributes. Causes the\ngiven MD text to be inserted verbatim in the documentation, for when\na `literalExpression` would be too hard to read.\n\n# Arguments\n\n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":465,"column":3},"path":["lib","options","literalMD"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mdDoc","path":["lib","options","mdDoc"],"aliases":[["lib","mdDoc"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":453,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":453,"column":3},"path":["lib","options","mdDoc"],"pos_type":"Attribute"}},"content":{"content":"\nTransition marker for documentation that's already migrated to markdown\nsyntax. This is a no-op and no longer needed.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":453,"column":3},"path":["lib","options","mdDoc"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mergeDefaultOption","path":["lib","options","mergeDefaultOption"],"aliases":[["lib","mergeDefaultOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":24},"path":["lib","options","mergeDefaultOption"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":271,"column":24},"path":["lib","options","mergeDefaultOption"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.mergeEqualOption","path":["lib","options","mergeEqualOption"],"aliases":[["lib","mergeEqualOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":3},"path":["lib","options","mergeEqualOption"],"pos_type":"Attribute"}},"content":{"content":"\n\"Merge\" option definitions by checking that they all have the same value.\n\n# Arguments\n\n- [loc] \n- [defs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":299,"column":3},"path":["lib","options","mergeEqualOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mergeOneOption","path":["lib","options","mergeOneOption"],"aliases":[["lib","mergeOneOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":282,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":36},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.options.mergeUniqueOption","path":["lib","options","mergeUniqueOption"],"aliases":[["lib","mergeUniqueOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":23},"path":["lib","options","mergeUniqueOption"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":284,"column":23},"path":["lib","options","mergeUniqueOption"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.mkEnableOption","path":["lib","options","mkEnableOption"],"aliases":[["lib","mkEnableOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":122,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":124,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":122,"column":3},"path":["lib","options","mkEnableOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreates an Option attribute set for a boolean value option i.e an\noption to be toggled on or off:\n\n# Example\n\n```nix\nmkEnableOption \"foo\"\n=> { _type = \"option\"; default = false; description = \"Whether to enable foo.\"; example = true; type = { ... }; }\n```\n\n# Arguments\n\n- [name] Name for the created option\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":122,"column":3},"path":["lib","options","mkEnableOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mkOption","path":["lib","options","mkOption"],"aliases":[["lib","mkOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":81,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":82,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":81,"column":3},"path":["lib","options","mkOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreates an Option attribute set. mkOption accepts an attribute set with the following keys:\nAll keys default to `null` when not given.\n\n# Example\n\n```nix\nmkOption { } // => { _type = \"option\"; }\nmkOption { default = \"foo\"; } // => { _type = \"option\"; default = \"foo\"; }\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":81,"column":3},"path":["lib","options","mkOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mkPackageOption","path":["lib","options","mkPackageOption"],"aliases":[["lib","mkPackageOption"]],"signature":"mkPackageOption :: pkgs -> (string|[string]) -> { nullable? :: bool, default? :: string|[string], example? :: null|string|[string], extraDescription? :: string, pkgsText? :: string } -> option\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":203,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":205,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":203,"column":3},"path":["lib","options","mkPackageOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreates an Option attribute set for an option that specifies the\npackage a module should use for some purpose.\nThe package is specified in the third argument under `default` as a list of strings\nrepresenting its attribute path in nixpkgs (or another package set).\nBecause of this, you need to pass nixpkgs itself (usually `pkgs` in a module;\nalternatively to nixpkgs itself, another package set) as the first argument.\nIf you pass another package set you should set the `pkgsText` option.\nThis option is used to display the expression for the package set. It is `\"pkgs\"` by default.\nIf your expression is complex you should parenthesize it, as the `pkgsText` argument\nis usually immediately followed by an attribute lookup (`.`).\nThe second argument may be either a string or a list of strings.\nIt provides the display name of the package in the description of the generated option\n(using only the last element if the passed value is a list)\nand serves as the fallback value for the `default` argument.\nTo include extra information in the description, pass `extraDescription` to\nappend arbitrary text to the generated description.\nYou can also pass an `example` value, either a literal string or an attribute path.\nThe `default` argument can be omitted if the provided name is\nan attribute of pkgs (if `name` is a string) or a valid attribute path in pkgs (if `name` is a list).\nYou can also set `default` to just a string in which case it is interpreted as an attribute name\n(a singleton attribute path, if you will).\nIf you wish to explicitly provide no default, pass `null` as `default`.\nIf you want users to be able to set no package, pass `nullable = true`.\nIn this mode a `default = null` will not be interpreted as no default and is interpreted literally.\n\n# Example\n\n```nix\nmkPackageOption pkgs \"hello\" { }\n=> { ...; default = pkgs.hello; defaultText = literalExpression \"pkgs.hello\"; description = \"The hello package to use.\"; type = package; }\nmkPackageOption pkgs \"GHC\" {\n default = [ \"ghc\" ];\n example = \"pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])\";\n}\n=> { ...; default = pkgs.ghc; defaultText = literalExpression \"pkgs.ghc\"; description = \"The GHC package to use.\"; example = literalExpression \"pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])\"; type = package; }\nmkPackageOption pkgs [ \"python3Packages\" \"pytorch\" ] {\n extraDescription = \"This is an example and doesn't actually do anything.\";\n}\n=> { ...; default = pkgs.python3Packages.pytorch; defaultText = literalExpression \"pkgs.python3Packages.pytorch\"; description = \"The pytorch package to use. This is an example and doesn't actually do anything.\"; type = package; }\nmkPackageOption pkgs \"nushell\" {\n nullable = true;\n}\n=> { ...; default = pkgs.nushell; defaultText = literalExpression \"pkgs.nushell\"; description = \"The nushell package to use.\"; type = nullOr package; }\nmkPackageOption pkgs \"coreutils\" {\n default = null;\n}\n=> { ...; description = \"The coreutils package to use.\"; type = package; }\nmkPackageOption pkgs \"dbus\" {\n nullable = true;\n default = null;\n}\n=> { ...; default = null; description = \"The dbus package to use.\"; type = nullOr package; }\nmkPackageOption pkgs.javaPackages \"OpenJFX\" {\n default = \"openjfx20\";\n pkgsText = \"pkgs.javaPackages\";\n}\n=> { ...; default = pkgs.javaPackages.openjfx20; defaultText = literalExpression \"pkgs.javaPackages.openjfx20\"; description = \"The OpenJFX package to use.\"; type = package; }\n```\n\n# Type\n\n```\nmkPackageOption :: pkgs -> (string|[string]) -> { nullable? :: bool, default? :: string|[string], example? :: null|string|[string], extraDescription? :: string, pkgsText? :: string } -> option\n```\n\n# Arguments\n\n- [pkgs] Package set (an instantiation of nixpkgs such as pkgs in modules or another package set)\n- [name] Name for the package, shown in option description\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":203,"column":3},"path":["lib","options","mkPackageOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mkPackageOptionMD","path":["lib","options","mkPackageOptionMD"],"aliases":[["lib","mkPackageOptionMD"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":245,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":205,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":245,"column":3},"path":["lib","options","mkPackageOptionMD"],"pos_type":"Attribute"}},"content":{"content":"\nAlias of mkPackageOption. Previously used to create options with markdown\ndocumentation, which is no longer required.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":245,"column":3},"path":["lib","options","mkPackageOptionMD"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.mkSinkUndeclaredOptions","path":["lib","options","mkSinkUndeclaredOptions"],"aliases":[["lib","mkSinkUndeclaredOptions"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":3},"path":["lib","options","mkSinkUndeclaredOptions"],"pos_type":"Attribute"}},"content":{"content":"\nThis option accepts anything, but it does not produce any result.\nThis is useful for sharing a module across different module sets\nwithout having to implement similar features as long as the\nvalues of the options are not accessed.\n\n# Arguments\n\n- [attrs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":258,"column":3},"path":["lib","options","mkSinkUndeclaredOptions"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.optionAttrSetToDocList","path":["lib","options","optionAttrSetToDocList"],"aliases":[["lib","optionAttrSetToDocList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":349,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":32},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.options.optionAttrSetToDocList' (Prime)","path":["lib","options","optionAttrSetToDocList'"],"aliases":[["lib","optionAttrSetToDocList'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":29},"path":["lib","options","optionAttrSetToDocList'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":351,"column":29},"path":["lib","options","optionAttrSetToDocList'"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.renderOptionValue","path":["lib","options","renderOptionValue"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":424,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":424,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":424,"column":3},"path":["lib","options","renderOptionValue"],"pos_type":"Attribute"}},"content":{"content":"\nEnsures that the given option value (default or example) is a `_type`d string\nby rendering Nix values to `literalExpression`s.\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":424,"column":3},"path":["lib","options","renderOptionValue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.scrubOptionValue","path":["lib","options","scrubOptionValue"],"aliases":[["lib","scrubOptionValue"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":3},"path":["lib","options","scrubOptionValue"],"pos_type":"Attribute"}},"content":{"content":"\nThis function recursively removes all derivation attributes from\n`x` except for the `name` attribute.\nThis is to make the generation of `options.xml` much more\nefficient: the XML representation of derivations is very large\n(on the order of megabytes) and is not actually used by the\nmanual generator.\nThis function was made obsolete by renderOptionValue and is kept for\ncompatibility with out-of-tree code.\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":407,"column":3},"path":["lib","options","scrubOptionValue"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.showDefs","path":["lib","options","showDefs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":507,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":507,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":507,"column":14},"path":["lib","options","showDefs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":507,"column":14},"path":["lib","options","showDefs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.showFiles","path":["lib","options","showFiles"],"aliases":[["lib","showFiles"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":15},"path":["lib","options","showFiles"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":505,"column":15},"path":["lib","options","showFiles"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.options.showOption","path":["lib","options","showOption"],"aliases":[["lib","showOption"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":3},"path":["lib","options","showOption"],"pos_type":"Attribute"}},"content":{"content":"\nConvert an option, described as a list of the option parts to a\nhuman-readable version.\n\n# Example\n\n```nix\n(showOption [\"foo\" \"bar\" \"baz\"]) == \"foo.bar.baz\"\n (showOption [\"foo\" \"bar.baz\" \"tux\"]) == \"foo.\\\"bar.baz\\\".tux\"\n (showOption [\"windowManager\" \"2bwm\" \"enable\"]) == \"windowManager.\\\"2bwm\\\".enable\"\nPlaceholders will not be quoted as they are not actual values:\n (showOption [\"foo\" \"*\" \"bar\"]) == \"foo.*.bar\"\n (showOption [\"foo\" \"<name>\" \"bar\"]) == \"foo.<name>.bar\"\n```\n\n# Arguments\n\n- [parts] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":491,"column":3},"path":["lib","options","showOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.options.showOptionWithDefLocs","path":["lib","options","showOptionWithDefLocs"],"aliases":[["lib","showOptionWithDefLocs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":27},"path":["lib","options","showOptionWithDefLocs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/options.nix","line":526,"column":27},"path":["lib","options","showOptionWithDefLocs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.path.append","path":["lib","path","append"],"aliases":[],"signature":"append :: Path -> String -> Path\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":172,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":174,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":172,"column":3},"path":["lib","path","append"],"pos_type":"Attribute"}},"content":{"content":"\nAppend a subpath string to a path.\nLike `path + (\"/\" + string)` but safer, because it errors instead of returning potentially surprising results.\nMore specifically, it checks that the first argument is a [path value type](https://nixos.org/manual/nix/stable/language/values.html#type-path\"),\nand that the second argument is a [valid subpath string](#function-library-lib.path.subpath.isValid).\nLaws:\n- Not influenced by subpath [normalisation](#function-library-lib.path.subpath.normalise):\nappend p s == append p (subpath.normalise s)\n\n# Example\n\n```nix\nappend /foo \"bar/baz\"\n=> /foo/bar/baz\n# subpaths don't need to be normalised\nappend /foo \"./bar//baz/./\"\n=> /foo/bar/baz\n# can append to root directory\nappend /. \"foo/bar\"\n=> /foo/bar\n# first argument needs to be a path value type\nappend \"/foo\" \"bar\"\n=> <error>\n# second argument needs to be a valid subpath string\nappend /foo /bar\n=> <error>\nappend /foo \"\"\n=> <error>\nappend /foo \"/bar\"\n=> <error>\nappend /foo \"../bar\"\n=> <error>\n```\n\n# Type\n\n```\nappend :: Path -> String -> Path\n```\n\n# Arguments\n\n- [path] The absolute path to append to\n- [subpath] The subpath string to append\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":172,"column":3},"path":["lib","path","append"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.path.hasPrefix","path":["lib","path","hasPrefix"],"aliases":[["lib","hasPrefix"],["lib","lists","hasPrefix"],["lib","strings","hasPrefix"]],"signature":"hasPrefix :: Path -> Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":214,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":214,"column":3},"path":["lib","path","hasPrefix"],"pos_type":"Attribute"}},"content":{"content":"\nWhether the first path is a component-wise prefix of the second path.\nLaws:\n- `hasPrefix p q` is only true if [`q == append p s`](#function-library-lib.path.append) for some [subpath](#function-library-lib.path.subpath.isValid) `s`.\n- `hasPrefix` is a [non-strict partial order](https://en.wikipedia.org/wiki/Partially_ordered_set#Non-strict_partial_order) over the set of all path values.\n\n# Example\n\n```nix\nhasPrefix /foo /foo/bar\n=> true\nhasPrefix /foo /foo\n=> true\nhasPrefix /foo/bar /foo\n=> false\nhasPrefix /. /foo\n=> true\n```\n\n# Type\n\n```\nhasPrefix :: Path -> Path -> Bool\n```\n\n# Arguments\n\n- [path1] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":214,"column":3},"path":["lib","path","hasPrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.path.removePrefix","path":["lib","path","removePrefix"],"aliases":[["lib","removePrefix"],["lib","lists","removePrefix"],["lib","strings","removePrefix"]],"signature":"removePrefix :: Path -> Path -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":267,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":268,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":267,"column":3},"path":["lib","path","removePrefix"],"pos_type":"Attribute"}},"content":{"content":"\nRemove the first path as a component-wise prefix from the second path.\nThe result is a [normalised subpath string](#function-library-lib.path.subpath.normalise).\nLaws:\n- Inverts [`append`](#function-library-lib.path.append) for [normalised subpath string](#function-library-lib.path.subpath.normalise):\nremovePrefix p (append p s) == subpath.normalise s\n\n# Example\n\n```nix\nremovePrefix /foo /foo/bar/baz\n=> \"./bar/baz\"\nremovePrefix /foo /foo\n=> \"./.\"\nremovePrefix /foo/bar /foo\n=> <error>\nremovePrefix /. /foo\n=> \"./foo\"\n```\n\n# Type\n\n```\nremovePrefix :: Path -> Path -> String\n```\n\n# Arguments\n\n- [path1] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":267,"column":3},"path":["lib","path","removePrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.path.splitRoot","path":["lib","path","splitRoot"],"aliases":[],"signature":"splitRoot :: Path -> { root :: Path, subpath :: String }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":336,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":338,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":336,"column":3},"path":["lib","path","splitRoot"],"pos_type":"Attribute"}},"content":{"content":"\nSplit the filesystem root from a [path](https://nixos.org/manual/nix/stable/language/values.html#type-path).\nThe result is an attribute set with these attributes:\n- `root`: The filesystem root of the path, meaning that this directory has no parent directory.\n- `subpath`: The [normalised subpath string](#function-library-lib.path.subpath.normalise) that when [appended](#function-library-lib.path.append) to `root` returns the original path.\nLaws:\n- [Appending](#function-library-lib.path.append) the `root` and `subpath` gives the original path:\np ==\nappend\n(splitRoot p).root\n(splitRoot p).subpath\n- Trying to get the parent directory of `root` using [`readDir`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-readDir) returns `root` itself:\ndirOf (splitRoot p).root == (splitRoot p).root\n\n# Example\n\n```nix\nsplitRoot /foo/bar\n=> { root = /.; subpath = \"./foo/bar\"; }\nsplitRoot /.\n=> { root = /.; subpath = \"./.\"; }\n# Nix neutralises `..` path components for all path values automatically\nsplitRoot /foo/../bar\n=> { root = /.; subpath = \"./bar\"; }\nsplitRoot \"/foo/bar\"\n=> <error>\n```\n\n# Type\n\n```\nsplitRoot :: Path -> { root :: Path, subpath :: String }\n```\n\n# Arguments\n\n- [path] The path to split the root off of\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":336,"column":3},"path":["lib","path","splitRoot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sources.canCleanSource","path":["lib","sources","canCleanSource"],"aliases":[["lib","canCleanSource"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":283,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":283,"column":20},"path":["lib","sources","canCleanSource"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":283,"column":20},"path":["lib","sources","canCleanSource"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.cleanSource","path":["lib","sources","cleanSource"],"aliases":[["lib","cleanSource"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":63,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":63,"column":17},"path":["lib","sources","cleanSource"],"pos_type":"Lambda"}},"content":{"content":"\nFilters a source tree removing version control files and directories using cleanSourceFilter.\n\n# Example\n\n```nix\ncleanSource ./.\n```\n\n# Arguments\n\n- [src] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":63,"column":17},"path":["lib","sources","cleanSource"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.cleanSourceFilter","path":["lib","sources","cleanSourceFilter"],"aliases":[["lib","cleanSourceFilter"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":32,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":32,"column":23},"path":["lib","sources","cleanSourceFilter"],"pos_type":"Lambda"}},"content":{"content":"\nA basic filter for `cleanSourceWith` that removes\ndirectories of version control system, backup files (*~)\nand some generated files.\n\n# Arguments\n\n- [name] \n- [type] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":32,"column":23},"path":["lib","sources","cleanSourceFilter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.cleanSourceWith","path":["lib","sources","cleanSourceWith"],"aliases":[["lib","cleanSourceWith"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":90,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":90,"column":5},"path":["lib","sources","cleanSourceWith"],"pos_type":"Lambda"}},"content":{"content":"\nLike `builtins.filterSource`, except it will compose with itself,\nallowing you to chain multiple calls together without any\nintermediate copies being put in the nix store.\n\n# Example\n\n```nix\nlib.cleanSourceWith {\n filter = f;\n src = lib.cleanSourceWith {\n filter = g;\n src = ./.;\n };\n}\n# Succeeds!\nbuiltins.filterSource f (builtins.filterSource g ./.)\n# Fails!\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":90,"column":5},"path":["lib","sources","cleanSourceWith"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.commitIdFromGitRepo","path":["lib","sources","commitIdFromGitRepo"],"aliases":[["lib","commitIdFromGitRepo"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":220,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":220,"column":25},"path":["lib","sources","commitIdFromGitRepo"],"pos_type":"Lambda"}},"content":{"content":"\nGet the commit id of a git repo.\n\n# Example\n\n```nix\ncommitIdFromGitRepo <nixpkgs/.git>\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":220,"column":25},"path":["lib","sources","commitIdFromGitRepo"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.pathHasContext","path":["lib","sources","pathHasContext"],"aliases":[["builtins","hasContext"],["lib","pathHasContext"]],"signature":null,"is_primop":true,"primop_meta":{"name":"hasContext","args":["s"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","sources","pathHasContext"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if string *s* has a non-empty context. The\ncontext can be obtained with\n[`getContext`](#builtins-getContext).\n","source":{"position":null,"path":["lib","sources","pathHasContext"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.pathIsDirectory","path":["lib","sources","pathIsDirectory"],"aliases":[["lib","pathIsDirectory"],["lib","filesystem","pathIsDirectory"]],"signature":"pathIsDirectory :: Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":323,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"path":["lib","filesystem","pathIsDirectory"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a path exists and is a directory.\n\n# Example\n\n```nix\npathIsDirectory /.\n=> true\npathIsDirectory /this/does/not/exist\n=> false\npathIsDirectory /some/file.nix\n=> false\n```\n\n# Type\n\n```\npathIsDirectory :: Path -> Bool\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":79,"column":3},"path":["lib","filesystem","pathIsDirectory"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sources.pathIsGitRepo","path":["lib","sources","pathIsGitRepo"],"aliases":[["lib","pathIsGitRepo"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":204,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":204,"column":19},"path":["lib","sources","pathIsGitRepo"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":204,"column":19},"path":["lib","sources","pathIsGitRepo"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.pathIsRegularFile","path":["lib","sources","pathIsRegularFile"],"aliases":[["lib","pathIsRegularFile"],["lib","filesystem","pathIsRegularFile"]],"signature":"pathIsRegularFile :: Path -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":327,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"path":["lib","filesystem","pathIsRegularFile"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a path exists and is a regular file, meaning not a symlink or any other special file type.\n\n# Example\n\n```nix\npathIsRegularFile /.\n=> false\npathIsRegularFile /this/does/not/exist\n=> false\npathIsRegularFile /some/file.nix\n=> true\n```\n\n# Type\n\n```\npathIsRegularFile :: Path -> Bool\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":107,"column":3},"path":["lib","filesystem","pathIsRegularFile"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sources.pathType","path":["lib","sources","pathType"],"aliases":[["builtins","readFileType"],["lib","pathType"],["lib","filesystem","pathType"]],"signature":"pathType :: Path -> String\n","is_primop":true,"primop_meta":{"name":"readFileType","args":["p"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":319,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}},"content":{"content":"\nThe type of a path. The path needs to exist and be accessible.\nThe result is either \"directory\" for a directory, \"regular\" for a regular file, \"symlink\" for a symlink, or \"unknown\" for anything else.\n\n# Example\n\n```nix\npathType /.\n=> \"directory\"\npathType /some/file.nix\n=> \"regular\"\n```\n\n# Type\n\n```\npathType :: Path -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/filesystem.nix","line":38,"column":3},"path":["lib","filesystem","pathType"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.sources.sourceByRegex","path":["lib","sources","sourceByRegex"],"aliases":[["lib","sourceByRegex"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":159,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":159,"column":19},"path":["lib","sources","sourceByRegex"],"pos_type":"Lambda"}},"content":{"content":"\nFilter sources by a list of regular expressions.\n\n# Example\n\n```nix\nsrc = sourceByRegex ./my-subproject [\".*\\.py$\" \"^database.sql$\"]\n```\n\n# Arguments\n\n- [src] \n- [regexes] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":159,"column":19},"path":["lib","sources","sourceByRegex"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.sourceFilesBySuffices","path":["lib","sources","sourceFilesBySuffices"],"aliases":[["lib","sourceFilesBySuffices"]],"signature":"sourceLike -> [String] -> Source\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":196,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":196,"column":5},"path":["lib","sources","sourceFilesBySuffices"],"pos_type":"Lambda"}},"content":{"content":"\nGet all files ending with the specified suffices from the given\nsource directory or its descendants, omitting files that do not match\nany suffix. The result of the example below will include files like\n`./dir/module.c` and `./dir/subdir/doc.xml` if present.\n\n# Example\n\n```nix\nsourceFilesBySuffices ./. [ \".xml\" \".c\" ]\n```\n\n# Type\n\n```\nsourceLike -> [String] -> Source\n```\n\n# Arguments\n\n- [src] Path or source containing the files to be returned\n- [exts] A list of file suffix strings\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":196,"column":5},"path":["lib","sources","sourceFilesBySuffices"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.sources.trace","path":["lib","sources","trace"],"aliases":[["lib","fileset","trace"]],"signature":"trace :: FileSet -> Any -> Any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":331,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/sources.nix","line":128,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":612,"column":3},"path":["lib","fileset","trace"],"pos_type":"Attribute"}},"content":{"content":"\nIncrementally evaluate and trace a file set in a pretty way.\nThis function is only intended for debugging purposes.\nThe exact tracing format is unspecified and may change.\nThis function takes a final argument to return.\nIn comparison, [`traceVal`](#function-library-lib.fileset.traceVal) returns\nthe given file set argument.\nThis variant is useful for tracing file sets in the Nix repl.\n\n# Example\n\n```nix\ntrace (unions [ ./Makefile ./src ./tests/run.sh ]) null\n=>\ntrace: /home/user/src/myProject\ntrace: - Makefile (regular)\ntrace: - src (all files in directory)\ntrace: - tests\ntrace: - run.sh (regular)\nnull\n```\n\n# Type\n\n```\ntrace :: FileSet -> Any -> Any\n```\n\n# Arguments\n\n- [fileset] The file set to trace. \n This argument can also be a path,\n which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fileset/default.nix","line":612,"column":3},"path":["lib","fileset","trace"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.addContextFrom","path":["lib","strings","addContextFrom"],"aliases":[["lib","addContextFrom"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":3},"path":["lib","strings","addContextFrom"],"pos_type":"Attribute"}},"content":{"content":"\nAppends string context from another string. This is an implementation\ndetail of Nix and should be used carefully.\nStrings in Nix carry an invisible `context` which is a list of strings\nrepresenting store paths. If the string is later used in a derivation\nattribute, the derivation will properly populate the inputDrvs and\ninputSrcs.\n\n# Example\n\n```nix\npkgs = import <nixpkgs> { };\naddContextFrom pkgs.coreutils \"bar\"\n=> \"bar\"\n```\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1018,"column":3},"path":["lib","strings","addContextFrom"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.charToInt","path":["lib","strings","charToInt"],"aliases":[],"signature":"charToInt :: string -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":650,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":650,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":650,"column":3},"path":["lib","strings","charToInt"],"pos_type":"Attribute"}},"content":{"content":"\nConvert char to ascii value, must be in printable range\n\n# Example\n\n```nix\ncharToInt \"A\"\n=> 65\ncharToInt \"(\"\n=> 40\n```\n\n# Type\n\n```\ncharToInt :: string -> int\n```\n\n# Arguments\n\n- [c] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":650,"column":3},"path":["lib","strings","charToInt"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.cmakeBool","path":["lib","strings","cmakeBool"],"aliases":[["lib","cmakeBool"]],"signature":"cmakeBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":3},"path":["lib","strings","cmakeBool"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<condition>={TRUE,FALSE} string that can be passed to typical\nCMake invocations.\n\n# Example\n\n```nix\ncmakeBool \"ENABLE_STATIC_LIBS\" false\n=> \"-DENABLESTATIC_LIBS:BOOL=FALSE\"\n```\n\n# Type\n\n```\ncmakeBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n```\n\n# Arguments\n\n- [condition] \n- [flag] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1321,"column":3},"path":["lib","strings","cmakeBool"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.cmakeFeature","path":["lib","strings","cmakeFeature"],"aliases":[["lib","cmakeFeature"]],"signature":"cmakeFeature :: string -> string -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":3},"path":["lib","strings","cmakeFeature"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<feature>:STRING=<value> string that can be passed to typical\nCMake invocations.\nThis is the most typical usage, so it deserves a special case.\n\n# Example\n\n```nix\ncmakeFeature \"MODULES\" \"badblock\"\n=> \"-DMODULES:STRING=badblock\"\n```\n\n# Type\n\n```\ncmakeFeature :: string -> string -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n```\n\n# Arguments\n\n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1352,"column":3},"path":["lib","strings","cmakeFeature"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.cmakeOptionType","path":["lib","strings","cmakeOptionType"],"aliases":[["lib","cmakeOptionType"]],"signature":"cmakeOptionType :: string -> string -> string -> string\n @param feature The feature to be set\n @param type The type of the feature to be set, as described in\n https://cmake.org/cmake/help/latest/command/set.html\n the possible values (case insensitive) are:\n BOOL FILEPATH PATH STRING INTERNAL\n @param value The desired value\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":3},"path":["lib","strings","cmakeOptionType"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a \"-D<feature>:<type>=<value>\" string that can be passed to typical\nCMake invocations.\n\n# Example\n\n```nix\ncmakeOptionType \"string\" \"ENGINE\" \"sdl2\"\n=> \"-DENGINE:STRING=sdl2\"\n```\n\n# Type\n\n```\ncmakeOptionType :: string -> string -> string -> string\n @param feature The feature to be set\n @param type The type of the feature to be set, as described in\n https://cmake.org/cmake/help/latest/command/set.html\n the possible values (case insensitive) are:\n BOOL FILEPATH PATH STRING INTERNAL\n @param value The desired value\n```\n\n# Arguments\n\n- [type] \n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1289,"column":3},"path":["lib","strings","cmakeOptionType"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.commonPrefixLength","path":["lib","strings","commonPrefixLength"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1965,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1965,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1965,"column":3},"path":["lib","strings","commonPrefixLength"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the length of the prefix common to both strings.\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1965,"column":3},"path":["lib","strings","commonPrefixLength"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.commonSuffixLength","path":["lib","strings","commonSuffixLength"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1980,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1980,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1980,"column":3},"path":["lib","strings","commonSuffixLength"],"pos_type":"Attribute"}},"content":{"content":"\nReturns the length of the suffix common to both strings.\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1980,"column":3},"path":["lib","strings","commonSuffixLength"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.compareVersions","path":["lib","strings","compareVersions"],"aliases":[["builtins","compareVersions"]],"signature":null,"is_primop":true,"primop_meta":{"name":"compareVersions","args":["s1","s2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","compareVersions"],"pos_type":"Lambda"}},"content":{"content":"\nCompare two strings representing versions and return `-1` if\nversion *s1* is older than version *s2*, `0` if they are the same,\nand `1` if *s1* is newer than *s2*. The version comparison\nalgorithm is the same as the one used by [`nix-env\n-u`](../command-ref/nix-env.md#operation---upgrade).\n","source":{"position":null,"path":["lib","strings","compareVersions"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.concatImapStrings","path":["lib","strings","concatImapStrings"],"aliases":[["lib","concatImapStrings"]],"signature":"concatImapStrings :: (int -> a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":3},"path":["lib","strings","concatImapStrings"],"pos_type":"Attribute"}},"content":{"content":"\nLike `concatMapStrings` except that the f functions also gets the\nposition as a parameter.\n\n# Example\n\n```nix\nconcatImapStrings (pos: x: \"${toString pos}-${x}\") [\"foo\" \"bar\"]\n=> \"1-foo2-bar\"\n```\n\n# Type\n\n```\nconcatImapStrings :: (int -> a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":109,"column":3},"path":["lib","strings","concatImapStrings"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.concatImapStringsSep","path":["lib","strings","concatImapStringsSep"],"aliases":[["lib","concatImapStringsSep"]],"signature":"concatIMapStringsSep :: string -> (int -> a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":218,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":220,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":218,"column":3},"path":["lib","strings","concatImapStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nSame as `concatMapStringsSep`, but the mapping function\nadditionally receives the position of its argument.\n\n# Example\n\n```nix\nconcatImapStringsSep \"-\" (pos: x: toString (x / pos)) [ 6 6 6 ]\n=> \"6-3-2\"\n```\n\n# Type\n\n```\nconcatIMapStringsSep :: string -> (int -> a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [sep] Separator to add between elements\n- [f] Function that receives elements and their positions\n- [list] List of input strings\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":218,"column":3},"path":["lib","strings","concatImapStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.concatLines","path":["lib","strings","concatLines"],"aliases":[["lib","concatLines"]],"signature":"concatLines :: [string] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":243,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":25},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":243,"column":3},"path":["lib","strings","concatLines"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings, adding a newline at the end of each one.\nDefined as `concatMapStrings (s: s + \"\\n\")`.\n\n# Example\n\n```nix\nconcatLines [ \"foo\" \"bar\" ]\n=> \"foo\\nbar\\n\"\n```\n\n# Type\n\n```\nconcatLines :: [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":243,"column":3},"path":["lib","strings","concatLines"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.concatMapStrings","path":["lib","strings","concatMapStrings"],"aliases":[["lib","concatMapStrings"]],"signature":"concatMapStrings :: (a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":3},"path":["lib","strings","concatMapStrings"],"pos_type":"Attribute"}},"content":{"content":"\nMap a function over a list and concatenate the resulting strings.\n\n# Example\n\n```nix\nconcatMapStrings (x: \"a\" + x) [\"foo\" \"bar\"]\n=> \"afooabar\"\n```\n\n# Type\n\n```\nconcatMapStrings :: (a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [f] \n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":84,"column":3},"path":["lib","strings","concatMapStrings"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.concatMapStringsSep","path":["lib","strings","concatMapStringsSep"],"aliases":[["lib","concatMapStringsSep"]],"signature":"concatMapStringsSep :: string -> (a -> string) -> [a] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":186,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":188,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":186,"column":3},"path":["lib","strings","concatMapStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nMaps a function over a list of strings and then concatenates the\nresult with the specified separator interspersed between\nelements.\n\n# Example\n\n```nix\nconcatMapStringsSep \"-\" (x: toUpper x) [\"foo\" \"bar\" \"baz\"]\n=> \"FOO-BAR-BAZ\"\n```\n\n# Type\n\n```\nconcatMapStringsSep :: string -> (a -> string) -> [a] -> string\n```\n\n# Arguments\n\n- [sep] Separator to add between elements\n- [f] Function to map over the list\n- [list] List of input strings\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":186,"column":3},"path":["lib","strings","concatMapStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.concatStrings","path":["lib","strings","concatStrings"],"aliases":[["lib","concatStrings"]],"signature":"concatStrings :: [string] -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":60,"column":3},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":60,"column":3},"path":["lib","strings","concatStrings"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings.\n\n# Example\n\n```nix\nconcatStrings [\"foo\" \"bar\"]\n=> \"foobar\"\n```\n\n# Type\n\n```\nconcatStrings :: [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":60,"column":3},"path":["lib","strings","concatStrings"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.concatStringsSep","path":["lib","strings","concatStringsSep"],"aliases":[["builtins","concatStringsSep"],["lib","concatStringsSep"]],"signature":"concatStringsSep :: string -> [string] -> string\n","is_primop":true,"primop_meta":{"name":"concatStringsSep","args":["separator","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"path":["lib","strings","concatStringsSep"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate a list of strings with a separator between each element\n\n# Example\n\n```nix\nconcatStringsSep \"/\" [\"usr\" \"local\" \"bin\"]\n=> \"usr/local/bin\"\n```\n\n# Type\n\n```\nconcatStringsSep :: string -> [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":158,"column":3},"path":["lib","strings","concatStringsSep"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.elem","path":["lib","strings","elem"],"aliases":[["builtins","elem"],["lib","elem"],["lib","lists","elem"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elem","args":["x","xs"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","elem"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if a value equal to *x* occurs in the list *xs*, and\n`false` otherwise.\n","source":{"position":null,"path":["lib","strings","elem"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.elemAt","path":["lib","strings","elemAt"],"aliases":[["builtins","elemAt"],["lib","elemAt"],["lib","lists","elemAt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"elemAt","args":["xs","n"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","elemAt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn element *n* from the list *xs*. Elements are counted starting\nfrom 0. A fatal error occurs if the index is out of bounds.\n","source":{"position":null,"path":["lib","strings","elemAt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.enableFeature","path":["lib","strings","enableFeature"],"aliases":[["lib","enableFeature"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":3},"path":["lib","strings","enableFeature"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{enable,disable}-<feature> string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nenableFeature true \"shared\"\n=> \"--enable-shared\"\nenableFeature false \"shared\"\n=> \"--disable-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1470,"column":3},"path":["lib","strings","enableFeature"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.enableFeatureAs","path":["lib","strings","enableFeatureAs"],"aliases":[["lib","enableFeatureAs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":3},"path":["lib","strings","enableFeatureAs"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{enable-<feature>=<value>,disable-<feature>} string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nenableFeatureAs true \"shared\" \"foo\"\n=> \"--enable-shared=foo\"\nenableFeatureAs false \"shared\" (throw \"ignored\")\n=> \"--disable-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1495,"column":3},"path":["lib","strings","enableFeatureAs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escape","path":["lib","strings","escape"],"aliases":[["lib","escape"]],"signature":"escape :: [string] -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":3},"path":["lib","strings","escape"],"pos_type":"Attribute"}},"content":{"content":"\nEscape occurrence of the elements of `list` in `string` by\nprefixing it with a backslash.\n\n# Example\n\n```nix\nescape [\"(\" \")\"] \"(foo)\"\n=> \"\\\\(foo\\\\)\"\n```\n\n# Type\n\n```\nescape :: [string] -> string -> string\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":674,"column":3},"path":["lib","strings","escape"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeC","path":["lib","strings","escapeC"],"aliases":[],"signature":"escapeC = [string] -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":699,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":699,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":699,"column":3},"path":["lib","strings","escapeC"],"pos_type":"Attribute"}},"content":{"content":"\nEscape occurrence of the element of `list` in `string` by\nconverting to its ASCII value and prefixing it with \\\\x.\nOnly works for printable ascii characters.\n\n# Example\n\n```nix\nescapeC [\" \"] \"foo bar\"\n=> \"foo\\\\x20bar\"\n```\n\n# Type\n\n```\nescapeC = [string] -> string -> string\n```\n\n# Arguments\n\n- [list] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":699,"column":3},"path":["lib","strings","escapeC"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeNixIdentifier","path":["lib","strings","escapeNixIdentifier"],"aliases":[],"signature":"string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":927,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":927,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":927,"column":3},"path":["lib","strings","escapeNixIdentifier"],"pos_type":"Attribute"}},"content":{"content":"\nQuotes a string if it can't be used as an identifier directly.\n\n# Example\n\n```nix\nescapeNixIdentifier \"hello\"\n=> \"hello\"\nescapeNixIdentifier \"0abc\"\n=> \"\\\"0abc\\\"\"\n```\n\n# Type\n\n```\nstring -> string\n```\n\n# Arguments\n\n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":927,"column":3},"path":["lib","strings","escapeNixIdentifier"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeNixString","path":["lib","strings","escapeNixString"],"aliases":[],"signature":"string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":884,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":884,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":884,"column":3},"path":["lib","strings","escapeNixString"],"pos_type":"Attribute"}},"content":{"content":"\nTurn a string into a Nix expression representing that string\n\n# Example\n\n```nix\nescapeNixString \"hello\\${}\\n\"\n=> \"\\\"hello\\\\\\${}\\\\n\\\"\"\n```\n\n# Type\n\n```\nstring -> string\n```\n\n# Arguments\n\n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":884,"column":3},"path":["lib","strings","escapeNixString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeRegex","path":["lib","strings","escapeRegex"],"aliases":[["lib","escapeRegex"]],"signature":"string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":902,"column":3},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":902,"column":3},"path":["lib","strings","escapeRegex"],"pos_type":"Attribute"}},"content":{"content":"\nTurn a string into an exact regular expression\n\n# Example\n\n```nix\nescapeRegex \"[^a-z]*\"\n=> \"\\\\[\\\\^a-z]\\\\*\"\n```\n\n# Type\n\n```\nstring -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":902,"column":3},"path":["lib","strings","escapeRegex"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeShellArg","path":["lib","strings","escapeShellArg"],"aliases":[["lib","escapeShellArg"]],"signature":"escapeShellArg :: string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":3},"path":["lib","strings","escapeShellArg"],"pos_type":"Attribute"}},"content":{"content":"\nQuote string to be used safely within the Bourne shell.\n\n# Example\n\n```nix\nescapeShellArg \"esc'ape\\nme\"\n=> \"'esc'\\\\''ape\\nme'\"\n```\n\n# Type\n\n```\nescapeShellArg :: string -> string\n```\n\n# Arguments\n\n- [arg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":745,"column":3},"path":["lib","strings","escapeShellArg"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeShellArgs","path":["lib","strings","escapeShellArgs"],"aliases":[["lib","escapeShellArgs"]],"signature":"escapeShellArgs :: [string] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":763,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":192,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":763,"column":3},"path":["lib","strings","escapeShellArgs"],"pos_type":"Attribute"}},"content":{"content":"\nQuote all arguments to be safely passed to the Bourne shell.\n\n# Example\n\n```nix\nescapeShellArgs [\"one\" \"two three\" \"four'five\"]\n=> \"'one' 'two three' 'four'\\\\''five'\"\n```\n\n# Type\n\n```\nescapeShellArgs :: [string] -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":763,"column":3},"path":["lib","strings","escapeShellArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeURL","path":["lib","strings","escapeURL"],"aliases":[["lib","escapeURL"]],"signature":"escapeURL :: string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":718,"column":3},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":718,"column":3},"path":["lib","strings","escapeURL"],"pos_type":"Attribute"}},"content":{"content":"\nEscape the string so it can be safely placed inside a URL\nquery.\n\n# Example\n\n```nix\nescapeURL \"foo/bar baz\"\n=> \"foo%2Fbar%20baz\"\n```\n\n# Type\n\n```\nescapeURL :: string -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":718,"column":3},"path":["lib","strings","escapeURL"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.escapeXML","path":["lib","strings","escapeXML"],"aliases":[["lib","escapeXML"]],"signature":"string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":949,"column":3},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":949,"column":3},"path":["lib","strings","escapeXML"],"pos_type":"Attribute"}},"content":{"content":"\nEscapes a string such that it is safe to include verbatim in an XML\ndocument.\n\n# Example\n\n```nix\nescapeXML ''\"test\" 'test' < & >''\n=> \"&quot;test&quot; &apos;test&apos; &lt; &amp; &gt;\"\n```\n\n# Type\n\n```\nstring -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":949,"column":3},"path":["lib","strings","escapeXML"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.fileContents","path":["lib","strings","fileContents"],"aliases":[["lib","fileContents"]],"signature":"fileContents :: path -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":3},"path":["lib","strings","fileContents"],"pos_type":"Attribute"}},"content":{"content":"\nRead the contents of a file removing the trailing \\n\n\n# Example\n\n```nix\n$ echo \"1.0\" > ./version\nfileContents ./version\n=> \"1.0\"\n```\n\n# Type\n\n```\nfileContents :: path -> string\n```\n\n# Arguments\n\n- [file] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1861,"column":3},"path":["lib","strings","fileContents"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.filter","path":["lib","strings","filter"],"aliases":[["builtins","filter"],["lib","filter"],["lib","lists","filter"]],"signature":null,"is_primop":true,"primop_meta":{"name":"filter","args":["f","list"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","filter"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a list consisting of the elements of *list* for which the\nfunction *f* returns `true`.\n","source":{"position":null,"path":["lib","strings","filter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.fixedWidthNumber","path":["lib","strings","fixedWidthNumber"],"aliases":[["lib","fixedWidthNumber"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":3},"path":["lib","strings","fixedWidthNumber"],"pos_type":"Attribute"}},"content":{"content":"\nFormat a number adding leading zeroes up to fixed width.\n\n# Example\n\n```nix\nfixedWidthNumber 5 15\n=> \"00015\"\n```\n\n# Arguments\n\n- [width] \n- [n] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1597,"column":3},"path":["lib","strings","fixedWidthNumber"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.fixedWidthString","path":["lib","strings","fixedWidthString"],"aliases":[["lib","fixedWidthString"]],"signature":"fixedWidthString :: int -> string -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":3},"path":["lib","strings","fixedWidthString"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a fixed width string with additional prefix to match\nrequired width.\nThis function will fail if the input string is longer than the\nrequested length.\n\n# Example\n\n```nix\nfixedWidthString 5 \"0\" (toString 15)\n=> \"00015\"\n```\n\n# Type\n\n```\nfixedWidthString :: int -> string -> string -> string\n```\n\n# Arguments\n\n- [width] \n- [filler] \n- [str] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1570,"column":3},"path":["lib","strings","fixedWidthString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.floatToString","path":["lib","strings","floatToString"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1618,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1618,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1618,"column":3},"path":["lib","strings","floatToString"],"pos_type":"Attribute"}},"content":{"content":"\nConvert a float to a string, but emit a warning when precision is lost\nduring the conversion\n\n# Example\n\n```nix\nfloatToString 0.000001\n=> \"0.000001\"\nfloatToString 0.0000001\n=> trace: warning: Imprecise conversion from float to string 0.000000\n \"0.000000\"\n```\n\n# Arguments\n\n- [float] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1618,"column":3},"path":["lib","strings","floatToString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.fromJSON","path":["lib","strings","fromJSON"],"aliases":[["builtins","fromJSON"]],"signature":null,"is_primop":true,"primop_meta":{"name":"fromJSON","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","fromJSON"],"pos_type":"Lambda"}},"content":{"content":"\nConvert a JSON string to a Nix value. For example,\n\n```nix\nbuiltins.fromJSON ''{\"x\": [1, 2, 3], \"y\": null}''\n```\n\nreturns the value `{ x = [ 1 2 3 ]; y = null; }`.\n","source":{"position":null,"path":["lib","strings","fromJSON"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.genList","path":["lib","strings","genList"],"aliases":[["builtins","genList"],["lib","genList"],["lib","lists","genList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genList","args":["generator","length"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","genList"],"pos_type":"Lambda"}},"content":{"content":"\nGenerate list of size *length*, with each element *i* equal to the\nvalue returned by *generator* `i`. For example,\n\n```nix\nbuiltins.genList (x: x * x) 5\n```\n\nreturns the list `[ 0 1 4 9 16 ]`.\n","source":{"position":null,"path":["lib","strings","genList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.getName","path":["lib","strings","getName"],"aliases":[["lib","getName"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":3},"path":["lib","strings","getName"],"pos_type":"Attribute"}},"content":{"content":"\nThis function takes an argument that's either a derivation or a\nderivation's \"name\" attribute and extracts the name part from that\nargument.\n\n# Example\n\n```nix\ngetName \"youtube-dl-2016.01.01\"\n=> \"youtube-dl\"\ngetName pkgs.youtube-dl\n=> \"youtube-dl\"\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1200,"column":3},"path":["lib","strings","getName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.getVersion","path":["lib","strings","getVersion"],"aliases":[["lib","getVersion"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":3},"path":["lib","strings","getVersion"],"pos_type":"Attribute"}},"content":{"content":"\nThis function takes an argument that's either a derivation or a\nderivation's \"name\" attribute and extracts the version part from that\nargument.\n\n# Example\n\n```nix\ngetVersion \"youtube-dl-2016.01.01\"\n=> \"2016.01.01\"\ngetVersion pkgs.youtube-dl\n=> \"2016.01.01\"\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1226,"column":3},"path":["lib","strings","getVersion"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.hasInfix","path":["lib","strings","hasInfix"],"aliases":[["lib","hasInfix"]],"signature":"hasInfix :: string -> string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":3},"path":["lib","strings","hasInfix"],"pos_type":"Attribute"}},"content":{"content":"\nDetermine whether a string contains the given infix\n\n# Example\n\n```nix\nhasInfix \"bc\" \"abcd\"\n=> true\nhasInfix \"ab\" \"abcd\"\n=> true\nhasInfix \"cd\" \"abcd\"\n=> true\nhasInfix \"foo\" \"abcd\"\n=> false\n```\n\n# Type\n\n```\nhasInfix :: string -> string -> bool\n```\n\n# Arguments\n\n- [infix] \n- [content] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":550,"column":3},"path":["lib","strings","hasInfix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.hasPrefix","path":["lib","strings","hasPrefix"],"aliases":[["lib","hasPrefix"],["lib","lists","hasPrefix"],["lib","path","hasPrefix"]],"signature":"hasPrefix :: string -> string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":458,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":460,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":458,"column":3},"path":["lib","strings","hasPrefix"],"pos_type":"Attribute"}},"content":{"content":"\nDetermine whether a string has given prefix.\n\n# Example\n\n```nix\nhasPrefix \"foo\" \"foobar\"\n=> true\nhasPrefix \"foo\" \"barfoo\"\n=> false\n```\n\n# Type\n\n```\nhasPrefix :: string -> string -> bool\n```\n\n# Arguments\n\n- [pref] Prefix to check for\n- [str] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":458,"column":3},"path":["lib","strings","hasPrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.hasSuffix","path":["lib","strings","hasSuffix"],"aliases":[["lib","hasSuffix"]],"signature":"hasSuffix :: string -> string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":499,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":501,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":499,"column":3},"path":["lib","strings","hasSuffix"],"pos_type":"Attribute"}},"content":{"content":"\nDetermine whether a string has given suffix.\n\n# Example\n\n```nix\nhasSuffix \"foo\" \"foobar\"\n=> false\nhasSuffix \"foo\" \"barfoo\"\n=> true\n```\n\n# Type\n\n```\nhasSuffix :: string -> string -> bool\n```\n\n# Arguments\n\n- [suffix] Suffix to check for\n- [content] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":499,"column":3},"path":["lib","strings","hasSuffix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.head","path":["lib","strings","head"],"aliases":[["builtins","head"],["lib","head"],["lib","lists","head"]],"signature":null,"is_primop":true,"primop_meta":{"name":"head","args":["list"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","head"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the first element of a list; abort evaluation if the argument\nisnt a list or is an empty list. You can test whether a list is\nempty by comparing it with `[]`.\n","source":{"position":null,"path":["lib","strings","head"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.intersperse","path":["lib","strings","intersperse"],"aliases":[["lib","intersperse"]],"signature":"intersperse :: a -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":133,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":135,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":133,"column":3},"path":["lib","strings","intersperse"],"pos_type":"Attribute"}},"content":{"content":"\nPlace an element between each element of a list\n\n# Example\n\n```nix\nintersperse \"/\" [\"usr\" \"local\" \"bin\"]\n=> [\"usr\" \"/\" \"local\" \"/\" \"bin\"].\n```\n\n# Type\n\n```\nintersperse :: a -> [a] -> [a]\n```\n\n# Arguments\n\n- [separator] Separator to add between elements\n- [list] Input list\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":133,"column":3},"path":["lib","strings","intersperse"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.isAttrs","path":["lib","strings","isAttrs"],"aliases":[["builtins","isAttrs"],["lib","isAttrs"],["lib","attrsets","isAttrs"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isAttrs","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","isAttrs"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a set, and `false` otherwise.\n","source":{"position":null,"path":["lib","strings","isAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.isCoercibleToString","path":["lib","strings","isCoercibleToString"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1628,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1642,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1628,"column":3},"path":["lib","strings","isCoercibleToString"],"pos_type":"Attribute"}},"content":{"content":"\nSoft-deprecated function. While the original implementation is available as\nisConvertibleWithToString, consider using isStringLike instead, if suitable.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1628,"column":3},"path":["lib","strings","isCoercibleToString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.isConvertibleWithToString","path":["lib","strings","isConvertibleWithToString"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1642,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1642,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1642,"column":3},"path":["lib","strings","isConvertibleWithToString"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether a list or other value can be passed to toString.\nMany types of value are coercible to string this way, including int, float,\nnull, bool, list of similarly coercible values.\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1642,"column":3},"path":["lib","strings","isConvertibleWithToString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.isInt","path":["lib","strings","isInt"],"aliases":[["builtins","isInt"],["lib","isInt"],["lib","trivial","isInt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isInt","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","isInt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to an integer, and `false` otherwise.\n","source":{"position":null,"path":["lib","strings","isInt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.isList","path":["lib","strings","isList"],"aliases":[["builtins","isList"],["lib","isList"],["lib","lists","isList"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isList","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","isList"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a list, and `false` otherwise.\n","source":{"position":null,"path":["lib","strings","isList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.isPath","path":["lib","strings","isPath"],"aliases":[["builtins","isPath"],["lib","isPath"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isPath","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","isPath"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a path, and `false` otherwise.\n","source":{"position":null,"path":["lib","strings","isPath"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.isStorePath","path":["lib","strings","isStorePath"],"aliases":[["lib","isStorePath"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":3},"path":["lib","strings","isStorePath"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether a value is a store path.\n\n# Example\n\n```nix\nisStorePath \"/nix/store/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11/bin/python\"\n=> false\nisStorePath \"/nix/store/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11\"\n=> true\nisStorePath pkgs.python\n=> true\nisStorePath [] || isStorePath 42 || isStorePath {} || …\n=> false\n```\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1685,"column":3},"path":["lib","strings","isStorePath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.isString","path":["lib","strings","isString"],"aliases":[["builtins","isString"],["lib","isString"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isString","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","isString"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a string, and `false` otherwise.\n","source":{"position":null,"path":["lib","strings","isString"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.isStringLike","path":["lib","strings","isStringLike"],"aliases":[["lib","isStringLike"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":3},"path":["lib","strings","isStringLike"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether a value can be coerced to a string.\nThe value must be a string, path, or attribute set.\nString-like values can be used without explicit conversion in\nstring interpolations and in most functions that expect a string.\n\n# Arguments\n\n- [x] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1658,"column":3},"path":["lib","strings","isStringLike"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.isValidPosixName","path":["lib","strings","isValidPosixName"],"aliases":[["lib","isValidPosixName"]],"signature":"string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":3},"path":["lib","strings","isValidPosixName"],"pos_type":"Attribute"}},"content":{"content":"\nTest whether the given name is a valid POSIX shell variable name.\n\n# Example\n\n```nix\nisValidPosixName \"foo_bar000\"\n=> true\nisValidPosixName \"0-bad.jpg\"\n=> false\n```\n\n# Type\n\n```\nstring -> bool\n```\n\n# Arguments\n\n- [name] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":788,"column":3},"path":["lib","strings","isValidPosixName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.levenshtein","path":["lib","strings","levenshtein"],"aliases":[],"signature":"levenshtein :: string -> string -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1937,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1937,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1937,"column":3},"path":["lib","strings","levenshtein"],"pos_type":"Attribute"}},"content":{"content":"\nComputes the Levenshtein distance between two strings.\nComplexity O(n*m) where n and m are the lengths of the strings.\nAlgorithm adjusted from https://stackoverflow.com/a/9750974/6605742\n\n# Example\n\n```nix\nlevenshtein \"foo\" \"foo\"\n=> 0\nlevenshtein \"book\" \"hook\"\n=> 1\nlevenshtein \"hello\" \"Heyo\"\n=> 3\n```\n\n# Type\n\n```\nlevenshtein :: string -> string -> int\n```\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1937,"column":3},"path":["lib","strings","levenshtein"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.levenshteinAtMost","path":["lib","strings","levenshteinAtMost"],"aliases":[],"signature":"levenshteinAtMost :: int -> string -> string -> bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":2011,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":2052,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":2011,"column":3},"path":["lib","strings","levenshteinAtMost"],"pos_type":"Attribute"}},"content":{"content":"\nReturns whether the levenshtein distance between two strings is at most some value\nComplexity is O(min(n,m)) for k <= 2 and O(n*m) otherwise\n\n# Example\n\n```nix\nlevenshteinAtMost 0 \"foo\" \"foo\"\n=> true\nlevenshteinAtMost 1 \"foo\" \"boa\"\n=> false\nlevenshteinAtMost 2 \"foo\" \"boa\"\n=> true\nlevenshteinAtMost 2 \"This is a sentence\" \"this is a sentense.\"\n=> false\nlevenshteinAtMost 3 \"This is a sentence\" \"this is a sentense.\"\n=> true\n```\n\n# Type\n\n```\nlevenshteinAtMost :: int -> string -> string -> bool\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":2011,"column":3},"path":["lib","strings","levenshteinAtMost"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.makeBinPath","path":["lib","strings","makeBinPath"],"aliases":[["lib","makeBinPath"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":365,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":336,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":365,"column":3},"path":["lib","strings","makeBinPath"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a binary search path (such as $PATH) containing the\nbinaries for a set of packages.\n\n# Example\n\n```nix\nmakeBinPath [\"/root\" \"/usr\" \"/usr/local\"]\n=> \"/root/bin:/usr/bin:/usr/local/bin\"\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":365,"column":3},"path":["lib","strings","makeBinPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.makeLibraryPath","path":["lib","strings","makeLibraryPath"],"aliases":[["lib","makeLibraryPath"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":352,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":336,"column":5},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":352,"column":3},"path":["lib","strings","makeLibraryPath"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a library search path (such as RPATH) containing the\nlibraries for a set of packages\n\n# Example\n\n```nix\nmakeLibraryPath [ \"/usr\" \"/usr/local\" ]\n=> \"/usr/lib:/usr/local/lib\"\npkgs = import <nixpkgs> { }\nmakeLibraryPath [ pkgs.openssl pkgs.zlib ]\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r/lib:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/lib\"\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":352,"column":3},"path":["lib","strings","makeLibraryPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.makeSearchPath","path":["lib","strings","makeSearchPath"],"aliases":[["lib","makeSearchPath"]],"signature":"makeSearchPath :: string -> [string] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":297,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":299,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":297,"column":3},"path":["lib","strings","makeSearchPath"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a Unix-style, colon-separated search path consisting of\nthe given `subDir` appended to each of the given paths.\n\n# Example\n\n```nix\nmakeSearchPath \"bin\" [\"/root\" \"/usr\" \"/usr/local\"]\n=> \"/root/bin:/usr/bin:/usr/local/bin\"\nmakeSearchPath \"bin\" [\"\"]\n=> \"/bin\"\n```\n\n# Type\n\n```\nmakeSearchPath :: string -> [string] -> string\n```\n\n# Arguments\n\n- [subDir] Directory name to append\n- [paths] List of base paths\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":297,"column":3},"path":["lib","strings","makeSearchPath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.makeSearchPathOutput","path":["lib","strings","makeSearchPathOutput"],"aliases":[["lib","makeSearchPathOutput"]],"signature":"string -> string -> [package] -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":330,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":332,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":330,"column":3},"path":["lib","strings","makeSearchPathOutput"],"pos_type":"Attribute"}},"content":{"content":"\nConstruct a Unix-style search path by appending the given\n`subDir` to the specified `output` of each of the packages. If no\noutput by the given name is found, fallback to `.out` and then to\nthe default.\n\n# Example\n\n```nix\nmakeSearchPathOutput \"dev\" \"bin\" [ pkgs.openssl pkgs.zlib ]\n=> \"/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin\"\n```\n\n# Type\n\n```\nstring -> string -> [package] -> string\n```\n\n# Arguments\n\n- [output] Package output to use\n- [subDir] Directory name to append\n- [pkgs] List of packages\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":330,"column":3},"path":["lib","strings","makeSearchPathOutput"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.match","path":["lib","strings","match"],"aliases":[["builtins","match"]],"signature":null,"is_primop":true,"primop_meta":{"name":"match","args":["regex","str"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","match"],"pos_type":"Lambda"}},"content":{"content":"\nReturns a list if the [extended POSIX regular\nexpression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)\n*regex* matches *str* precisely, otherwise returns `null`. Each item\nin the list is a regex group.\n\n```nix\nbuiltins.match \"ab\" \"abc\"\n```\n\nEvaluates to `null`.\n\n```nix\nbuiltins.match \"abc\" \"abc\"\n```\n\nEvaluates to `[ ]`.\n\n```nix\nbuiltins.match \"a(b)(c)\" \"abc\"\n```\n\nEvaluates to `[ \"b\" \"c\" ]`.\n\n```nix\nbuiltins.match \"[[:space:]]+([[:upper:]]+)[[:space:]]+\" \" FOO \"\n```\n\nEvaluates to `[ \"FOO\" ]`.\n","source":{"position":null,"path":["lib","strings","match"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.mesonBool","path":["lib","strings","mesonBool"],"aliases":[["lib","mesonBool"]],"signature":"mesonBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":3},"path":["lib","strings","mesonBool"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<condition>={true,false} string that can be passed to typical\nMeson invocations.\n\n# Example\n\n```nix\nmesonBool \"hardened\" true\n=> \"-Dhardened=true\"\nmesonBool \"static\" false\n=> \"-Dstatic=false\"\n```\n\n# Type\n\n```\nmesonBool :: string -> bool -> string\n @param condition The condition to be made true or false\n @param flag The controlling flag of the condition\n```\n\n# Arguments\n\n- [condition] \n- [flag] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1414,"column":3},"path":["lib","strings","mesonBool"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.mesonEnable","path":["lib","strings","mesonEnable"],"aliases":[["lib","mesonEnable"]],"signature":"mesonEnable :: string -> bool -> string\n @param feature The feature to be enabled or disabled\n @param flag The controlling flag\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":3},"path":["lib","strings","mesonEnable"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<feature>={enabled,disabled} string that can be passed to\ntypical Meson invocations.\n\n# Example\n\n```nix\nmesonEnable \"docs\" true\n=> \"-Ddocs=enabled\"\nmesonEnable \"savage\" false\n=> \"-Dsavage=disabled\"\n```\n\n# Type\n\n```\nmesonEnable :: string -> bool -> string\n @param feature The feature to be enabled or disabled\n @param flag The controlling flag\n```\n\n# Arguments\n\n- [feature] \n- [flag] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1446,"column":3},"path":["lib","strings","mesonEnable"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.mesonOption","path":["lib","strings","mesonOption"],"aliases":[["lib","mesonOption"]],"signature":"mesonOption :: string -> string -> string\n @param feature The feature to be set\n @param value The desired value\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":3},"path":["lib","strings","mesonOption"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a -D<feature>=<value> string that can be passed to typical Meson\ninvocations.\n\n# Example\n\n```nix\nmesonOption \"engine\" \"opengl\"\n=> \"-Dengine=opengl\"\n```\n\n# Type\n\n```\nmesonOption :: string -> string -> string\n @param feature The feature to be set\n @param value The desired value\n```\n\n# Arguments\n\n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1382,"column":3},"path":["lib","strings","mesonOption"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.nameFromURL","path":["lib","strings","nameFromURL"],"aliases":[["lib","nameFromURL"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":3},"path":["lib","strings","nameFromURL"],"pos_type":"Attribute"}},"content":{"content":"\nExtract name with version from URL. Ask for separator which is\nsupposed to start extension.\n\n# Example\n\n```nix\nnameFromURL \"https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2\" \"-\"\n=> \"nix\"\nnameFromURL \"https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2\" \"_\"\n=> \"nix-1.7-x86\"\n```\n\n# Arguments\n\n- [url] \n- [sep] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1252,"column":3},"path":["lib","strings","nameFromURL"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.normalizePath","path":["lib","strings","normalizePath"],"aliases":[],"signature":"normalizePath :: string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":388,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":388,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":388,"column":3},"path":["lib","strings","normalizePath"],"pos_type":"Attribute"}},"content":{"content":"\nNormalize path, removing extraneous /s\n\n# Example\n\n```nix\nnormalizePath \"/a//b///c/\"\n=> \"/a/b/c/\"\n```\n\n# Type\n\n```\nnormalizePath :: string -> string\n```\n\n# Arguments\n\n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":388,"column":3},"path":["lib","strings","normalizePath"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.optionalString","path":["lib","strings","optionalString"],"aliases":[["lib","optionalString"]],"signature":"optionalString :: bool -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":428,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":430,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":428,"column":3},"path":["lib","strings","optionalString"],"pos_type":"Attribute"}},"content":{"content":"\nDepending on the boolean `cond', return either the given string\nor the empty string. Useful to concatenate against a bigger string.\n\n# Example\n\n```nix\noptionalString true \"some-string\"\n=> \"some-string\"\noptionalString false \"some-string\"\n=> \"\"\n```\n\n# Type\n\n```\noptionalString :: bool -> string -> string\n```\n\n# Arguments\n\n- [cond] Condition\n- [string] String to return if condition is true\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":428,"column":3},"path":["lib","strings","optionalString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.parseDrvName","path":["lib","strings","parseDrvName"],"aliases":[["builtins","parseDrvName"]],"signature":null,"is_primop":true,"primop_meta":{"name":"parseDrvName","args":["s"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","parseDrvName"],"pos_type":"Lambda"}},"content":{"content":"\nSplit the string *s* into a package name and version. The package\nname is everything up to but not including the first dash not followed\nby a letter, and the version is everything following that dash. The\nresult is returned in a set `{ name, version }`. Thus,\n`builtins.parseDrvName \"nix-0.12pre12876\"` returns `{ name =\n\"nix\"; version = \"0.12pre12876\"; }`.\n","source":{"position":null,"path":["lib","strings","parseDrvName"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.readFile","path":["lib","strings","readFile"],"aliases":[["builtins","readFile"],["lib","readFile"],["lib","trivial","readFile"]],"signature":null,"is_primop":true,"primop_meta":{"name":"readFile","args":["path"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","readFile"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the contents of the file *path* as a string.\n","source":{"position":null,"path":["lib","strings","readFile"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.readPathsFromFile","path":["lib","strings","readPathsFromFile"],"aliases":[["lib","readPathsFromFile"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1829,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1830,"column":6},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1829,"column":3},"path":["lib","strings","readPathsFromFile"],"pos_type":"Attribute"}},"content":{"content":"\nRead a list of paths from `file`, relative to the `rootPath`.\nLines beginning with `#` are treated as comments and ignored.\nWhitespace is significant.\nNOTE: This function is not performant and should be avoided.\n\n# Example\n\n```nix\nreadPathsFromFile /prefix\n ./pkgs/development/libraries/qt-5/5.4/qtbase/series\n=> [ \"/prefix/dlopen-resolv.patch\" \"/prefix/tzdir.patch\"\n \"/prefix/dlopen-libXcursor.patch\" \"/prefix/dlopen-openssl.patch\"\n \"/prefix/dlopen-dbus.patch\" \"/prefix/xdg-config-dirs.patch\"\n \"/prefix/nix-profiles-library-paths.patch\"\n \"/prefix/compose-search-path.patch\" ]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1829,"column":3},"path":["lib","strings","readPathsFromFile"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.removePrefix","path":["lib","strings","removePrefix"],"aliases":[["lib","removePrefix"],["lib","lists","removePrefix"],["lib","path","removePrefix"]],"signature":"string -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1069,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1071,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1069,"column":3},"path":["lib","strings","removePrefix"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a string without the specified prefix, if the prefix matches.\n\n# Example\n\n```nix\nremovePrefix \"foo.\" \"foo.bar.baz\"\n=> \"bar.baz\"\nremovePrefix \"xxx\" \"foo.bar.baz\"\n=> \"foo.bar.baz\"\n```\n\n# Type\n\n```\nstring -> string -> string\n```\n\n# Arguments\n\n- [prefix] Prefix to remove if it matches\n- [str] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1069,"column":3},"path":["lib","strings","removePrefix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.removeSuffix","path":["lib","strings","removeSuffix"],"aliases":[["lib","removeSuffix"]],"signature":"string -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1116,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1118,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1116,"column":3},"path":["lib","strings","removeSuffix"],"pos_type":"Attribute"}},"content":{"content":"\nReturn a string without the specified suffix, if the suffix matches.\n\n# Example\n\n```nix\nremoveSuffix \"front\" \"homefront\"\n=> \"home\"\nremoveSuffix \"xxx\" \"homefront\"\n=> \"homefront\"\n```\n\n# Type\n\n```\nstring -> string -> string\n```\n\n# Arguments\n\n- [suffix] Suffix to remove if it matches\n- [str] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1116,"column":3},"path":["lib","strings","removeSuffix"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.replaceChars","path":["lib","strings","replaceChars"],"aliases":[["builtins","replaceStrings"],["lib","replaceChars"],["lib","replaceStrings"],["lib","strings","replaceStrings"]],"signature":null,"is_primop":true,"primop_meta":{"name":"replaceStrings","args":["from","to","s"],"experimental":false,"arity":3},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":954,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","replaceChars"],"pos_type":"Lambda"}},"content":{"content":"\nGiven string *s*, replace every occurrence of the strings in *from*\nwith the corresponding string in *to*.\n\nThe argument *to* is lazy, that is, it is only evaluated when its corresponding pattern in *from* is matched in the string *s*\n\nExample:\n\n```nix\nbuiltins.replaceStrings [\"oo\" \"a\"] [\"a\" \"i\"] \"foobar\"\n```\n\nevaluates to `\"fabir\"`.\n","source":{"position":null,"path":["lib","strings","replaceChars"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.replaceStrings","path":["lib","strings","replaceStrings"],"aliases":[["builtins","replaceStrings"],["lib","replaceChars"],["lib","replaceStrings"],["lib","strings","replaceChars"]],"signature":null,"is_primop":true,"primop_meta":{"name":"replaceStrings","args":["from","to","s"],"experimental":false,"arity":3},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","replaceStrings"],"pos_type":"Lambda"}},"content":{"content":"\nGiven string *s*, replace every occurrence of the strings in *from*\nwith the corresponding string in *to*.\n\nThe argument *to* is lazy, that is, it is only evaluated when its corresponding pattern in *from* is matched in the string *s*\n\nExample:\n\n```nix\nbuiltins.replaceStrings [\"oo\" \"a\"] [\"a\" \"i\"] \"foobar\"\n```\n\nevaluates to `\"fabir\"`.\n","source":{"position":null,"path":["lib","strings","replaceStrings"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.replicate","path":["lib","strings","replicate"],"aliases":[["lib","replicate"],["lib","lists","replicate"]],"signature":"replicate :: int -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":270,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":270,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":270,"column":3},"path":["lib","strings","replicate"],"pos_type":"Attribute"}},"content":{"content":"\nReplicate a string n times,\nand concatenate the parts into a new string.\n\n# Example\n\n```nix\nreplicate 3 \"v\"\n=> \"vvv\"\nreplicate 5 \"hello\"\n=> \"hellohellohellohellohello\"\n```\n\n# Type\n\n```\nreplicate :: int -> string -> string\n```\n\n# Arguments\n\n- [n] \n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":270,"column":3},"path":["lib","strings","replicate"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.sanitizeDerivationName","path":["lib","strings","sanitizeDerivationName"],"aliases":[],"signature":"sanitizeDerivationName :: String -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1884,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1887,"column":3},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1884,"column":3},"path":["lib","strings","sanitizeDerivationName"],"pos_type":"Attribute"}},"content":{"content":"\nCreates a valid derivation name from a potentially invalid one.\n\n# Example\n\n```nix\nsanitizeDerivationName \"../hello.bar # foo\"\n=> \"-hello.bar-foo\"\nsanitizeDerivationName \"\"\n=> \"unknown\"\nsanitizeDerivationName pkgs.hello\n=> \"-nix-store-2g75chlbpxlrqn15zlby2dfh8hr9qwbk-hello-2.10\"\n```\n\n# Type\n\n```\nsanitizeDerivationName :: String -> String\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1884,"column":3},"path":["lib","strings","sanitizeDerivationName"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.split","path":["lib","strings","split"],"aliases":[["builtins","split"]],"signature":null,"is_primop":true,"primop_meta":{"name":"split","args":["regex","str"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","split"],"pos_type":"Lambda"}},"content":{"content":"\nReturns a list composed of non matched strings interleaved with the\nlists of the [extended POSIX regular\nexpression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)\n*regex* matches of *str*. Each item in the lists of matched\nsequences is a regex group.\n\n```nix\nbuiltins.split \"(a)b\" \"abc\"\n```\n\nEvaluates to `[ \"\" [ \"a\" ] \"c\" ]`.\n\n```nix\nbuiltins.split \"([ac])\" \"abc\"\n```\n\nEvaluates to `[ \"\" [ \"a\" ] \"b\" [ \"c\" ] \"\" ]`.\n\n```nix\nbuiltins.split \"(a)|(c)\" \"abc\"\n```\n\nEvaluates to `[ \"\" [ \"a\" null ] \"b\" [ null \"c\" ] \"\" ]`.\n\n```nix\nbuiltins.split \"([[:upper:]]+)\" \" FOO \"\n```\n\nEvaluates to `[ \" \" [ \"FOO\" ] \" \" ]`.\n","source":{"position":null,"path":["lib","strings","split"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.splitString","path":["lib","strings","splitString"],"aliases":[["lib","splitString"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":3},"path":["lib","strings","splitString"],"pos_type":"Attribute"}},"content":{"content":"\nCut a string with a separator and produces a list of strings which\nwere separated by this separator.\n\n# Example\n\n```nix\nsplitString \".\" \"foo.bar.baz\"\n=> [ \"foo\" \"bar\" \"baz\" ]\nsplitString \"/\" \"/usr/local/bin\"\n=> [ \"\" \"usr\" \"local\" \"bin\" ]\n```\n\n# Arguments\n\n- [sep] \n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1039,"column":3},"path":["lib","strings","splitString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.stringAsChars","path":["lib","strings","stringAsChars"],"aliases":[["lib","stringAsChars"]],"signature":"stringAsChars :: (string -> string) -> string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":619,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":621,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":619,"column":3},"path":["lib","strings","stringAsChars"],"pos_type":"Attribute"}},"content":{"content":"\nManipulate a string character by character and replace them by\nstrings before concatenating the results.\n\n# Example\n\n```nix\nstringAsChars (x: if x == \"a\" then \"i\" else x) \"nax\"\n=> \"nix\"\n```\n\n# Type\n\n```\nstringAsChars :: (string -> string) -> string -> string\n```\n\n# Arguments\n\n- [f] Function to map over each individual character\n- [s] Input string\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":619,"column":3},"path":["lib","strings","stringAsChars"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.stringLength","path":["lib","strings","stringLength"],"aliases":[["builtins","stringLength"],["lib","stringLength"]],"signature":null,"is_primop":true,"primop_meta":{"name":"stringLength","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","stringLength"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the length of the string *e*. If *e* is not a string,\nevaluation is aborted.\n","source":{"position":null,"path":["lib","strings","stringLength"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.stringToCharacters","path":["lib","strings","stringToCharacters"],"aliases":[["lib","stringToCharacters"]],"signature":"stringToCharacters :: string -> [string]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":3},"path":["lib","strings","stringToCharacters"],"pos_type":"Attribute"}},"content":{"content":"\nConvert a string to a list of characters (i.e. singleton strings).\nThis allows you to, e.g., map a function over each character. However,\nnote that this will likely be horribly inefficient; Nix is not a\ngeneral purpose programming language. Complex string manipulations\nshould, if appropriate, be done in a derivation.\nAlso note that Nix treats strings as a list of bytes and thus doesn't\nhandle unicode.\n\n# Example\n\n```nix\nstringToCharacters \"\"\n=> [ ]\nstringToCharacters \"abc\"\n=> [ \"a\" \"b\" \"c\" ]\nstringToCharacters \"🦄\"\n=> [ \"<22>\" \"<22>\" \"<22>\" \"<22>\" ]\n```\n\n# Type\n\n```\nstringToCharacters :: string -> [string]\n```\n\n# Arguments\n\n- [s] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":593,"column":3},"path":["lib","strings","stringToCharacters"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.substring","path":["lib","strings","substring"],"aliases":[["builtins","substring"],["lib","substring"]],"signature":null,"is_primop":true,"primop_meta":{"name":"substring","args":["start","len","s"],"experimental":false,"arity":3},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","substring"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the substring of *s* from character position *start*\n(zero-based) up to but not including *start + len*. If *start* is\ngreater than the length of the string, an empty string is returned,\nand if *start + len* lies beyond the end of the string, only the\nsubstring up to the end of the string is returned. *start* must be\nnon-negative. For example,\n\n```nix\nbuiltins.substring 0 3 \"nixos\"\n```\n\nevaluates to `\"nix\"`.\n","source":{"position":null,"path":["lib","strings","substring"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.tail","path":["lib","strings","tail"],"aliases":[["builtins","tail"],["lib","tail"],["lib","lists","tail"]],"signature":null,"is_primop":true,"primop_meta":{"name":"tail","args":["list"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","tail"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the list without its first item; abort evaluation if\nthe argument isnt a list or is an empty list.\n\n> **Warning**\n>\n> This function should generally be avoided since it's inefficient:\n> unlike Haskell's `tail`, it takes O(n) time, so recursing over a\n> list by repeatedly calling `tail` takes O(n^2) time.\n","source":{"position":null,"path":["lib","strings","tail"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.toInt","path":["lib","strings","toInt"],"aliases":[["lib","toInt"]],"signature":"string -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":3},"path":["lib","strings","toInt"],"pos_type":"Attribute"}},"content":{"content":"\nParse a string as an int. Does not support parsing of integers with preceding zero due to\nambiguity between zero-padded and octal numbers. See toIntBase10.\n\n# Example\n\n```nix\ntoInt \"1337\"\n=> 1337\ntoInt \"-4\"\n=> -4\ntoInt \" 123 \"\n=> 123\ntoInt \"00024\"\n=> error: Ambiguity in interpretation of 00024 between octal and zero padded integer.\ntoInt \"3.14\"\n=> error: floating point JSON numbers are not supported\n```\n\n# Type\n\n```\nstring -> int\n```\n\n# Arguments\n\n- [str] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1723,"column":3},"path":["lib","strings","toInt"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.toIntBase10","path":["lib","strings","toIntBase10"],"aliases":[["lib","toIntBase10"]],"signature":"string -> int\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":3},"path":["lib","strings","toIntBase10"],"pos_type":"Attribute"}},"content":{"content":"\nParse a string as a base 10 int. This supports parsing of zero-padded integers.\n\n# Example\n\n```nix\ntoIntBase10 \"1337\"\n=> 1337\ntoIntBase10 \"-4\"\n=> -4\ntoIntBase10 \" 123 \"\n=> 123\ntoIntBase10 \"00024\"\n=> 24\ntoIntBase10 \"3.14\"\n=> error: floating point JSON numbers are not supported\n```\n\n# Type\n\n```\nstring -> int\n```\n\n# Arguments\n\n- [str] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1783,"column":3},"path":["lib","strings","toIntBase10"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.toJSON","path":["lib","strings","toJSON"],"aliases":[["builtins","toJSON"]],"signature":null,"is_primop":true,"primop_meta":{"name":"toJSON","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","toJSON"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a string containing a JSON representation of *e*. Strings,\nintegers, floats, booleans, nulls and lists are mapped to their JSON\nequivalents. Sets (except derivations) are represented as objects.\nDerivations are translated to a JSON string containing the\nderivations output path. Paths are copied to the store and\nrepresented as a JSON string of the resulting store path.\n","source":{"position":null,"path":["lib","strings","toJSON"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.toLower","path":["lib","strings","toLower"],"aliases":[["lib","toLower"]],"signature":"toLower :: string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":976,"column":3},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":976,"column":3},"path":["lib","strings","toLower"],"pos_type":"Attribute"}},"content":{"content":"\nConverts an ASCII string to lower-case.\n\n# Example\n\n```nix\ntoLower \"HOME\"\n=> \"home\"\n```\n\n# Type\n\n```\ntoLower :: string -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":976,"column":3},"path":["lib","strings","toLower"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.toShellVar","path":["lib","strings","toShellVar"],"aliases":[["lib","toShellVar"]],"signature":"string -> (string | listOf string | attrsOf string) -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":3},"path":["lib","strings","toShellVar"],"pos_type":"Attribute"}},"content":{"content":"\nTranslate a Nix value into a shell variable declaration, with proper escaping.\nThe value can be a string (mapped to a regular variable), a list of strings\n(mapped to a Bash-style array) or an attribute set of strings (mapped to a\nBash-style associative array). Note that \"string\" includes string-coercible\nvalues like paths or derivations.\nStrings are translated into POSIX sh-compatible code; lists and attribute sets\nassume a shell that understands Bash syntax (e.g. Bash or ZSH).\n\n# Example\n\n```nix\n''\n ${toShellVar \"foo\" \"some string\"}\n [[ \"$foo\" == \"some string\" ]]\n''\n```\n\n# Type\n\n```\nstring -> (string | listOf string | attrsOf string) -> string\n```\n\n# Arguments\n\n- [name] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":820,"column":3},"path":["lib","strings","toShellVar"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.toShellVars","path":["lib","strings","toShellVars"],"aliases":[["lib","toShellVars"]],"signature":"attrsOf (string | listOf string | attrsOf string) -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":3},"path":["lib","strings","toShellVars"],"pos_type":"Attribute"}},"content":{"content":"\nTranslate an attribute set into corresponding shell variable declarations\nusing `toShellVar`.\n\n# Example\n\n```nix\nlet\n foo = \"value\";\n bar = foo;\nin ''\n ${toShellVars { inherit foo bar; }}\n [[ \"$foo\" == \"$bar\" ]]\n''\n```\n\n# Type\n\n```\nattrsOf (string | listOf string | attrsOf string) -> string\n```\n\n# Arguments\n\n- [vars] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":861,"column":3},"path":["lib","strings","toShellVars"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.toUpper","path":["lib","strings","toUpper"],"aliases":[["lib","toUpper"]],"signature":"toUpper :: string -> string\n","is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":994,"column":3},"lambda_position":null,"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":994,"column":3},"path":["lib","strings","toUpper"],"pos_type":"Attribute"}},"content":{"content":"\nConverts an ASCII string to upper-case.\n\n# Example\n\n```nix\ntoUpper \"home\"\n=> \"HOME\"\n```\n\n# Type\n\n```\ntoUpper :: string -> string\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":994,"column":3},"path":["lib","strings","toUpper"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.typeOf","path":["lib","strings","typeOf"],"aliases":[["builtins","typeOf"]],"signature":null,"is_primop":true,"primop_meta":{"name":"typeOf","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","typeOf"],"pos_type":"Lambda"}},"content":{"content":"\nReturn a string representing the type of the value *e*, namely\n`\"int\"`, `\"bool\"`, `\"string\"`, `\"path\"`, `\"null\"`, `\"set\"`,\n`\"list\"`, `\"lambda\"` or `\"float\"`.\n","source":{"position":null,"path":["lib","strings","typeOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.unsafeDiscardStringContext","path":["lib","strings","unsafeDiscardStringContext"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":"unsafeDiscardStringContext","args":[],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":17,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","strings","unsafeDiscardStringContext"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":null,"path":["lib","strings","unsafeDiscardStringContext"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.strings.versionAtLeast","path":["lib","strings","versionAtLeast"],"aliases":[["lib","versionAtLeast"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":3},"path":["lib","strings","versionAtLeast"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if string v1 denotes a version equal to or newer than v2.\n\n# Example\n\n```nix\nversionAtLeast \"1.1\" \"1.0\"\n=> true\nversionAtLeast \"1.1\" \"1.1\"\n=> true\nversionAtLeast \"1.1\" \"1.2\"\n=> false\n```\n\n# Arguments\n\n- [v1] \n- [v2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":3},"path":["lib","strings","versionAtLeast"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.versionOlder","path":["lib","strings","versionOlder"],"aliases":[["lib","versionOlder"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":3},"path":["lib","strings","versionOlder"],"pos_type":"Attribute"}},"content":{"content":"\nReturn true if string v1 denotes a version older than v2.\n\n# Example\n\n```nix\nversionOlder \"1.1\" \"1.2\"\n=> true\nversionOlder \"1.1\" \"1.1\"\n=> false\n```\n\n# Arguments\n\n- [v1] \n- [v2] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":3},"path":["lib","strings","versionOlder"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.withFeature","path":["lib","strings","withFeature"],"aliases":[["lib","withFeature"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":3},"path":["lib","strings","withFeature"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{with,without}-<feature> string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nwithFeature true \"shared\"\n=> \"--with-shared\"\nwithFeature false \"shared\"\n=> \"--without-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1517,"column":3},"path":["lib","strings","withFeature"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.strings.withFeatureAs","path":["lib","strings","withFeatureAs"],"aliases":[["lib","withFeatureAs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":3},"path":["lib","strings","withFeatureAs"],"pos_type":"Attribute"}},"content":{"content":"\nCreate an --{with-<feature>=<value>,without-<feature>} string that can be passed to\nstandard GNU Autoconf scripts.\n\n# Example\n\n```nix\nwithFeatureAs true \"shared\" \"foo\"\n=> \"--with-shared=foo\"\nwithFeatureAs false \"shared\" (throw \"ignored\")\n=> \"--without-shared\"\n```\n\n# Arguments\n\n- [flag] \n- [feature] \n- [value] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1541,"column":3},"path":["lib","strings","withFeatureAs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.stringsWithDeps.fullDepEntry","path":["lib","stringsWithDeps","fullDepEntry"],"aliases":[["lib","fullDepEntry"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":18},"path":["lib","stringsWithDeps","fullDepEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":78,"column":18},"path":["lib","stringsWithDeps","fullDepEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.stringsWithDeps.noDepEntry","path":["lib","stringsWithDeps","noDepEntry"],"aliases":[["lib","noDepEntry"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":16},"path":["lib","stringsWithDeps","noDepEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":77,"column":16},"path":["lib","stringsWithDeps","noDepEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.stringsWithDeps.packEntry","path":["lib","stringsWithDeps","packEntry"],"aliases":[["lib","packEntry"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":15},"path":["lib","stringsWithDeps","packEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":79,"column":15},"path":["lib","stringsWithDeps","packEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.stringsWithDeps.stringAfter","path":["lib","stringsWithDeps","stringAfter"],"aliases":[["lib","stringAfter"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":17},"path":["lib","stringsWithDeps","stringAfter"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":81,"column":17},"path":["lib","stringsWithDeps","stringAfter"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.stringsWithDeps.textClosureList","path":["lib","stringsWithDeps","textClosureList"],"aliases":[["lib","textClosureList"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":3},"path":["lib","stringsWithDeps","textClosureList"],"pos_type":"Attribute"}},"content":{"content":"\n!!! The interface of this function is kind of messed up, since\nit's way too overloaded and almost but not quite computes a\ntopological sort of the depstrings.\n\n# Arguments\n\n- [predefined] \n- [arg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":58,"column":3},"path":["lib","stringsWithDeps","textClosureList"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.stringsWithDeps.textClosureMap","path":["lib","stringsWithDeps","textClosureMap"],"aliases":[["lib","textClosureMap"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":20},"path":["lib","stringsWithDeps","textClosureMap"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings-with-deps.nix","line":74,"column":20},"path":["lib","stringsWithDeps","textClosureMap"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.elaborate","path":["lib","systems","elaborate"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":40,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":40,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":40,"column":15},"path":["lib","systems","elaborate"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":40,"column":15},"path":["lib","systems","elaborate"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.equals","path":["lib","systems","equals"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":23,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":25,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":23,"column":3},"path":["lib","systems","equals"],"pos_type":"Attribute"}},"content":{"content":"\nElaborated systems contain functions, which means that they don't satisfy\n`==` for a lack of reflexivity.\nThey might *appear* to satisfy `==` reflexivity when the same exact value is\ncompared to itself, because object identity is used as an \"optimization\";\ncompare the value with a reconstruction of itself, e.g. with `f == a: f a`,\nor perhaps calling `elaborate` twice, and one will see reflexivity fail as described.\nHence a custom equality test.\nNote that this does not canonicalize the systems, so you'll want to make sure\nboth arguments have been `elaborate`-d.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/default.nix","line":23,"column":3},"path":["lib","systems","equals"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.add","path":["lib","trivial","add"],"aliases":[["builtins","add"],["lib","add"]],"signature":null,"is_primop":true,"primop_meta":{"name":"add","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","add"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the sum of the numbers *e1* and *e2*.\n","source":{"position":null,"path":["lib","trivial","add"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.and","path":["lib","trivial","and"],"aliases":[["lib","and"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":3},"path":["lib","trivial","and"],"pos_type":"Attribute"}},"content":{"content":"\nboolean “and”\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":149,"column":3},"path":["lib","trivial","and"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.bitAnd","path":["lib","trivial","bitAnd"],"aliases":[["builtins","bitAnd"],["lib","bitAnd"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitAnd","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"path":["lib","trivial","bitAnd"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “and”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":154,"column":3},"path":["lib","trivial","bitAnd"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.bitNot","path":["lib","trivial","bitNot"],"aliases":[["lib","bitNot"]],"signature":null,"is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":175,"column":3},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":175,"column":3},"path":["lib","trivial","bitNot"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “not”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":175,"column":3},"path":["lib","trivial","bitNot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.bitOr","path":["lib","trivial","bitOr"],"aliases":[["builtins","bitOr"],["lib","bitOr"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitOr","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"path":["lib","trivial","bitOr"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “or”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":161,"column":3},"path":["lib","trivial","bitOr"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.bitXor","path":["lib","trivial","bitXor"],"aliases":[["builtins","bitXor"],["lib","bitXor"]],"signature":null,"is_primop":true,"primop_meta":{"name":"bitXor","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"path":["lib","trivial","bitXor"],"pos_type":"Attribute"}},"content":{"content":"\nbitwise “xor”\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":168,"column":3},"path":["lib","trivial","bitXor"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.boolToString","path":["lib","trivial","boolToString"],"aliases":[["lib","boolToString"]],"signature":"boolToString :: bool -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":3},"path":["lib","trivial","boolToString"],"pos_type":"Attribute"}},"content":{"content":"\nConvert a boolean to a string.\nThis function uses the strings \"true\" and \"false\" to represent\nboolean values. Calling `toString` on a bool instead returns \"1\"\nand \"\" (sic!).\n\n# Type\n\n```\nboolToString :: bool -> string\n```\n\n# Arguments\n\n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":194,"column":3},"path":["lib","trivial","boolToString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.checkListOfEnum","path":["lib","trivial","checkListOfEnum"],"aliases":[["lib","checkListOfEnum"]],"signature":"String -> List ComparableVal -> List ComparableVal -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":3},"path":["lib","trivial","checkListOfEnum"],"pos_type":"Attribute"}},"content":{"content":"\nCheck if the elements in a list are valid values from a enum, returning the identity function, or throwing an error message otherwise.\n\n# Example\n\n```nix\nlet colorVariants = [\"bright\" \"dark\" \"black\"]\nin checkListOfEnum \"color variants\" [ \"standard\" \"light\" \"dark\" ] colorVariants;\n=>\nerror: color variants: bright, black unexpected; valid ones: standard, light, dark\n```\n\n# Type\n\n```\nString -> List ComparableVal -> List ComparableVal -> a -> a\n```\n\n# Arguments\n\n- [msg] \n- [valid] \n- [given] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":677,"column":3},"path":["lib","trivial","checkListOfEnum"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.compare","path":["lib","trivial","compare"],"aliases":[["lib","compare"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":3},"path":["lib","trivial","compare"],"pos_type":"Attribute"}},"content":{"content":"\nC-style comparisons\na < b, compare a b => -1\na == b, compare a b => 0\na > b, compare a b => 1\n\n# Arguments\n\n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":448,"column":3},"path":["lib","trivial","compare"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.concat","path":["lib","trivial","concat"],"aliases":[["lib","concat"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":3},"path":["lib","trivial","concat"],"pos_type":"Attribute"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":3},"path":["lib","trivial","concat"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.const","path":["lib","trivial","const"],"aliases":[["lib","const"]],"signature":"const :: a -> b -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":50,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":52,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":50,"column":3},"path":["lib","trivial","const"],"pos_type":"Attribute"}},"content":{"content":"\nThe constant function\nIgnores the second argument. If called with only one argument,\nconstructs a function that always returns a static value.\n\n# Example\n\n```nix\nlet f = const 5; in f 10\n=> 5\n```\n\n# Type\n\n```\nconst :: a -> b -> a\n```\n\n# Arguments\n\n- [x] Value to return\n- [y] Value to ignore\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":50,"column":3},"path":["lib","trivial","const"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.deepSeq","path":["lib","trivial","deepSeq"],"aliases":[["builtins","deepSeq"],["lib","deepSeq"]],"signature":null,"is_primop":true,"primop_meta":{"name":"deepSeq","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","deepSeq"],"pos_type":"Lambda"}},"content":{"content":"\nThis is like `seq e1 e2`, except that *e1* is evaluated *deeply*:\nif its a list or set, its elements or attributes are also\nevaluated recursively.\n","source":{"position":null,"path":["lib","trivial","deepSeq"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.flip","path":["lib","trivial","flip"],"aliases":[["lib","flip"]],"signature":"flip :: (a -> b -> c) -> (b -> a -> c)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":3},"path":["lib","trivial","flip"],"pos_type":"Attribute"}},"content":{"content":"\nFlip the order of the arguments of a binary function.\n\n# Example\n\n```nix\nflip concat [1] [2]\n=> [ 2 1 ]\n```\n\n# Type\n\n```\nflip :: (a -> b -> c) -> (b -> a -> c)\n```\n\n# Arguments\n\n- [f] \n- [a] \n- [b] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":242,"column":3},"path":["lib","trivial","flip"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.functionArgs","path":["lib","trivial","functionArgs"],"aliases":[["lib","functionArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":3},"path":["lib","trivial","functionArgs"],"pos_type":"Attribute"}},"content":{"content":"\nExtract the expected function arguments from a function.\nThis works both with nix-native { a, b ? foo, ... }: style\nfunctions and functions with args set with 'setFunctionArgs'. It\nhas the same return type and semantics as builtins.functionArgs.\nsetFunctionArgs : (a → b) → Map String Bool.\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":724,"column":3},"path":["lib","trivial","functionArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.genericClosure","path":["lib","trivial","genericClosure"],"aliases":[["builtins","genericClosure"],["lib","genericClosure"]],"signature":null,"is_primop":true,"primop_meta":{"name":"genericClosure","args":["attrset"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","genericClosure"],"pos_type":"Lambda"}},"content":{"content":"\nTakes an *attrset* with the following attributes:\n\n- `startSet` [ Item ]\n - A list of start items. Each item must be an attrset containing a `key`. The `key` must be comparable.\n- `operator` Item -> [ Item ]\n - A function\n\nreturns a *list of attrsets*\n\nGenericClosure starts with the `startSet` and recursively\napplying the `operator` function to each `item`. The *attrsets* in the\n`startSet` and the *attrsets* produced by `operator` must contain a value\nnamed `key` which is comparable. The result is produced by calling `operator`\nfor each `item` with a value for `key` that has not been called yet including\nnewly produced `item`s. The function terminates when no new `item`s are\nproduced. The resulting *list of attrsets* contains only *attrsets* with a\nunique key. For example,\n\n```\nbuiltins.genericClosure {\n startSet = [ {key = 5;} ];\n operator = item: [{\n key = if (item.key / 2 ) * 2 == item.key\n then item.key / 2\n else 3 * item.key + 1;\n }];\n}\n```\nevaluates to\n```\n[ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ]\n```\n","source":{"position":null,"path":["lib","trivial","genericClosure"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.id","path":["lib","trivial","id"],"aliases":[["lib","id"]],"signature":"id :: a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":22,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":24,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":22,"column":3},"path":["lib","trivial","id"],"pos_type":"Attribute"}},"content":{"content":"\nThe identity function\nFor when you need a function that does “nothing”.\n\n# Type\n\n```\nid :: a -> a\n```\n\n# Arguments\n\n- [x] The value to return\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":22,"column":3},"path":["lib","trivial","id"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.importJSON","path":["lib","trivial","importJSON"],"aliases":[["lib","importJSON"],["lib","modules","importJSON"]],"signature":"importJSON :: path -> any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"path":["lib","trivial","importJSON"],"pos_type":"Attribute"}},"content":{"content":"\nReads a JSON file.\n\n# Type\n\n```\nimportJSON :: path -> any\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":518,"column":3},"path":["lib","trivial","importJSON"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.importTOML","path":["lib","trivial","importTOML"],"aliases":[["lib","importTOML"],["lib","modules","importTOML"]],"signature":"importTOML :: path -> any\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"path":["lib","trivial","importTOML"],"pos_type":"Attribute"}},"content":{"content":"\nReads a TOML file.\n\n# Type\n\n```\nimportTOML :: path -> any\n```\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":535,"column":3},"path":["lib","trivial","importTOML"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.info","path":["lib","trivial","info"],"aliases":[["lib","info"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":10},"path":["lib","trivial","info"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":684,"column":10},"path":["lib","trivial","info"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.isBool","path":["lib","trivial","isBool"],"aliases":[["builtins","isBool"],["lib","isBool"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isBool","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","isBool"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a bool, and `false` otherwise.\n","source":{"position":null,"path":["lib","trivial","isBool"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.isFloat","path":["lib","trivial","isFloat"],"aliases":[["builtins","isFloat"],["lib","isFloat"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isFloat","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","isFloat"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to a float, and `false` otherwise.\n","source":{"position":null,"path":["lib","trivial","isFloat"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.isFunction","path":["lib","trivial","isFunction"],"aliases":[["lib","isFunction"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":3},"path":["lib","trivial","isFunction"],"pos_type":"Attribute"}},"content":{"content":"\nCheck whether something is a function or something\nannotated with function args.\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":738,"column":3},"path":["lib","trivial","isFunction"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.isInOldestRelease","path":["lib","trivial","isInOldestRelease"],"aliases":[["lib","isInOldestRelease"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":312,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":317,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":312,"column":3},"path":["lib","trivial","isInOldestRelease"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a feature is supported in all supported releases (at the time of\nrelease branch-off, if applicable). See `oldestSupportedRelease`.\n\n# Arguments\n\n- [release] Release number of feature introduction as an integer, e.g. 2111 for 21.11. Set it to the upcoming release, matching the nixpkgs/.version file.\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":312,"column":3},"path":["lib","trivial","isInOldestRelease"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.isInt","path":["lib","trivial","isInt"],"aliases":[["builtins","isInt"],["lib","isInt"],["lib","strings","isInt"]],"signature":null,"is_primop":true,"primop_meta":{"name":"isInt","args":["e"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","isInt"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if *e* evaluates to an integer, and `false` otherwise.\n","source":{"position":null,"path":["lib","trivial","isInt"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.lessThan","path":["lib","trivial","lessThan"],"aliases":[["builtins","lessThan"],["lib","lessThan"]],"signature":null,"is_primop":true,"primop_meta":{"name":"lessThan","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","lessThan"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if the number *e1* is less than the number *e2*, and\n`false` otherwise. Evaluation aborts if either *e1* or *e2* does not\nevaluate to a number.\n","source":{"position":null,"path":["lib","trivial","lessThan"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.mapNullable","path":["lib","trivial","mapNullable"],"aliases":[["lib","mapNullable"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":262,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":264,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":262,"column":3},"path":["lib","trivial","mapNullable"],"pos_type":"Attribute"}},"content":{"content":"\nApply function if the supplied argument is non-null.\n\n# Example\n\n```nix\nmapNullable (x: x+1) null\n=> null\nmapNullable (x: x+1) 22\n=> 23\n```\n\n# Arguments\n\n- [f] Function to call\n- [a] Argument to check for null before passing it to `f`\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":262,"column":3},"path":["lib","trivial","mapNullable"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.max","path":["lib","trivial","max"],"aliases":[["lib","max"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":3},"path":["lib","trivial","max"],"pos_type":"Attribute"}},"content":{"content":"\nReturn maximum of two numbers.\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":411,"column":3},"path":["lib","trivial","max"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.mergeAttrs","path":["lib","trivial","mergeAttrs"],"aliases":[["lib","mergeAttrs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":213,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":213,"column":3},"path":["lib","trivial","mergeAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":213,"column":3},"path":["lib","trivial","mergeAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.min","path":["lib","trivial","min"],"aliases":[["lib","min"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":3},"path":["lib","trivial","min"],"pos_type":"Attribute"}},"content":{"content":"\nReturn minimum of two numbers.\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":400,"column":3},"path":["lib","trivial","min"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.mirrorFunctionArgs","path":["lib","trivial","mirrorFunctionArgs"],"aliases":[["lib","mirrorFunctionArgs"]],"signature":"mirrorFunctionArgs :: (a -> b) -> (a -> c) -> (a -> c)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":776,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":778,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":776,"column":3},"path":["lib","trivial","mirrorFunctionArgs"],"pos_type":"Attribute"}},"content":{"content":"\n`mirrorFunctionArgs f g` creates a new function `g'` with the same behavior as `g` (`g' x == g x`)\nbut its function arguments mirroring `f` (`lib.functionArgs g' == lib.functionArgs f`).\n\n# Example\n\n```nix\naddab = {a, b}: a + b\naddab { a = 2; b = 4; }\n=> 6\nlib.functionArgs addab\n=> { a = false; b = false; }\naddab1 = attrs: addab attrs + 1\naddab1 { a = 2; b = 4; }\n=> 7\nlib.functionArgs addab1\n=> { }\naddab1' = lib.mirrorFunctionArgs addab addab1\naddab1' { a = 2; b = 4; }\n=> 7\nlib.functionArgs addab1'\n=> { a = false; b = false; }\n```\n\n# Type\n\n```\nmirrorFunctionArgs :: (a -> b) -> (a -> c) -> (a -> c)\n```\n\n# Arguments\n\n- [f] Function to provide the argument metadata\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":776,"column":3},"path":["lib","trivial","mirrorFunctionArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.mod","path":["lib","trivial","mod"],"aliases":[["lib","mod"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":3},"path":["lib","trivial","mod"],"pos_type":"Attribute"}},"content":{"content":"\nInteger modulus\n\n# Example\n\n```nix\nmod 11 10\n=> 1\nmod 1 10\n=> 1\n```\n\n# Arguments\n\n- [base] \n- [int] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":431,"column":3},"path":["lib","trivial","mod"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.or","path":["lib","trivial","or"],"aliases":[["lib","or"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":8},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":3},"path":["lib","trivial","or"],"pos_type":"Attribute"}},"content":{"content":"\nboolean “or”\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":138,"column":3},"path":["lib","trivial","or"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.pathExists","path":["lib","trivial","pathExists"],"aliases":[["builtins","pathExists"],["lib","pathExists"]],"signature":null,"is_primop":true,"primop_meta":{"name":"pathExists","args":["path"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","pathExists"],"pos_type":"Lambda"}},"content":{"content":"\nReturn `true` if the path *path* exists at evaluation time, and\n`false` otherwise.\n","source":{"position":null,"path":["lib","trivial","pathExists"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.pipe","path":["lib","trivial","pipe"],"aliases":[["lib","pipe"]],"signature":"pipe :: a -> [<functions>] -> <return type of last function>\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":3},"path":["lib","trivial","pipe"],"pos_type":"Attribute"}},"content":{"content":"\nPipes a value through a list of functions, left to right.\n\n# Example\n\n```nix\npipe 2 [\n (x: x + 2) # 2 + 2 = 4\n (x: x * 2) # 4 * 2 = 8\n ]\n => 8\n # ideal to do text transformations\n pipe [ \"a/b\" \"a/c\" ] [\n # create the cp command\n (map (file: ''cp \"${src}/${file}\" $out\\n''))\n # concatenate all commands into one string\n lib.concatStrings\n # make that string into a nix derivation\n (pkgs.runCommand \"copy-to-out\" {})\n ]\n => <drv which copies all files to $out>\nThe output type of each function has to be the input type\nof the next function, and the last function returns the\nfinal value.\n```\n\n# Type\n\n```\npipe :: a -> [<functions>] -> <return type of last function>\n```\n\n# Arguments\n\n- [val] \n- [functions] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":94,"column":3},"path":["lib","trivial","pipe"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.readFile","path":["lib","trivial","readFile"],"aliases":[["builtins","readFile"],["lib","readFile"],["lib","strings","readFile"]],"signature":null,"is_primop":true,"primop_meta":{"name":"readFile","args":["path"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","readFile"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the contents of the file *path* as a string.\n","source":{"position":null,"path":["lib","trivial","readFile"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.revisionWithDefault","path":["lib","trivial","revisionWithDefault"],"aliases":[],"signature":"revisionWithDefault :: string -> string\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":351,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":353,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":351,"column":3},"path":["lib","trivial","revisionWithDefault"],"pos_type":"Attribute"}},"content":{"content":"\nAttempts to return the the current revision of nixpkgs and\nreturns the supplied default value otherwise.\n\n# Type\n\n```\nrevisionWithDefault :: string -> string\n```\n\n# Arguments\n\n- [default] Default value to return if revision can not be determined\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":351,"column":3},"path":["lib","trivial","revisionWithDefault"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.seq","path":["lib","trivial","seq"],"aliases":[["builtins","seq"],["lib","seq"]],"signature":null,"is_primop":true,"primop_meta":{"name":"seq","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","seq"],"pos_type":"Lambda"}},"content":{"content":"\nEvaluate *e1*, then evaluate and return *e2*. This ensures that a\ncomputation is strict in the value of *e1*.\n","source":{"position":null,"path":["lib","trivial","seq"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.setFunctionArgs","path":["lib","trivial","setFunctionArgs"],"aliases":[["lib","setFunctionArgs"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":3},"path":["lib","trivial","setFunctionArgs"],"pos_type":"Attribute"}},"content":{"content":"\nAdd metadata about expected function arguments to a function.\nThe metadata should match the format given by\nbuiltins.functionArgs, i.e. a set from expected argument to a bool\nrepresenting whether that argument has a default or not.\nsetFunctionArgs : (a → b) → Map String Bool → (a → b)\nThis function is necessary because you can't dynamically create a\nfunction of the { a, b ? foo, ... }: format, but some facilities\nlike callPackage expect to be able to query expected arguments.\n\n# Arguments\n\n- [f] \n- [args] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":706,"column":3},"path":["lib","trivial","setFunctionArgs"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.showWarnings","path":["lib","trivial","showWarnings"],"aliases":[["lib","showWarnings"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":18},"path":["lib","trivial","showWarnings"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":686,"column":18},"path":["lib","trivial","showWarnings"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.splitByAndCompare","path":["lib","trivial","splitByAndCompare"],"aliases":[["lib","splitByAndCompare"]],"signature":"(a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int)\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":488,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":490,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":488,"column":3},"path":["lib","trivial","splitByAndCompare"],"pos_type":"Attribute"}},"content":{"content":"\nSplit type into two subtypes by predicate `p`, take all elements\nof the first subtype to be less than all the elements of the\nsecond subtype, compare elements of a single subtype with `yes`\nand `no` respectively.\n\n# Example\n\n```nix\nlet cmp = splitByAndCompare (hasPrefix \"foo\") compare compare; in\ncmp \"a\" \"z\" => -1\ncmp \"fooa\" \"fooz\" => -1\ncmp \"f\" \"a\" => 1\ncmp \"fooa\" \"a\" => -1\n# while\ncompare \"fooa\" \"a\" => 1\n```\n\n# Type\n\n```\n(a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int)\n```\n\n# Arguments\n\n- [p] Predicate\n- [yes] Comparison function if predicate holds for both values\n- [no] Comparison function if predicate holds for neither value\n- [a] First value to compare\n- [b] Second value to compare\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":488,"column":3},"path":["lib","trivial","splitByAndCompare"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.sub","path":["lib","trivial","sub"],"aliases":[["builtins","sub"],["lib","sub"]],"signature":null,"is_primop":true,"primop_meta":{"name":"sub","args":["e1","e2"],"experimental":false,"arity":2},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":269,"column":21},"lambda_position":null,"count_applied":0,"content_meta":{"position":null,"path":["lib","trivial","sub"],"pos_type":"Lambda"}},"content":{"content":"\nReturn the difference between the numbers *e1* and *e2*.\n","source":{"position":null,"path":["lib","trivial","sub"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.trivial.throwIf","path":["lib","trivial","throwIf"],"aliases":[["lib","throwIf"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":3},"path":["lib","trivial","throwIf"],"pos_type":"Attribute"}},"content":{"content":"\nLike throwIfNot, but negated (throw if the first argument is `true`).\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":650,"column":3},"path":["lib","trivial","throwIf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.throwIfNot","path":["lib","trivial","throwIfNot"],"aliases":[["lib","throwIfNot"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":3},"path":["lib","trivial","throwIfNot"],"pos_type":"Attribute"}},"content":{"content":"\nLike the `assert b; e` expression, but with a custom error message and\nwithout the semicolon.\nIf true, return the identity function, `r: r`.\nIf false, throw the error message.\nCalls can be juxtaposed using function application, as `(r: r) a = a`, so\n`(r: r) (r: r) a = a`, and so forth.\n\n# Example\n\n```nix\nthrowIfNot (lib.isList overlays) \"The overlays argument to nixpkgs must be a list.\"\nlib.foldr (x: throwIfNot (lib.isFunction x) \"All overlays passed to nixpkgs must be functions.\") (r: r) overlays\npkgs\n```\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":633,"column":3},"path":["lib","trivial","throwIfNot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.toBaseDigits","path":["lib","trivial","toBaseDigits"],"aliases":[["lib","toBaseDigits"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":3},"path":["lib","trivial","toBaseDigits"],"pos_type":"Attribute"}},"content":{"content":"\n`toBaseDigits base i` converts the positive integer i to a list of its\ndigits in the given base. For example:\ntoBaseDigits 10 123 => [ 1 2 3 ]\ntoBaseDigits 2 6 => [ 1 1 0 ]\ntoBaseDigits 16 250 => [ 15 10 ]\n\n# Arguments\n\n- [base] \n- [i] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":853,"column":3},"path":["lib","trivial","toBaseDigits"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.toFunction","path":["lib","trivial","toFunction"],"aliases":[["lib","toFunction"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":804,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":806,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":804,"column":3},"path":["lib","trivial","toFunction"],"pos_type":"Attribute"}},"content":{"content":"\nTurns any non-callable values into constant functions.\nReturns callable values as is.\n\n# Example\n\n```nix\nnix-repl> lib.toFunction 1 2\n1\nnix-repl> lib.toFunction (x: x + 1) 2\n3\n```\n\n# Arguments\n\n- [v] Any value\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":804,"column":3},"path":["lib","trivial","toFunction"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.toHexString","path":["lib","trivial","toHexString"],"aliases":[["lib","toHexString"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":3},"path":["lib","trivial","toHexString"],"pos_type":"Attribute"}},"content":{"content":"\nConvert the given positive integer to a string of its hexadecimal\nrepresentation. For example:\ntoHexString 0 => \"0\"\ntoHexString 16 => \"10\"\ntoHexString 250 => \"FA\"\n\n# Arguments\n\n- [i] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":823,"column":3},"path":["lib","trivial","toHexString"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.warn","path":["lib","trivial","warn"],"aliases":[["lib","warn"]],"signature":"string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":566,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":569,"column":10},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":566,"column":3},"path":["lib","trivial","warn"],"pos_type":"Attribute"}},"content":{"content":"\nPrint a warning before returning the second argument. This function behaves\nlike `builtins.trace`, but requires a string message and formats it as a\nwarning, including the `warning: ` prefix.\nTo get a call stack trace and abort evaluation, set the environment variable\n`NIX_ABORT_ON_WARN=true` and set the Nix options `--option pure-eval false --show-trace`\n\n# Type\n\n```\nstring -> a -> a\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":566,"column":3},"path":["lib","trivial","warn"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.warnIf","path":["lib","trivial","warnIf"],"aliases":[["lib","warnIf"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":3},"path":["lib","trivial","warnIf"],"pos_type":"Attribute"}},"content":{"content":"\nLike warn, but only warn when the first argument is `true`.\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":586,"column":3},"path":["lib","trivial","warnIf"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.trivial.warnIfNot","path":["lib","trivial","warnIfNot"],"aliases":[["lib","warnIfNot"]],"signature":"bool -> string -> a -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":3},"path":["lib","trivial","warnIfNot"],"pos_type":"Attribute"}},"content":{"content":"\nLike warnIf, but negated (warn if the first argument is `false`).\n\n# Type\n\n```\nbool -> string -> a -> a\n```\n\n# Arguments\n\n- [cond] \n- [msg] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":603,"column":3},"path":["lib","trivial","warnIfNot"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.types.addCheck","path":["lib","types","addCheck"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":915,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":915,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":915,"column":16},"path":["lib","types","addCheck"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":915,"column":16},"path":["lib","types","addCheck"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.attrsOf","path":["lib","types","attrsOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":536,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":536,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":536,"column":15},"path":["lib","types","attrsOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":536,"column":15},"path":["lib","types","attrsOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.coercedTo","path":["lib","types","coercedTo"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":890,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":890,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":890,"column":17},"path":["lib","types","coercedTo"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":890,"column":17},"path":["lib","types","coercedTo"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.defaultFunctor","path":["lib","types","defaultFunctor"],"aliases":[["lib","defaultFunctor"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":20},"path":["lib","types","defaultFunctor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":99,"column":20},"path":["lib","types","defaultFunctor"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.defaultTypeMerge","path":["lib","types","defaultTypeMerge"],"aliases":[["lib","defaultTypeMerge"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":22},"path":["lib","types","defaultTypeMerge"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":79,"column":22},"path":["lib","types","defaultTypeMerge"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.deferredModuleWith","path":["lib","types","deferredModuleWith"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":661,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":661,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":661,"column":26},"path":["lib","types","deferredModuleWith"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":661,"column":26},"path":["lib","types","deferredModuleWith"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.either","path":["lib","types","either"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":855,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":855,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":855,"column":14},"path":["lib","types","either"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":855,"column":14},"path":["lib","types","either"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.enum","path":["lib","types","enum"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":823,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":823,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":823,"column":12},"path":["lib","types","enum"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":823,"column":12},"path":["lib","types","enum"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.functionTo","path":["lib","types","functionTo"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":635,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":635,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":635,"column":18},"path":["lib","types","functionTo"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":635,"column":18},"path":["lib","types","functionTo"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.isOptionType","path":["lib","types","isOptionType"],"aliases":[["lib","isOptionType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":107,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":18},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.types.isType","path":["lib","types","isType"],"aliases":[["lib","isType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":12},"path":["lib","types","isType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":12},"path":["lib","types","isType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.lazyAttrsOf","path":["lib","types","lazyAttrsOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":560,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":560,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":560,"column":19},"path":["lib","types","lazyAttrsOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":560,"column":19},"path":["lib","types","lazyAttrsOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.listOf","path":["lib","types","listOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":506,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":506,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":506,"column":14},"path":["lib","types","listOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":506,"column":14},"path":["lib","types","listOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.loaOf","path":["lib","types","loaOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":582,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":582,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":582,"column":13},"path":["lib","types","loaOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":582,"column":13},"path":["lib","types","loaOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.mkOptionType","path":["lib","types","mkOptionType"],"aliases":[["lib","mkOptionType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":108,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":109,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":109,"column":5},"path":["lib","types","mkOptionType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":109,"column":5},"path":["lib","types","mkOptionType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.nonEmptyListOf","path":["lib","types","nonEmptyListOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":529,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":529,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":529,"column":22},"path":["lib","types","nonEmptyListOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":529,"column":22},"path":["lib","types","nonEmptyListOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.nullOr","path":["lib","types","nullOr"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":616,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":616,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":616,"column":14},"path":["lib","types","nullOr"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":616,"column":14},"path":["lib","types","nullOr"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.oneOf","path":["lib","types","oneOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":882,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":882,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":882,"column":13},"path":["lib","types","oneOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":882,"column":13},"path":["lib","types","oneOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.optionDescriptionPhrase","path":["lib","types","optionDescriptionPhrase"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":205,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":205,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":205,"column":29},"path":["lib","types","optionDescriptionPhrase"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":205,"column":29},"path":["lib","types","optionDescriptionPhrase"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.passwdEntry","path":["lib","types","passwdEntry"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":447,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":447,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":447,"column":19},"path":["lib","types","passwdEntry"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":447,"column":19},"path":["lib","types","passwdEntry"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.separatedString","path":["lib","types","separatedString"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":417,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":417,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":417,"column":23},"path":["lib","types","separatedString"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":417,"column":23},"path":["lib","types","separatedString"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.setType","path":["lib","types","setType"],"aliases":[["lib","setType"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":13},"path":["lib","types","setType"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":72,"column":13},"path":["lib","types","setType"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.strMatching","path":["lib","types","strMatching"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":407,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":407,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":407,"column":19},"path":["lib","types","strMatching"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":407,"column":19},"path":["lib","types","strMatching"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.submodule","path":["lib","types","submodule"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":650,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":650,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":650,"column":17},"path":["lib","types","submodule"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":650,"column":17},"path":["lib","types","submodule"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.submoduleWith","path":["lib","types","submoduleWith"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":714,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":715,"column":7},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":715,"column":7},"path":["lib","types","submoduleWith"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":715,"column":7},"path":["lib","types","submoduleWith"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.uniq","path":["lib","types","uniq"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":591,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":591,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":591,"column":12},"path":["lib","types","uniq"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":591,"column":12},"path":["lib","types","uniq"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.unique","path":["lib","types","unique"],"aliases":[["lib","unique"],["lib","lists","unique"]],"signature":"unique :: [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":603,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":603,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"path":["lib","lists","unique"],"pos_type":"Attribute"}},"content":{"content":"\nRemove duplicate elements from the list. O(n^2) complexity.\n\n# Example\n\n```nix\nunique [ 3 2 3 4 ]\n=> [ 3 2 4 ]\n```\n\n# Type\n\n```\nunique :: [a] -> [a]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/lists.nix","line":1298,"column":3},"path":["lib","lists","unique"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versions.major","path":["lib","versions","major"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":35,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":35,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":35,"column":3},"path":["lib","versions","major"],"pos_type":"Attribute"}},"content":{"content":"\nGet the major version string from a string.\n\n# Example\n\n```nix\nmajor \"1.2.3\"\n=> \"1\"\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":35,"column":3},"path":["lib","versions","major"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versions.majorMinor","path":["lib","versions","majorMinor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":87,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":87,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":87,"column":3},"path":["lib","versions","majorMinor"],"pos_type":"Attribute"}},"content":{"content":"\nGet string of the first two parts (major and minor)\nof a version string.\n\n# Example\n\n```nix\nmajorMinor \"1.2.3\"\n=> \"1.2\"\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":87,"column":3},"path":["lib","versions","majorMinor"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versions.minor","path":["lib","versions","minor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":52,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":52,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":52,"column":3},"path":["lib","versions","minor"],"pos_type":"Attribute"}},"content":{"content":"\nGet the minor version string from a string.\n\n# Example\n\n```nix\nminor \"1.2.3\"\n=> \"2\"\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":52,"column":3},"path":["lib","versions","minor"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versions.pad","path":["lib","versions","pad"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":111,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":111,"column":9},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":111,"column":3},"path":["lib","versions","pad"],"pos_type":"Attribute"}},"content":{"content":"\nPad a version string with zeros to match the given number of components.\n\n# Example\n\n```nix\npad 3 \"1.2\"\n=> \"1.2.0\"\npad 3 \"1.3-rc1\"\n=> \"1.3.0-rc1\"\npad 3 \"1.2.3.4\"\n=> \"1.2.3\"\n```\n\n# Arguments\n\n- [n] \n- [version] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":111,"column":3},"path":["lib","versions","pad"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versions.patch","path":["lib","versions","patch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":69,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":69,"column":11},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":69,"column":3},"path":["lib","versions","patch"],"pos_type":"Attribute"}},"content":{"content":"\nGet the patch version string from a string.\n\n# Example\n\n```nix\npatch \"1.2.3\"\n=> \"3\"\n```\n\n# Arguments\n\n- [v] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":69,"column":3},"path":["lib","versions","patch"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.versions.splitVersion","path":["lib","versions","splitVersion"],"aliases":[["builtins","splitVersion"],["lib","splitVersion"]],"signature":null,"is_primop":true,"primop_meta":{"name":"splitVersion","args":["s"],"experimental":false,"arity":1},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"lambda_position":null,"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"path":["lib","versions","splitVersion"],"pos_type":"Attribute"}},"content":{"content":"\nBreak a version string into its component parts.\n\n# Example\n\n```nix\nsplitVersion \"1.2.3\"\n=> [\"1\" \"2\" \"3\"]\n```\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/versions.nix","line":18,"column":3},"path":["lib","versions","splitVersion"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.gvariant.type.arrayOf","path":["lib","gvariant","type","arrayOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":26,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":26,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":26,"column":15},"path":["lib","gvariant","type","arrayOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":26,"column":15},"path":["lib","gvariant","type","arrayOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.gvariant.type.dictionaryEntryOf","path":["lib","gvariant","type","dictionaryEntryOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":29,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":29,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":29,"column":25},"path":["lib","gvariant","type","dictionaryEntryOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":29,"column":25},"path":["lib","gvariant","type","dictionaryEntryOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.gvariant.type.maybeOf","path":["lib","gvariant","type","maybeOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":27,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":27,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":27,"column":15},"path":["lib","gvariant","type","maybeOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":27,"column":15},"path":["lib","gvariant","type","maybeOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.gvariant.type.tupleOf","path":["lib","gvariant","type","tupleOf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":28,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":28,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":28,"column":15},"path":["lib","gvariant","type","tupleOf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/gvariant.nix","line":28,"column":15},"path":["lib","gvariant","type","tupleOf"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.buildInputs","path":["lib","misc","mergeAttrBy","buildInputs"],"aliases":[["lib","mergeAttrBy","buildInputs"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","buildInputs"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","buildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.cfg","path":["lib","misc","mergeAttrBy","cfg"],"aliases":[["lib","mergeAttrBy","cfg"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","cfg"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","cfg"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.configureFlags","path":["lib","misc","mergeAttrBy","configureFlags"],"aliases":[["lib","mergeAttrBy","configureFlags"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","configureFlags"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","configureFlags"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.flags","path":["lib","misc","mergeAttrBy","flags"],"aliases":[["lib","mergeAttrBy","flags"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","flags"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","flags"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.meta","path":["lib","misc","mergeAttrBy","meta"],"aliases":[["lib","mergeAttrBy","meta"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","meta"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","meta"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.nativeBuildInputs","path":["lib","misc","mergeAttrBy","nativeBuildInputs"],"aliases":[["lib","mergeAttrBy","nativeBuildInputs"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","nativeBuildInputs"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","nativeBuildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.passthru","path":["lib","misc","mergeAttrBy","passthru"],"aliases":[["lib","mergeAttrBy","passthru"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","passthru"],"pos_type":"Lambda"}},"content":{"content":"\nMerge two attribute sets shallowly, right side trumps left\nmergeAttrs :: attrs -> attrs -> attrs\n\n# Example\n\n```nix\nmergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }\n=> { a = 1; b = 3; c = 4; }\n```\n\n# Arguments\n\n- [x] Left attribute set\n- [y] Right attribute set (higher precedence for equal keys)\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":215,"column":5},"path":["lib","misc","mergeAttrBy","passthru"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.patches","path":["lib","misc","mergeAttrBy","patches"],"aliases":[["lib","mergeAttrBy","patches"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","patches"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","patches"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.postAll","path":["lib","misc","mergeAttrBy","postAll"],"aliases":[["lib","mergeAttrBy","postAll"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","postAll"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","postAll"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.postInstall","path":["lib","misc","mergeAttrBy","postInstall"],"aliases":[["lib","mergeAttrBy","postInstall"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","misc","mergeAttrBy","postInstall"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","misc","mergeAttrBy","postInstall"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.preConfigure","path":["lib","misc","mergeAttrBy","preConfigure"],"aliases":[["lib","mergeAttrBy","preConfigure"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","misc","mergeAttrBy","preConfigure"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/deprecated.nix","line":279,"column":46},"path":["lib","misc","mergeAttrBy","preConfigure"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.prePhases","path":["lib","misc","mergeAttrBy","prePhases"],"aliases":[["lib","mergeAttrBy","prePhases"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","prePhases"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","prePhases"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.misc.mergeAttrBy.propagatedBuildInputs","path":["lib","misc","mergeAttrBy","propagatedBuildInputs"],"aliases":[["lib","mergeAttrBy","propagatedBuildInputs"]],"signature":"concat :: [a] -> [a] -> [a]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":680,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","propagatedBuildInputs"],"pos_type":"Lambda"}},"content":{"content":"\nConcatenate two lists\n\n# Example\n\n```nix\nconcat [ 1 2 ] [ 3 4 ]\n=> [ 1 2 3 4 ]\n```\n\n# Type\n\n```\nconcat :: [a] -> [a] -> [a]\n```\n\n# Arguments\n\n- [x] \n- [y] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/trivial.nix","line":127,"column":12},"path":["lib","misc","mergeAttrBy","propagatedBuildInputs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.path.subpath.components","path":["lib","path","subpath","components"],"aliases":[],"signature":"subpath.components :: String -> [ String ]\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":498,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":500,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":498,"column":3},"path":["lib","path","subpath","components"],"pos_type":"Attribute"}},"content":{"content":"\nSplit [a subpath](#function-library-lib.path.subpath.isValid) into its path component strings.\nThrow an error if the subpath isn't valid.\nNote that the returned path components are also [valid subpath strings](#function-library-lib.path.subpath.isValid), though they are intentionally not [normalised](#function-library-lib.path.subpath.normalise).\nLaws:\n- Splitting a subpath into components and [joining](#function-library-lib.path.subpath.join) the components gives the same subpath but [normalised](#function-library-lib.path.subpath.normalise):\nsubpath.join (subpath.components s) == subpath.normalise s\n\n# Example\n\n```nix\nsubpath.components \".\"\n=> [ ]\nsubpath.components \"./foo//bar/./baz/\"\n=> [ \"foo\" \"bar\" \"baz\" ]\nsubpath.components \"/foo\"\n=> <error>\n```\n\n# Type\n\n```\nsubpath.components :: String -> [ String ]\n```\n\n# Arguments\n\n- [subpath] The subpath string to split into components\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":498,"column":3},"path":["lib","path","subpath","components"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.path.subpath.isValid","path":["lib","path","subpath","isValid"],"aliases":[],"signature":"subpath.isValid :: String -> Bool\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":392,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":394,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":392,"column":3},"path":["lib","path","subpath","isValid"],"pos_type":"Attribute"}},"content":{"content":"\nWhether a value is a valid subpath string.\nA subpath string points to a specific file or directory within an absolute base directory.\nIt is a stricter form of a relative path that excludes `..` components, since those could escape the base directory.\n- The value is a string.\n- The string is not empty.\n- The string doesn't start with a `/`.\n- The string doesn't contain any `..` path components.\n\n# Example\n\n```nix\n# Not a string\nsubpath.isValid null\n=> false\n# Empty string\nsubpath.isValid \"\"\n=> false\n# Absolute path\nsubpath.isValid \"/foo\"\n=> false\n# Contains a `..` path component\nsubpath.isValid \"../foo\"\n=> false\n# Valid subpath\nsubpath.isValid \"foo/bar\"\n=> true\n# Doesn't need to be normalised\nsubpath.isValid \"./foo//bar/\"\n=> true\n```\n\n# Type\n\n```\nsubpath.isValid :: String -> Bool\n```\n\n# Arguments\n\n- [value] The value to check\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":392,"column":3},"path":["lib","path","subpath","isValid"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.path.subpath.join","path":["lib","path","subpath","join"],"aliases":[],"signature":"subpath.join :: [ String ] -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":450,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":452,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":450,"column":3},"path":["lib","path","subpath","join"],"pos_type":"Attribute"}},"content":{"content":"\nJoin subpath strings together using `/`, returning a normalised subpath string.\nLike `concatStringsSep \"/\"` but safer, specifically:\n- All elements must be [valid subpath strings](#function-library-lib.path.subpath.isValid).\n- The result gets [normalised](#function-library-lib.path.subpath.normalise).\n- The edge case of an empty list gets properly handled by returning the neutral subpath `\"./.\"`.\nLaws:\n- Associativity:\nsubpath.join [ x (subpath.join [ y z ]) ] == subpath.join [ (subpath.join [ x y ]) z ]\n- Identity - `\"./.\"` is the neutral element for normalised paths:\nsubpath.join [ ] == \"./.\"\nsubpath.join [ (subpath.normalise p) \"./.\" ] == subpath.normalise p\nsubpath.join [ \"./.\" (subpath.normalise p) ] == subpath.normalise p\n- Normalisation - the result is [normalised](#function-library-lib.path.subpath.normalise):\nsubpath.join ps == subpath.normalise (subpath.join ps)\n- For non-empty lists, the implementation is equivalent to [normalising](#function-library-lib.path.subpath.normalise) the result of `concatStringsSep \"/\"`.\nNote that the above laws can be derived from this one:\nps != [] -> subpath.join ps == subpath.normalise (concatStringsSep \"/\" ps)\n\n# Example\n\n```nix\nsubpath.join [ \"foo\" \"bar/baz\" ]\n=> \"./foo/bar/baz\"\n# normalise the result\nsubpath.join [ \"./foo\" \".\" \"bar//./baz/\" ]\n=> \"./foo/bar/baz\"\n# passing an empty list results in the current directory\nsubpath.join [ ]\n=> \"./.\"\n# elements must be valid subpath strings\nsubpath.join [ /foo ]\n=> <error>\nsubpath.join [ \"\" ]\n=> <error>\nsubpath.join [ \"/foo\" ]\n=> <error>\nsubpath.join [ \"../foo\" ]\n=> <error>\n```\n\n# Type\n\n```\nsubpath.join :: [ String ] -> String\n```\n\n# Arguments\n\n- [subpaths] The list of subpaths to join together\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":450,"column":3},"path":["lib","path","subpath","join"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.path.subpath.normalise","path":["lib","path","subpath","normalise"],"aliases":[],"signature":"subpath.normalise :: String -> String\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":567,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":569,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":567,"column":3},"path":["lib","path","subpath","normalise"],"pos_type":"Attribute"}},"content":{"content":"\nNormalise a subpath. Throw an error if the subpath isn't [valid](#function-library-lib.path.subpath.isValid).\n- Limit repeating `/` to a single one.\n- Remove redundant `.` components.\n- Remove trailing `/` and `/.`.\n- Add leading `./`.\nLaws:\n- Idempotency - normalising multiple times gives the same result:\nsubpath.normalise (subpath.normalise p) == subpath.normalise p\n- Uniqueness - there's only a single normalisation for the paths that lead to the same file system node:\nsubpath.normalise p != subpath.normalise q -> $(realpath ${p}) != $(realpath ${q})\n- Don't change the result when [appended](#function-library-lib.path.append) to a Nix path value:\nappend base p == append base (subpath.normalise p)\n- Don't change the path according to `realpath`:\n$(realpath ${p}) == $(realpath ${subpath.normalise p})\n- Only error on [invalid subpaths](#function-library-lib.path.subpath.isValid):\nbuiltins.tryEval (subpath.normalise p)).success == subpath.isValid p\n\n# Example\n\n```nix\n# limit repeating `/` to a single one\nsubpath.normalise \"foo//bar\"\n=> \"./foo/bar\"\n# remove redundant `.` components\nsubpath.normalise \"foo/./bar\"\n=> \"./foo/bar\"\n# add leading `./`\nsubpath.normalise \"foo/bar\"\n=> \"./foo/bar\"\n# remove trailing `/`\nsubpath.normalise \"foo/bar/\"\n=> \"./foo/bar\"\n# remove trailing `/.`\nsubpath.normalise \"foo/bar/.\"\n=> \"./foo/bar\"\n# Return the current directory as `./.`\nsubpath.normalise \".\"\n=> \"./.\"\n# error on `..` path components\nsubpath.normalise \"foo/../bar\"\n=> <error>\n# error on empty string\nsubpath.normalise \"\"\n=> <error>\n# error on absolute path\nsubpath.normalise \"/foo\"\n=> <error>\n```\n\n# Type\n\n```\nsubpath.normalise :: String -> String\n```\n\n# Arguments\n\n- [subpath] The subpath string to normalise\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/path/default.nix","line":567,"column":3},"path":["lib","path","subpath","normalise"],"pos_type":"Attribute"}}},{"meta":{"title":"lib.systems.inspect.matchAnyAttrs","path":["lib","systems","inspect","matchAnyAttrs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":129,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":129,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":129,"column":19},"path":["lib","systems","inspect","matchAnyAttrs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":129,"column":19},"path":["lib","systems","inspect","matchAnyAttrs"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.patternLogicalAnd","path":["lib","systems","inspect","patternLogicalAnd"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":105,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":105,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":105,"column":23},"path":["lib","systems","inspect","patternLogicalAnd"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":105,"column":23},"path":["lib","systems","inspect","patternLogicalAnd"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.doubleFromSystem","path":["lib","systems","parse","doubleFromSystem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":499,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":499,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":499,"column":22},"path":["lib","systems","parse","doubleFromSystem"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":499,"column":22},"path":["lib","systems","parse","doubleFromSystem"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.gnuNetBSDDefaultExecFormat","path":["lib","systems","parse","gnuNetBSDDefaultExecFormat"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":145,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":145,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":145,"column":32},"path":["lib","systems","parse","gnuNetBSDDefaultExecFormat"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":145,"column":32},"path":["lib","systems","parse","gnuNetBSDDefaultExecFormat"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.isCompatible","path":["lib","systems","parse","isCompatible"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":169,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":169,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":169,"column":18},"path":["lib","systems","parse","isCompatible"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":169,"column":18},"path":["lib","systems","parse","isCompatible"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.isSystem","path":["lib","systems","parse","isSystem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":405,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":70,"column":18},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.parse.kernelName","path":["lib","systems","parse","kernelName"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":496,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":496,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":496,"column":16},"path":["lib","systems","parse","kernelName"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":496,"column":16},"path":["lib","systems","parse","kernelName"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.mkSkeletonFromList","path":["lib","systems","parse","mkSkeletonFromList"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":411,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":411,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":411,"column":24},"path":["lib","systems","parse","mkSkeletonFromList"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":411,"column":24},"path":["lib","systems","parse","mkSkeletonFromList"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.mkSystem","path":["lib","systems","parse","mkSystem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":407,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":407,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":407,"column":14},"path":["lib","systems","parse","mkSystem"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":407,"column":14},"path":["lib","systems","parse","mkSystem"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.mkSystemFromSkeleton","path":["lib","systems","parse","mkSystemFromSkeleton"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":456,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":456,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":456,"column":26},"path":["lib","systems","parse","mkSystemFromSkeleton"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":456,"column":26},"path":["lib","systems","parse","mkSystemFromSkeleton"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.mkSystemFromString","path":["lib","systems","parse","mkSystemFromString"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":494,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":494,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":494,"column":24},"path":["lib","systems","parse","mkSystemFromString"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":494,"column":24},"path":["lib","systems","parse","mkSystemFromString"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.parse.tripleFromSystem","path":["lib","systems","parse","tripleFromSystem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":504,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":504,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":504,"column":22},"path":["lib","systems","parse","tripleFromSystem"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/parse.nix","line":504,"column":22},"path":["lib","systems","parse","tripleFromSystem"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.platforms.select","path":["lib","systems","platforms","select"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/platforms.nix","line":549,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/platforms.nix","line":549,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/platforms.nix","line":549,"column":12},"path":["lib","systems","platforms","select"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/platforms.nix","line":549,"column":12},"path":["lib","systems","platforms","select"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.ints.between","path":["lib","types","ints","between"],"aliases":[["lib","types","numbers","between"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":320,"column":16},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":291,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":291,"column":19},"path":["lib","types","ints","between"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":291,"column":19},"path":["lib","types","ints","between"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.types.numbers.between","path":["lib","types","numbers","between"],"aliases":[["lib","types","ints","between"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":359,"column":7},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":359,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":359,"column":17},"path":["lib","types","numbers","between"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/types.nix","line":359,"column":17},"path":["lib","types","numbers","between"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.architectures.predicates.aesSupport","path":["lib","systems","architectures","predicates","aesSupport"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":132,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.avx2Support","path":["lib","systems","architectures","predicates","avx2Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":130,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.avx512Support","path":["lib","systems","architectures","predicates","avx512Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":131,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.avxSupport","path":["lib","systems","architectures","predicates","avxSupport"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":129,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.fma4Support","path":["lib","systems","architectures","predicates","fma4Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":134,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.fmaSupport","path":["lib","systems","architectures","predicates","fmaSupport"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":133,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.sse3Support","path":["lib","systems","architectures","predicates","sse3Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":124,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.sse4_1Support","path":["lib","systems","architectures","predicates","sse4_1Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":126,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.sse4_2Support","path":["lib","systems","architectures","predicates","sse4_2Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":127,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.sse4_aSupport","path":["lib","systems","architectures","predicates","sse4_aSupport"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":128,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.architectures.predicates.ssse3Support","path":["lib","systems","architectures","predicates","ssse3Support"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":125,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/architectures.nix","line":122,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.is32bit","path":["lib","systems","inspect","predicates","is32bit"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.is64bit","path":["lib","systems","inspect","predicates","is64bit"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isAarch","path":["lib","systems","inspect","predicates","isAarch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isAarch32","path":["lib","systems","inspect","predicates","isAarch32"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isAarch64","path":["lib","systems","inspect","predicates","isAarch64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isAbiElfv2","path":["lib","systems","inspect","predicates","isAbiElfv2"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isAbiElfv2"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isAbiElfv2"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isAlpha","path":["lib","systems","inspect","predicates","isAlpha"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isAndroid","path":["lib","systems","inspect","predicates","isAndroid"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isAndroid"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isAndroid"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isArmv7","path":["lib","systems","inspect","predicates","isArmv7"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isArmv7"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isArmv7"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isAvr","path":["lib","systems","inspect","predicates","isAvr"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isBSD","path":["lib","systems","inspect","predicates","isBSD"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isBigEndian","path":["lib","systems","inspect","predicates","isBigEndian"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isCygwin","path":["lib","systems","inspect","predicates","isCygwin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isDarwin","path":["lib","systems","inspect","predicates","isDarwin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isEfi","path":["lib","systems","inspect","predicates","isEfi"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isEfi"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isEfi"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isFreeBSD","path":["lib","systems","inspect","predicates","isFreeBSD"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isGenode","path":["lib","systems","inspect","predicates","isGenode"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isGhcjs","path":["lib","systems","inspect","predicates","isGhcjs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isGnu","path":["lib","systems","inspect","predicates","isGnu"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isGnu"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isGnu"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isILP32","path":["lib","systems","inspect","predicates","isILP32"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isILP32"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isILP32"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isJavaScript","path":["lib","systems","inspect","predicates","isJavaScript"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isLinux","path":["lib","systems","inspect","predicates","isLinux"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isLittleEndian","path":["lib","systems","inspect","predicates","isLittleEndian"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isLoongArch64","path":["lib","systems","inspect","predicates","isLoongArch64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isM68k","path":["lib","systems","inspect","predicates","isM68k"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMacOS","path":["lib","systems","inspect","predicates","isMacOS"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMicroBlaze","path":["lib","systems","inspect","predicates","isMicroBlaze"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMinGW","path":["lib","systems","inspect","predicates","isMinGW"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMips","path":["lib","systems","inspect","predicates","isMips"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMips32","path":["lib","systems","inspect","predicates","isMips32"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMips64","path":["lib","systems","inspect","predicates","isMips64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMips64n32","path":["lib","systems","inspect","predicates","isMips64n32"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMips64n64","path":["lib","systems","inspect","predicates","isMips64n64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMmix","path":["lib","systems","inspect","predicates","isMmix"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMsp430","path":["lib","systems","inspect","predicates","isMsp430"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isMusl","path":["lib","systems","inspect","predicates","isMusl"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isMusl"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isMusl"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isNetBSD","path":["lib","systems","inspect","predicates","isNetBSD"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isNone","path":["lib","systems","inspect","predicates","isNone"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isOpenBSD","path":["lib","systems","inspect","predicates","isOpenBSD"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isOr1k","path":["lib","systems","inspect","predicates","isOr1k"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isPower","path":["lib","systems","inspect","predicates","isPower"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isPower64","path":["lib","systems","inspect","predicates","isPower64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isRedox","path":["lib","systems","inspect","predicates","isRedox"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isRiscV","path":["lib","systems","inspect","predicates","isRiscV"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isRiscV32","path":["lib","systems","inspect","predicates","isRiscV32"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isRiscV64","path":["lib","systems","inspect","predicates","isRiscV64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isRx","path":["lib","systems","inspect","predicates","isRx"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isS390","path":["lib","systems","inspect","predicates","isS390"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isS390x","path":["lib","systems","inspect","predicates","isS390x"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isSparc","path":["lib","systems","inspect","predicates","isSparc"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isSunOS","path":["lib","systems","inspect","predicates","isSunOS"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isUClibc","path":["lib","systems","inspect","predicates","isUClibc"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isUClibc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isUClibc"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isUnix","path":["lib","systems","inspect","predicates","isUnix"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isUnix"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/systems/inspect.nix","line":130,"column":38},"path":["lib","systems","inspect","predicates","isUnix"],"pos_type":"Lambda"}}},{"meta":{"title":"lib.systems.inspect.predicates.isVc4","path":["lib","systems","inspect","predicates","isVc4"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isWasi","path":["lib","systems","inspect","predicates","isWasi"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isWasm","path":["lib","systems","inspect","predicates","isWasm"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isWindows","path":["lib","systems","inspect","predicates","isWindows"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isi686","path":["lib","systems","inspect","predicates","isi686"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isiOS","path":["lib","systems","inspect","predicates","isiOS"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isx86","path":["lib","systems","inspect","predicates","isx86"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isx86_32","path":["lib","systems","inspect","predicates","isx86_32"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"lib.systems.inspect.predicates.isx86_64","path":["lib","systems","inspect","predicates","isx86_64"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1278,"column":5},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs._internalCallByNamePackageFile","path":["pkgs","_internalCallByNamePackageFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/by-name-overlay.nix","line":55,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/by-name-overlay.nix","line":55,"column":36},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/by-name-overlay.nix","line":55,"column":36},"path":["pkgs","_internalCallByNamePackageFile"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/by-name-overlay.nix","line":55,"column":36},"path":["pkgs","_internalCallByNamePackageFile"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.addAttrsToDerivation","path":["pkgs","addAttrsToDerivation"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":211,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":211,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":211,"column":3},"path":["pkgs","addAttrsToDerivation"],"pos_type":"Attribute"}},"content":{"content":"\nModify a stdenv so that the specified attributes are added to\nevery derivation returned by its mkDerivation function.\n\n# Example\n\n```nix\nstdenvNoOptimise =\n addAttrsToDerivation\n { env.NIX_CFLAGS_COMPILE = \"-O0\"; }\n stdenv;\n```\n\n# Arguments\n\n- [extraAttrs] \n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":211,"column":3},"path":["pkgs","addAttrsToDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.aggregateModules","path":["pkgs","aggregateModules"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28288,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28288,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28288,"column":22},"path":["pkgs","aggregateModules"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28288,"column":22},"path":["pkgs","aggregateModules"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.apacheHttpdPackagesFor","path":["pkgs","apacheHttpdPackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26143,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26143,"column":28},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26143,"column":28},"path":["pkgs","apacheHttpdPackagesFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26143,"column":28},"path":["pkgs","apacheHttpdPackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.apparmorRulesFromClosure","path":["pkgs","apparmorRulesFromClosure"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":27629,"column":59},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.appendOverlays","path":["pkgs","appendOverlays"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":250,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":250,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":250,"column":22},"path":["pkgs","appendOverlays"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":250,"column":22},"path":["pkgs","appendOverlays"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.applyPatches","path":["pkgs","applyPatches"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":957,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":958,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":957,"column":3},"path":["pkgs","applyPatches"],"pos_type":"Attribute"}},"content":{"content":"\nApplies a list of patches to a source directory.\n\n# Example\n\n```nix\n# Patching nixpkgs:\napplyPatches {\n src = pkgs.path;\n patches = [\n (pkgs.fetchpatch {\n url = \"https://github.com/NixOS/nixpkgs/commit/1f770d20550a413e508e081ddc08464e9d08ba3d.patch\";\n sha256 = \"1nlzx171y3r3jbk0qhvnl711kmdk57jlq4na8f8bs8wz2pbffymr\";\n })\n ];\n}\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":957,"column":3},"path":["pkgs","applyPatches"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.aspellWithDicts","path":["pkgs","aspellWithDicts"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":20564,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.bitlbee-plugins","path":["pkgs","bitlbee-plugins"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":30647,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.blender-with-packages","path":["pkgs","blender-with-packages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/aliases.nix","line":98,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/aliases.nix","line":98,"column":27},"path":["pkgs","blender-with-packages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/aliases.nix","line":98,"column":27},"path":["pkgs","blender-with-packages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.buildArmTrustedFirmware","path":["pkgs","buildArmTrustedFirmware"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":27609,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/misc/arm-trusted-firmware/default.nix","line":14,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/misc/arm-trusted-firmware/default.nix","line":14,"column":29},"path":["pkgs","buildArmTrustedFirmware"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/misc/arm-trusted-firmware/default.nix","line":14,"column":29},"path":["pkgs","buildArmTrustedFirmware"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.buildBarebox","path":["pkgs","buildBarebox"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28879,"column":43},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/misc/barebox/default.nix","line":15,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/misc/barebox/default.nix","line":15,"column":18},"path":["pkgs","buildBarebox"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/misc/barebox/default.nix","line":15,"column":18},"path":["pkgs","buildBarebox"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.buildBazelPackage","path":["pkgs","buildBazelPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18584,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildBowerComponents","path":["pkgs","buildBowerComponents"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25874,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildDartApplication","path":["pkgs","buildDartApplication"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41626,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildDotnetGlobalTool","path":["pkgs","buildDotnetGlobalTool"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":943,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildDotnetModule","path":["pkgs","buildDotnetModule"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":938,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildDotnetPackage","path":["pkgs","buildDotnetPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":955,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildEmscriptenPackage","path":["pkgs","buildEmscriptenPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":7935,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildEnv","path":["pkgs","buildEnv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":416,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildFHSEnv","path":["pkgs","buildFHSEnv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":418,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildFHSEnvBubblewrap","path":["pkgs","buildFHSEnvBubblewrap"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":420,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildFHSEnvChroot","path":["pkgs","buildFHSEnvChroot"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":419,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildFHSUserEnv","path":["pkgs","buildFHSUserEnv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildFHSUserEnvBubblewrap","path":["pkgs","buildFHSUserEnvBubblewrap"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildFHSUserEnvChroot","path":["pkgs","buildFHSUserEnvChroot"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGo119Module","path":["pkgs","buildGo119Module"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25887,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGo119Package","path":["pkgs","buildGo119Package"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25890,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGo120Module","path":["pkgs","buildGo120Module"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25898,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGo120Package","path":["pkgs","buildGo120Package"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25901,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGo121Module","path":["pkgs","buildGo121Module"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25909,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGo121Package","path":["pkgs","buildGo121Package"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25912,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGoModule","path":["pkgs","buildGoModule"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25880,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGoPackage","path":["pkgs","buildGoPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25881,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildGraalvmNativeImage","path":["pkgs","buildGraalvmNativeImage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16478,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildHomeAssistantComponent","path":["pkgs","buildHomeAssistantComponent"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26480,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildLinux","path":["pkgs","buildLinux"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28084,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":694,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":694,"column":16},"path":["pkgs","buildLinux"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":694,"column":16},"path":["pkgs","buildLinux"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.buildMaven","path":["pkgs","buildMaven"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":422,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildMozillaMach","path":["pkgs","buildMozillaMach"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31883,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31883,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31883,"column":22},"path":["pkgs","buildMozillaMach"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31883,"column":22},"path":["pkgs","buildMozillaMach"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.buildNpmPackage","path":["pkgs","buildNpmPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":10331,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildPgrxExtension","path":["pkgs","buildPgrxExtension"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17039,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildPgxExtension","path":["pkgs","buildPgxExtension"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17033,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildRubyGem","path":["pkgs","buildRubyGem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17992,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildRustCrate","path":["pkgs","buildRustCrate"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16949,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.buildUBoot","path":["pkgs","buildUBoot"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28828,"column":41},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.bundlerApp","path":["pkgs","bundlerApp"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18002,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.bundlerEnv","path":["pkgs","bundlerEnv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18001,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.bundlerUpdateScript","path":["pkgs","bundlerUpdateScript"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18003,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.callPackage","path":["pkgs","callPackage"],"aliases":[["pkgs","pythonPackages","callPackage"],["pkgs","rustPackages","callPackage"],["pkgs","rustPackages","buildRustPackages","callPackage"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":140,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.callPackage_i686","path":["pkgs","callPackage_i686"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.callPackages","path":["pkgs","callPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":142,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":237,"column":32},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.closureInfo","path":["pkgs","closureInfo"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1350,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.clwrapperFunction","path":["pkgs","clwrapperFunction"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25945,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":35},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.compressFirmwareXz","path":["pkgs","compressFirmwareXz"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1317,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.concatScript","path":["pkgs","concatScript"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":523,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":523,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":523,"column":3},"path":["pkgs","concatScript"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to nix store with and mark it as executable.\n\n# Example\n\n```nix\n# Writes contents of files to /nix/store/<store path>\nconcatScript \"my-file\" [ file1 file2 ]\n```\n\n# Arguments\n\n- [name] \n- [files] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":523,"column":3},"path":["pkgs","concatScript"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.concatText","path":["pkgs","concatText"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":505,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":505,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":505,"column":3},"path":["pkgs","concatText"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to nix store with no optional parameters available.\n\n# Example\n\n```nix\n# Writes contents of files to /nix/store/<store path>\nconcatText \"my-file\" [ file1 file2 ]\n```\n\n# Arguments\n\n- [name] \n- [files] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":505,"column":3},"path":["pkgs","concatText"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.concatTextFile","path":["pkgs","concatTextFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":466,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":467,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":466,"column":3},"path":["pkgs","concatTextFile"],"pos_type":"Attribute"}},"content":{"content":"\nconcat a list of files to the nix store.\nThe contents of files are added to the file in the store.\n\n# Example\n\n```nix\n# Writes my-file to /nix/store/<store path>\nconcatTextFile {\n name = \"my-file\";\n files = [ drv1 \"${drv2}/path/to/file\" ];\n}\nSee also the `concatText` helper function below.\n# Writes executable my-file to /nix/store/<store path>/bin/my-file\nconcatTextFile {\n name = \"my-file\";\n files = [ drv1 \"${drv2}/path/to/file\" ];\n executable = true;\n destination = \"/bin/my-file\";\n}\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":466,"column":3},"path":["pkgs","concatTextFile"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.copyPathToStore","path":["pkgs","copyPathToStore"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":927,"column":3},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":927,"column":3},"path":["pkgs","copyPathToStore"],"pos_type":"Attribute"}},"content":{"content":"\nCopy a path to the Nix store.\nNix automatically copies files to the store before stringifying paths.\nIf you need the store path of a file, ${copyPathToStore <path>} can be\nshortened to ${<path>}.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":927,"column":3},"path":["pkgs","copyPathToStore"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.copyPathsToStore","path":["pkgs","copyPathsToStore"],"aliases":[],"signature":null,"is_primop":true,"primop_meta":{"name":null,"args":null,"experimental":null,"arity":null},"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":933,"column":3},"lambda_position":null,"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":933,"column":3},"path":["pkgs","copyPathsToStore"],"pos_type":"Attribute"}},"content":{"content":"\nCopy a list of paths to the Nix store.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":933,"column":3},"path":["pkgs","copyPathsToStore"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.datadog-integrations-core","path":["pkgs","datadog-integrations-core"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31068,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31068,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31068,"column":31},"path":["pkgs","datadog-integrations-core"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31068,"column":31},"path":["pkgs","datadog-integrations-core"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.dhallDirectoryToNix","path":["pkgs","dhallDirectoryToNix"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":594,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dhallPackageToNix","path":["pkgs","dhallPackageToNix"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":596,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dhallToNix","path":["pkgs","dhallToNix"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":598,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dictDBCollector","path":["pkgs","dictDBCollector"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26304,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.diffPlugins","path":["pkgs","diffPlugins"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":865,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/plugins.nix","line":20,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/plugins.nix","line":20,"column":17},"path":["pkgs","diffPlugins"],"pos_type":"Lambda"}},"content":{"content":"\nTakes a list of expected plugin names\n* and compares it to the found plugins given in the file,\n* one plugin per line.\n* If the lists differ, the build fails with a nice message.\n*\n* This is helpful to ensure maintainers dont miss\n* the addition or removal of a plugin.\n\n# Arguments\n\n- [expectedPlugins] \n- [foundPluginsFilePath] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/plugins.nix","line":20,"column":17},"path":["pkgs","diffPlugins"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.directoryListingUpdater","path":["pkgs","directoryListingUpdater"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":138,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.dontRecurseIntoAttrs","path":["pkgs","dontRecurseIntoAttrs"],"aliases":[["lib","dontRecurseIntoAttrs"],["lib","attrsets","dontRecurseIntoAttrs"]],"signature":"dontRecurseIntoAttrs :: AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":102,"column":16},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1531,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"path":["lib","attrsets","dontRecurseIntoAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nUndo the effect of recurseIntoAttrs.\n\n# Type\n\n```\ndontRecurseIntoAttrs :: AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [attrs] An attribute set to not scan for derivations.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1529,"column":3},"path":["lib","attrsets","dontRecurseIntoAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.eggDerivation","path":["pkgs","eggDerivation"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15603,"column":30},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.emacs28WithPackages","path":["pkgs","emacs28WithPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/emacs/wrapper.nix","line":37,"column":1},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/emacs/wrapper.nix","line":37,"column":1},"path":["pkgs","emacs28WithPackages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/emacs/wrapper.nix","line":37,"column":1},"path":["pkgs","emacs28WithPackages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.emacsPackagesFor","path":["pkgs","emacsPackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31341,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31341,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31341,"column":22},"path":["pkgs","emacsPackagesFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":31341,"column":22},"path":["pkgs","emacsPackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.emacsWithPackages","path":["pkgs","emacsWithPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/emacs/wrapper.nix","line":37,"column":1},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/emacs/wrapper.nix","line":37,"column":1},"path":["pkgs","emacsWithPackages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/emacs/wrapper.nix","line":37,"column":1},"path":["pkgs","emacsWithPackages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.enableDebugging","path":["pkgs","enableDebugging"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1437,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1437,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1437,"column":21},"path":["pkgs","enableDebugging"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1437,"column":21},"path":["pkgs","enableDebugging"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.ensureNewerSourcesHook","path":["pkgs","ensureNewerSourcesHook"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":218,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":218,"column":28},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":218,"column":28},"path":["pkgs","ensureNewerSourcesHook"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":218,"column":28},"path":["pkgs","ensureNewerSourcesHook"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.extend","path":["pkgs","extend"],"aliases":[["lib","extend"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":262,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":262,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":262,"column":14},"path":["pkgs","extend"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/stage.nix","line":262,"column":14},"path":["pkgs","extend"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.fetchCrate","path":["pkgs","fetchCrate"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1232,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchDartDeps","path":["pkgs","fetchDartDeps"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41624,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchDebianPatch","path":["pkgs","fetchDebianPatch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1227,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchDockerConfig","path":["pkgs","fetchDockerConfig"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1006,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchDockerLayer","path":["pkgs","fetchDockerLayer"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1008,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFirefoxAddon","path":["pkgs","fetchFirefoxAddon"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1150,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFrom9Front","path":["pkgs","fetchFrom9Front"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1248,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromBitbucket","path":["pkgs","fetchFromBitbucket"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1238,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromGitHub","path":["pkgs","fetchFromGitHub"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1236,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromGitLab","path":["pkgs","fetchFromGitLab"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1244,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromGitea","path":["pkgs","fetchFromGitea"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1234,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromGitiles","path":["pkgs","fetchFromGitiles"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1246,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromRepoOrCz","path":["pkgs","fetchFromRepoOrCz"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1250,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromSavannah","path":["pkgs","fetchFromSavannah"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1240,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchFromSourcehut","path":["pkgs","fetchFromSourcehut"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1242,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchHex","path":["pkgs","fetchHex"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17611,"column":33},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchMavenArtifact","path":["pkgs","fetchMavenArtifact"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1024,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchNextcloudApp","path":["pkgs","fetchNextcloudApp"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1155,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchNpmDeps","path":["pkgs","fetchNpmDeps"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":10335,"column":66},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchNuGet","path":["pkgs","fetchNuGet"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":956,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchPypi","path":["pkgs","fetchPypi"],"aliases":[["pkgs","pythonPackages","fetchPypi"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1254,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchRepoProject","path":["pkgs","fetchRepoProject"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1214,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchYarnDeps","path":["pkgs","fetchYarnDeps"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1028,"column":66},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchbower","path":["pkgs","fetchbower"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":991,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchbzr","path":["pkgs","fetchbzr"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":995,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchcvs","path":["pkgs","fetchcvs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":997,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchdarcs","path":["pkgs","fetchdarcs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1002,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchdocker","path":["pkgs","fetchdocker"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1004,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchegg","path":["pkgs","fetchegg"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15603,"column":30},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/chicken/5/default.nix","line":5,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/chicken/5/default.nix","line":5,"column":14},"path":["pkgs","fetchegg"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/chicken/5/default.nix","line":5,"column":14},"path":["pkgs","fetchegg"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.fetchfossil","path":["pkgs","fetchfossil"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1010,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchgit","path":["pkgs","fetchgit"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1012,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchgitLocal","path":["pkgs","fetchgitLocal"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1020,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchgx","path":["pkgs","fetchgx"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1252,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchhg","path":["pkgs","fetchhg"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1148,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchipfs","path":["pkgs","fetchipfs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1216,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/fetchipfs/default.nix","line":5,"column":1},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchmtn","path":["pkgs","fetchmtn"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1022,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchpatch","path":["pkgs","fetchpatch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1120,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchpatch2","path":["pkgs","fetchpatch2"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1128,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchpijul","path":["pkgs","fetchpijul"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1026,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchs3","path":["pkgs","fetchs3"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1135,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchsvn","path":["pkgs","fetchsvn"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1139,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchsvnrevision","path":["pkgs","fetchsvnrevision"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1144,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/fetchsvnrevision/default.nix","line":1,"column":25},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchsvnssh","path":["pkgs","fetchsvnssh"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1146,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchtorrent","path":["pkgs","fetchtorrent"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1137,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchurl","path":["pkgs","fetchurl"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1158,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.fetchzip","path":["pkgs","fetchzip"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1222,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.forceSystem","path":["pkgs","forceSystem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/aliases.nix","line":53,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/aliases.nix","line":53,"column":17},"path":["pkgs","forceSystem"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/aliases.nix","line":53,"column":17},"path":["pkgs","forceSystem"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.gccFun","path":["pkgs","gccFun"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15845,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":35},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.generateSplicesForMkScope","path":["pkgs","generateSplicesForMkScope"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":151,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":151,"column":31},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":151,"column":31},"path":["pkgs","generateSplicesForMkScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":151,"column":31},"path":["pkgs","generateSplicesForMkScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.genericUpdater","path":["pkgs","genericUpdater"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":134,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.ghc-standalone-archive","path":["pkgs","ghc-standalone-archive"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41720,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.gitUpdater","path":["pkgs","gitUpdater"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":140,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.gradleGen","path":["pkgs","gradleGen"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":19307,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/build-managers/gradle/default.nix","line":6,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/build-managers/gradle/default.nix","line":6,"column":5},"path":["pkgs","gradleGen"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/build-managers/gradle/default.nix","line":6,"column":5},"path":["pkgs","gradleGen"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.hardenedLinuxPackagesFor","path":["pkgs","hardenedLinuxPackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28088,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":582,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":582,"column":25},"path":["pkgs","hardenedLinuxPackagesFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":582,"column":25},"path":["pkgs","hardenedLinuxPackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.hiPrio","path":["pkgs","hiPrio"],"aliases":[["lib","hiPrio"],["lib","meta","hiPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":92,"column":16},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":28},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"path":["lib","meta","hiPrio"],"pos_type":"Attribute"}},"content":{"content":"\nIncrease the nix-env priority of the package, i.e., this\nversion/variant of the package will be preferred.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":128,"column":3},"path":["lib","meta","hiPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.httpTwoLevelsUpdater","path":["pkgs","httpTwoLevelsUpdater"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":142,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.hunspellWithDicts","path":["pkgs","hunspellWithDicts"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":22061,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":22061,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":22061,"column":23},"path":["pkgs","hunspellWithDicts"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":22061,"column":23},"path":["pkgs","hunspellWithDicts"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.impureUseNativeOptimizations","path":["pkgs","impureUseNativeOptimizations"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":305,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":305,"column":34},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":305,"column":3},"path":["pkgs","impureUseNativeOptimizations"],"pos_type":"Attribute"}},"content":{"content":"\nModify a stdenv so that it builds binaries optimized specifically\nfor the machine they are built on.\nWARNING: this breaks purity!\n\n# Arguments\n\n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":305,"column":3},"path":["pkgs","impureUseNativeOptimizations"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.invalidateFetcherByDrvHash","path":["pkgs","invalidateFetcherByDrvHash"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":82,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":82,"column":32},"path":["pkgs","invalidateFetcherByDrvHash"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":82,"column":32},"path":["pkgs","invalidateFetcherByDrvHash"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.jdkdistro","path":["pkgs","jdkdistro"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16500,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":22},"path":["pkgs","jdkdistro"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":22},"path":["pkgs","jdkdistro"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.keepDebugInfo","path":["pkgs","keepDebugInfo"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":251,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":251,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":251,"column":3},"path":["pkgs","keepDebugInfo"],"pos_type":"Attribute"}},"content":{"content":"\nModify a stdenv so that it produces debug builds; that is,\nbinaries have debug info, and compiler optimisations are\ndisabled.\n\n# Arguments\n\n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":251,"column":3},"path":["pkgs","keepDebugInfo"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.libcCrossChooser","path":["pkgs","libcCrossChooser"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21609,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21609,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21609,"column":22},"path":["pkgs","libcCrossChooser"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21609,"column":22},"path":["pkgs","libcCrossChooser"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.libcIconv","path":["pkgs","libcIconv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":23135,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":23135,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":23135,"column":15},"path":["pkgs","libcIconv"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":23135,"column":15},"path":["pkgs","libcIconv"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.linkFarm","path":["pkgs","linkFarm"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":619,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":619,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":619,"column":3},"path":["pkgs","linkFarm"],"pos_type":"Attribute"}},"content":{"content":"\nQuickly create a set of symlinks to derivations.\nThis creates a simple derivation with symlinks to all inputs.\nentries can be a list of attribute sets like\n[ { name = \"name\" ; path = \"/nix/store/...\"; } ]\nor an attribute set name -> path like:\n{ name = \"/nix/store/...\"; other = \"/nix/store/...\"; }\n\n# Example\n\n```nix\n# Symlinks hello and stack paths in store to current $out/hello-test and\n# $out/foobar.\nlinkFarm \"myexample\" [ { name = \"hello-test\"; path = pkgs.hello; } { name = \"foobar\"; path = pkgs.stack; } ]\nThis creates a derivation with a directory structure like the following:\n/nix/store/qc5728m4sa344mbks99r3q05mymwm4rw-myexample\n|-- foobar -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1\n`-- hello-test -> /nix/store/qy93dp4a3rqyn2mz63fbxjg228hffwyw-hello-2.10\nSee the note on symlinkJoin for the difference between linkFarm and symlinkJoin.\n```\n\n# Arguments\n\n- [name] \n- [entries] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":619,"column":3},"path":["pkgs","linkFarm"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.linkFarmFromDrvs","path":["pkgs","linkFarmFromDrvs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":666,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":666,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":666,"column":3},"path":["pkgs","linkFarmFromDrvs"],"pos_type":"Attribute"}},"content":{"content":"\nEasily create a linkFarm from a set of derivations.\nThis calls linkFarm with a list of entries created from the list of input\nderivations. It turns each input derivation into an attribute set\nlike { name = drv.name ; path = drv }, and passes this to linkFarm.\n\n# Example\n\n```nix\n# Symlinks the hello, gcc, and ghc derivations in $out\nlinkFarmFromDrvs \"myexample\" [ pkgs.hello pkgs.gcc pkgs.ghc ]\nThis creates a derivation with a directory structure like the following:\n/nix/store/m3s6wkjy9c3wy830201bqsb91nk2yj8c-myexample\n|-- gcc-wrapper-9.2.0 -> /nix/store/fqhjxf9ii4w4gqcsx59fyw2vvj91486a-gcc-wrapper-9.2.0\n|-- ghc-8.6.5 -> /nix/store/gnf3s07bglhbbk4y6m76sbh42siym0s6-ghc-8.6.5\n`-- hello-2.10 -> /nix/store/k0ll91c4npk4lg8lqhx00glg2m735g74-hello-2.10\n```\n\n# Arguments\n\n- [name] \n- [drvs] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":666,"column":3},"path":["pkgs","linkFarmFromDrvs"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.linuxConfig","path":["pkgs","linuxConfig"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28084,"column":24},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":668,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":668,"column":17},"path":["pkgs","linuxConfig"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":668,"column":17},"path":["pkgs","linuxConfig"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.linuxManualConfig","path":["pkgs","linuxManualConfig"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28090,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.linuxPackagesFor","path":["pkgs","linuxPackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28086,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":289,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":289,"column":17},"path":["pkgs","linuxPackagesFor"],"pos_type":"Lambda"}},"content":{"content":"\nLinux kernel modules are inherently tied to a specific kernel. So\nrather than provide specific instances of those packages for a\nspecific kernel, we have a function that builds those packages\nfor a specific kernel. This function can then be called for\nwhatever kernel you're using.\n\n# Arguments\n\n- [kernel_] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":289,"column":17},"path":["pkgs","linuxPackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.linuxPackages_custom","path":["pkgs","linuxPackages_custom"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28092,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":662,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":662,"column":19},"path":["pkgs","linuxPackages_custom"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/linux-kernels.nix","line":662,"column":19},"path":["pkgs","linuxPackages_custom"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.lispPackagesFor","path":["pkgs","lispPackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25949,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25949,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25949,"column":21},"path":["pkgs","lispPackagesFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25949,"column":21},"path":["pkgs","lispPackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.lowPrio","path":["pkgs","lowPrio"],"aliases":[["lib","lowPrio"],["lib","meta","lowPrio"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":92,"column":16},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":27,"column":28},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"path":["lib","meta","lowPrio"],"pos_type":"Attribute"}},"content":{"content":"\nDecrease the nix-env priority of the package, i.e., other\nversions/variants of the package will be preferred.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/meta.nix","line":111,"column":3},"path":["lib","meta","lowPrio"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.makeAutostartItem","path":["pkgs","makeAutostartItem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1292,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeDBusConf","path":["pkgs","makeDBusConf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21010,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21010,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21010,"column":18},"path":["pkgs","makeDBusConf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21010,"column":18},"path":["pkgs","makeDBusConf"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeDarwinBundle","path":["pkgs","makeDarwinBundle"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1290,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeDesktopItem","path":["pkgs","makeDesktopItem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1282,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeFontsCache","path":["pkgs","makeFontsCache"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21342,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21342,"column":53},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21342,"column":53},"path":["pkgs","makeFontsCache"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21342,"column":53},"path":["pkgs","makeFontsCache"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeFontsConf","path":["pkgs","makeFontsConf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21337,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21337,"column":52},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21337,"column":52},"path":["pkgs","makeFontsConf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21337,"column":52},"path":["pkgs","makeFontsConf"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeHardcodeGsettingsPatch","path":["pkgs","makeHardcodeGsettingsPatch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1434,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeImpureTest","path":["pkgs","makeImpureTest"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1294,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":35},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeInitrd","path":["pkgs","makeInitrd"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1296,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":35},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeInitrdNG","path":["pkgs","makeInitrdNG"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1298,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":35},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeLinuxHeaders","path":["pkgs","makeLinuxHeaders"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":28075,"column":102},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeModulesClosure","path":["pkgs","makeModulesClosure"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1319,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1319,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1319,"column":24},"path":["pkgs","makeModulesClosure"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1319,"column":24},"path":["pkgs","makeModulesClosure"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeOverridable","path":["pkgs","makeOverridable"],"aliases":[["lib","makeOverridable"],["lib","customisation","makeOverridable"]],"signature":"makeOverridable :: (AttrSet -> a) -> AttrSet -> a\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":92,"column":16},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"path":["lib","customisation","makeOverridable"],"pos_type":"Attribute"}},"content":{"content":"\n`makeOverridable` takes a function from attribute set to attribute set and\ninjects `override` attribute which can be used to override arguments of\nthe function.\nPlease refer to documentation on [`<pkg>.overrideDerivation`](#sec-pkg-overrideDerivation) to learn about `overrideDerivation` and caveats\nrelated to its use.\n\n# Example\n\n```nix\nnix-repl> x = {a, b}: { result = a + b; }\nnix-repl> y = lib.makeOverridable x { a = 1; b = 2; }\nnix-repl> y\n{ override = «lambda»; overrideDerivation = «lambda»; result = 3; }\nnix-repl> y.override { a = 10; }\n{ override = «lambda»; overrideDerivation = «lambda»; result = 12; }\n```\n\n# Type\n\n```\nmakeOverridable :: (AttrSet -> a) -> AttrSet -> a\n```\n\n# Arguments\n\n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":96,"column":3},"path":["lib","customisation","makeOverridable"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.makePkgconfigItem","path":["pkgs","makePkgconfigItem"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1288,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeRustPlatform","path":["pkgs","makeRustPlatform"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16947,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.makeScopeWithSplicing","path":["pkgs","makeScopeWithSplicing"],"aliases":[["lib","makeScopeWithSplicing"],["lib","customisation","makeScopeWithSplicing"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":147,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":395,"column":31},"count_applied":2,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"path":["lib","customisation","makeScopeWithSplicing"],"pos_type":"Attribute"}},"content":{"content":"\nbackward compatibility with old uncurried form; deprecated\n\n# Arguments\n\n- [splicePackages] \n- [newScope] \n- [otherSplices] \n- [keep] \n- [extra] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":394,"column":3},"path":["lib","customisation","makeScopeWithSplicing"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.makeScopeWithSplicing' (Prime)","path":["pkgs","makeScopeWithSplicing'"],"aliases":[["lib","makeScopeWithSplicing'"],["lib","customisation","makeScopeWithSplicing'"]],"signature":"makeScopeWithSplicing' ::\n { splicePackages :: Splice -> AttrSet\n , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n }\n -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }\n -> AttrSet\nSplice ::\n { pkgsBuildBuild :: AttrSet\n , pkgsBuildHost :: AttrSet\n , pkgsBuildTarget :: AttrSet\n , pkgsHostHost :: AttrSet\n , pkgsHostTarget :: AttrSet\n , pkgsTargetTarget :: AttrSet\n }\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":148,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":431,"column":5},"count_applied":1,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"path":["lib","customisation","makeScopeWithSplicing'"],"pos_type":"Attribute"}},"content":{"content":"\nLike makeScope, but aims to support cross compilation. It's still ugly, but\nhopefully it helps a little bit.\n\n# Type\n\n```\nmakeScopeWithSplicing' ::\n { splicePackages :: Splice -> AttrSet\n , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a\n }\n -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }\n -> AttrSet\nSplice ::\n { pkgsBuildBuild :: AttrSet\n , pkgsBuildHost :: AttrSet\n , pkgsBuildTarget :: AttrSet\n , pkgsHostHost :: AttrSet\n , pkgsHostTarget :: AttrSet\n , pkgsTargetTarget :: AttrSet\n }\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":427,"column":3},"path":["lib","customisation","makeScopeWithSplicing'"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.makeSetupHook","path":["pkgs","makeSetupHook"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":672,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":673,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":673,"column":5},"path":["pkgs","makeSetupHook"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":673,"column":5},"path":["pkgs","makeSetupHook"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeStatic","path":["pkgs","makeStatic"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":163,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":163,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":163,"column":16},"path":["pkgs","makeStatic"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":163,"column":16},"path":["pkgs","makeStatic"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeStaticBinaries","path":["pkgs","makeStaticBinaries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":104,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":104,"column":24},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":104,"column":24},"path":["pkgs","makeStaticBinaries"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":104,"column":24},"path":["pkgs","makeStaticBinaries"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeStaticDarwin","path":["pkgs","makeStaticDarwin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":142,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":142,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":142,"column":22},"path":["pkgs","makeStaticDarwin"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":142,"column":22},"path":["pkgs","makeStaticDarwin"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.makeStaticLibraries","path":["pkgs","makeStaticLibraries"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":126,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":126,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":126,"column":25},"path":["pkgs","makeStaticLibraries"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":126,"column":25},"path":["pkgs","makeStaticLibraries"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkBinaryCache","path":["pkgs","mkBinaryCache"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1324,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkCoqPackages","path":["pkgs","mkCoqPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":39504,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/coq-packages.nix","line":181,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/coq-packages.nix","line":181,"column":19},"path":["pkgs","mkCoqPackages"],"pos_type":"Lambda"}},"content":{"content":"\nThe function `mkCoqPackages` takes as input a derivation for Coq and produces\n* a set of libraries built with that specific Coq. More libraries are known to\n* this function than what is compatible with that version of Coq. Therefore,\n* libraries that are not known to be compatible are removed (filtered out) from\n* the resulting set. For meta-programming purposes (inpecting the derivations\n* rather than building the libraries) this filtering can be disabled by setting\n* a `dontFilter` attribute into the Coq derivation.\n\n# Arguments\n\n- [coq] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/coq-packages.nix","line":181,"column":19},"path":["pkgs","mkCoqPackages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkKops","path":["pkgs","mkKops"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40514,"column":67},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/networking/cluster/kops/default.nix","line":3,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/networking/cluster/kops/default.nix","line":3,"column":13},"path":["pkgs","mkKops"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/networking/cluster/kops/default.nix","line":3,"column":13},"path":["pkgs","mkKops"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkNoto","path":["pkgs","mkNoto"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":29712,"column":53},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkNugetDeps","path":["pkgs","mkNugetDeps"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":941,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkNugetSource","path":["pkgs","mkNugetSource"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":940,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkNvidiaContainerPkg","path":["pkgs","mkNvidiaContainerPkg"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24189,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24189,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24189,"column":26},"path":["pkgs","mkNvidiaContainerPkg"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24189,"column":26},"path":["pkgs","mkNvidiaContainerPkg"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkRuby","path":["pkgs","mkRuby"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18021,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/ruby/default.nix","line":21,"column":13},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/ruby/default.nix","line":21,"column":13},"path":["pkgs","mkRuby"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/ruby/default.nix","line":21,"column":13},"path":["pkgs","mkRuby"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkRubyVersion","path":["pkgs","mkRubyVersion"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18021,"column":5},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/ruby/ruby-version.nix","line":6,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/ruby/ruby-version.nix","line":6,"column":17},"path":["pkgs","mkRubyVersion"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/ruby/ruby-version.nix","line":6,"column":17},"path":["pkgs","mkRubyVersion"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkSaneConfig","path":["pkgs","mkSaneConfig"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41104,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkShell","path":["pkgs","mkShell"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1326,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkShellNoCC","path":["pkgs","mkShellNoCC"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1327,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.mkStdenvNoLibs","path":["pkgs","mkStdenvNoLibs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":48,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":48,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":48,"column":20},"path":["pkgs","mkStdenvNoLibs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":48,"column":20},"path":["pkgs","mkStdenvNoLibs"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkTerraform","path":["pkgs","mkTerraform"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41189,"column":73},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/networking/cluster/terraform/default.nix","line":167,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/networking/cluster/terraform/default.nix","line":167,"column":17},"path":["pkgs","mkTerraform"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/networking/cluster/terraform/default.nix","line":167,"column":17},"path":["pkgs","mkTerraform"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkYarnModules","path":["pkgs","mkYarnModules"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15143,"column":29},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix","line":63,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix","line":63,"column":19},"path":["pkgs","mkYarnModules"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix","line":63,"column":19},"path":["pkgs","mkYarnModules"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mkYarnPackage","path":["pkgs","mkYarnPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15143,"column":29},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix","line":249,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix","line":249,"column":19},"path":["pkgs","mkYarnPackage"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix","line":249,"column":19},"path":["pkgs","mkYarnPackage"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.mpdWithFeatures","path":["pkgs","mpdWithFeatures"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26665,"column":5},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.myEnvFun","path":["pkgs","myEnvFun"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41590,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.newScope","path":["pkgs","newScope"],"aliases":[["pkgs","pythonPackages","newScope"],["pkgs","rustPackages","newScope"],["pkgs","rustPackages","buildRustPackages","newScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":144,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":144,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":144,"column":14},"path":["pkgs","newScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":144,"column":14},"path":["pkgs","newScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.nix-update-script","path":["pkgs","nix-update-script"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":146,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.nixos","path":["pkgs","nixos"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40654,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40655,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40654,"column":3},"path":["pkgs","nixos"],"pos_type":"Attribute"}},"content":{"content":"\nEvaluate a NixOS configuration using this evaluation of Nixpkgs.\nWith this function you can write, for example, a package that\ndepends on a custom virtual machine image.\nParameter: A module, path or list of those that represent the\nconfiguration of the NixOS system to be constructed.\nResult: An attribute set containing packages produced by this\nevaluation of NixOS, such as toplevel, kernel and\ninitialRamdisk.\nThe result can be extended in the modules by defining\nextra attributes in system.build.\nAlternatively, you may use the result's config and\noptions attributes to query any option.\n\n# Example\n\n```nix\nlet\n myOS = pkgs.nixos ({ lib, pkgs, config, ... }: {\n config.services.nginx = {\n enable = true;\n # ...\n };\n # Use config.system.build to exports relevant parts of a\n # configuration. The runner attribute should not be\n # considered a fully general replacement for systemd\n # functionality.\n config.system.build.run-nginx = config.systemd.services.nginx.runner;\n });\n in\n myOS.run-nginx\nUnlike in plain NixOS, the nixpkgs.config and\nnixpkgs.system options will be ignored by default. Instead,\nnixpkgs.pkgs will have the default value of pkgs as it was\nconstructed right after invoking the nixpkgs function (e.g. the\nvalue of import <nixpkgs> { overlays = [./my-overlay.nix]; }\nbut not the value of (import <nixpkgs> {} // { extra = ...; }).\nIf you do want to use the config.nixpkgs options, you are\nprobably better off by calling nixos/lib/eval-config.nix\ndirectly, even though it is possible to set config.nixpkgs.pkgs.\nFor more information about writing NixOS modules, see\nhttps://nixos.org/nixos/manual/index.html#sec-writing-modules\nNote that you will need to have called Nixpkgs with the system\nparameter set to the right value for your deployment target.\n```\n\n# Arguments\n\n- [configuration] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40654,"column":3},"path":["pkgs","nixos"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.nixosOptionsDoc","path":["pkgs","nixosOptionsDoc"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40696,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40696,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40696,"column":21},"path":["pkgs","nixosOptionsDoc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40696,"column":21},"path":["pkgs","nixosOptionsDoc"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.nixosTest","path":["pkgs","nixosTest"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":132,"column":7},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":132,"column":7},"path":["pkgs","nixosTest"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":132,"column":7},"path":["pkgs","nixosTest"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.nuspellWithDicts","path":["pkgs","nuspellWithDicts"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24182,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24182,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24182,"column":22},"path":["pkgs","nuspellWithDicts"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24182,"column":22},"path":["pkgs","nuspellWithDicts"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.oraclejdk8distro","path":["pkgs","oraclejdk8distro"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":22},"path":["pkgs","oraclejdk8distro"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16502,"column":22},"path":["pkgs","oraclejdk8distro"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.overrideCC","path":["pkgs","overrideCC"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":37,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":37,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":37,"column":16},"path":["pkgs","overrideCC"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":37,"column":16},"path":["pkgs","overrideCC"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.overrideInStdenv","path":["pkgs","overrideInStdenv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":43,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":43,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":43,"column":22},"path":["pkgs","overrideInStdenv"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":43,"column":22},"path":["pkgs","overrideInStdenv"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.overrideLibcxx","path":["pkgs","overrideLibcxx"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":53,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":53,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":53,"column":20},"path":["pkgs","overrideLibcxx"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":53,"column":20},"path":["pkgs","overrideLibcxx"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.overrideSDK","path":["pkgs","overrideSDK"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":354,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":354,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":354,"column":17},"path":["pkgs","overrideSDK"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":354,"column":17},"path":["pkgs","overrideSDK"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.overrideSetup","path":["pkgs","overrideSetup"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":99,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":99,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":99,"column":19},"path":["pkgs","overrideSetup"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":99,"column":19},"path":["pkgs","overrideSetup"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pkgsModule","path":["pkgs","pkgsModule"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40684,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40684,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40684,"column":3},"path":["pkgs","pkgsModule"],"pos_type":"Attribute"}},"content":{"content":"\nA NixOS/home-manager/arion/... module that sets the `pkgs` module argument.\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":40684,"column":3},"path":["pkgs","pkgsModule"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.portableService","path":["pkgs","portableService"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":19789,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.prefer-remote-fetch","path":["pkgs","prefer-remote-fetch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1038,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/prefer-remote-fetch/default.nix","line":13,"column":1},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/prefer-remote-fetch/default.nix","line":13,"column":1},"path":["pkgs","prefer-remote-fetch"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/prefer-remote-fetch/default.nix","line":13,"column":1},"path":["pkgs","prefer-remote-fetch"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.propagateBuildInputs","path":["pkgs","propagateBuildInputs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":183,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":183,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":183,"column":3},"path":["pkgs","propagateBuildInputs"],"pos_type":"Attribute"}},"content":{"content":"\nModify a stdenv so that all buildInputs are implicitly propagated to\nconsuming derivations\n\n# Arguments\n\n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":183,"column":3},"path":["pkgs","propagateBuildInputs"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.puredata-with-plugins","path":["pkgs","puredata-with-plugins"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":34863,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":34863,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":34863,"column":27},"path":["pkgs","puredata-with-plugins"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":34863,"column":27},"path":["pkgs","puredata-with-plugins"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.python-setup-hook","path":["pkgs","python-setup-hook"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17922,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.qtEnv","path":["pkgs","qtEnv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":24647,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.quake3wrapper","path":["pkgs","quake3wrapper"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":38242,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.quicklispPackagesFor","path":["pkgs","quicklispPackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25956,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25956,"column":26},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25956,"column":26},"path":["pkgs","quicklispPackagesFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25956,"column":26},"path":["pkgs","quicklispPackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rebar3WithPlugins","path":["pkgs","rebar3WithPlugins"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17611,"column":33},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/build-managers/rebar3/default.nix","line":101,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/build-managers/rebar3/default.nix","line":101,"column":23},"path":["pkgs","rebar3WithPlugins"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/tools/build-managers/rebar3/default.nix","line":101,"column":23},"path":["pkgs","rebar3WithPlugins"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.recurseIntoAttrs","path":["pkgs","recurseIntoAttrs"],"aliases":[["lib","recurseIntoAttrs"],["lib","attrsets","recurseIntoAttrs"]],"signature":"recurseIntoAttrs :: AttrSet -> AttrSet\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":94,"column":16},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1512,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"path":["lib","attrsets","recurseIntoAttrs"],"pos_type":"Attribute"}},"content":{"content":"\nMake various Nix tools consider the contents of the resulting\nattribute set when looking for what to build, find, etc.\nThis function only affects a single attribute set; it does not\napply itself recursively for nested attribute sets.\n\n# Example\n\n```nix\n{ pkgs ? import <nixpkgs> {} }:\n{\n myTools = pkgs.lib.recurseIntoAttrs {\n inherit (pkgs) hello figlet;\n };\n}\n```\n\n# Type\n\n```\nrecurseIntoAttrs :: AttrSet -> AttrSet\n```\n\n# Arguments\n\n- [attrs] An attribute set to scan for derivations.\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/attrsets.nix","line":1510,"column":3},"path":["lib","attrsets","recurseIntoAttrs"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.referencesByPopularity","path":["pkgs","referencesByPopularity"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1387,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.replaceDependency","path":["pkgs","replaceDependency"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1381,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.requireFile","path":["pkgs","requireFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":870,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":870,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":870,"column":3},"path":["pkgs","requireFile"],"pos_type":"Attribute"}},"content":{"content":"\nPrint an error message if the file with the specified name and\nhash doesn't exist in the Nix store. This function should only\nbe used by non-redistributable software with an unfree license\nthat we need to require the user to download manually. It produces\npackages that cannot be built automatically.\n\n# Example\n\n```nix\nrequireFile {\n name = \"my-file\";\n url = \"http://example.com/download/\";\n sha256 = \"ffffffffffffffffffffffffffffffffffffffffffffffffffff\";\n}\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":870,"column":3},"path":["pkgs","requireFile"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.resolveMirrorURLs","path":["pkgs","resolveMirrorURLs"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1256,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1256,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1256,"column":23},"path":["pkgs","resolveMirrorURLs"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1256,"column":23},"path":["pkgs","resolveMirrorURLs"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.runCommand","path":["pkgs","runCommand"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":3},"path":["pkgs","runCommand"],"pos_type":"Attribute"}},"content":{"content":"\nRun the shell command `buildCommand' to produce a store path named\n`name'. The attributes in `env' are added to the environment\nprior to running the command. By default `runCommand` runs in a\nstdenv with no compiler environment. `runCommandCC` uses the default\nstdenv, `pkgs.stdenv`.\n\n# Example\n\n```nix\nrunCommand \"name\" {envVariable = true;} ''echo hello > $out''\nrunCommandCC \"name\" {} ''gcc -o myfile myfile.c; cp myfile $out'';\nThe `*Local` variants force a derivation to be built locally,\nit is not substituted.\nThis is intended for very cheap commands (<1s execution time).\nIt saves on the network roundrip and can speed up a build.\nIt is the same as adding the special fields\n`preferLocalBuild = true;`\n`allowSubstitutes = false;`\nto a derivations attributes.\n```\n\n# Arguments\n\n- [name] \n- [env] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":3},"path":["pkgs","runCommand"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.runCommandCC","path":["pkgs","runCommandCC"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":53,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":53,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":53,"column":18},"path":["pkgs","runCommandCC"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":53,"column":18},"path":["pkgs","runCommandCC"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.runCommandLocal","path":["pkgs","runCommandLocal"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":21},"path":["pkgs","runCommandLocal"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":21},"path":["pkgs","runCommandLocal"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.runCommandNoCC","path":["pkgs","runCommandNoCC"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":16},"path":["pkgs","runCommandNoCC"],"pos_type":"Lambda"}},"content":{"content":"\nRun the shell command `buildCommand' to produce a store path named\n`name'. The attributes in `env' are added to the environment\nprior to running the command. By default `runCommand` runs in a\nstdenv with no compiler environment. `runCommandCC` uses the default\nstdenv, `pkgs.stdenv`.\n\n# Example\n\n```nix\nrunCommand \"name\" {envVariable = true;} ''echo hello > $out''\nrunCommandCC \"name\" {} ''gcc -o myfile myfile.c; cp myfile $out'';\nThe `*Local` variants force a derivation to be built locally,\nit is not substituted.\nThis is intended for very cheap commands (<1s execution time).\nIt saves on the network roundrip and can speed up a build.\nIt is the same as adding the special fields\n`preferLocalBuild = true;`\n`allowSubstitutes = false;`\nto a derivations attributes.\n```\n\n# Arguments\n\n- [name] \n- [env] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":40,"column":16},"path":["pkgs","runCommandNoCC"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.runCommandNoCCLocal","path":["pkgs","runCommandNoCCLocal"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":21},"path":["pkgs","runCommandNoCCLocal"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":46,"column":21},"path":["pkgs","runCommandNoCCLocal"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.runCommandWith","path":["pkgs","runCommandWith"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":72,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":77,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":72,"column":3},"path":["pkgs","runCommandWith"],"pos_type":"Attribute"}},"content":{"content":"\nGeneralized version of the `runCommand`-variants\nwhich does customized behavior via a single\nattribute set passed as the first argument\ninstead of having a lot of variants like\n`runCommand*`. Additionally it allows changing\nthe used `stdenv` freely and has a more explicit\napproach to changing the arguments passed to\n`stdenv.mkDerivation`.\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":72,"column":3},"path":["pkgs","runCommandWith"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.setupSystemdUnits","path":["pkgs","setupSystemdUnits"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1356,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.sourceFromHead","path":["pkgs","sourceFromHead"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":18138,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.splicePackages","path":["pkgs","splicePackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":135,"column":10},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":98,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":98,"column":5},"path":["pkgs","splicePackages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/splice.nix","line":98,"column":5},"path":["pkgs","splicePackages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.srcOnly","path":["pkgs","srcOnly"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1371,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.substitute","path":["pkgs","substitute"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1375,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.substituteAll","path":["pkgs","substituteAll"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1377,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.substituteAllFiles","path":["pkgs","substituteAllFiles"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":1379,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.symlinkJoin","path":["pkgs","symlinkJoin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":569,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":570,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":569,"column":3},"path":["pkgs","symlinkJoin"],"pos_type":"Attribute"}},"content":{"content":"\nCreate a forest of symlinks to the files in `paths'.\nThis creates a single derivation that replicates the directory structure\nof all the input paths.\nBEWARE: it may not \"work right\" when the passed paths contain symlinks to directories.\n\n# Example\n\n```nix\n# adds symlinks of hello to current build.\nsymlinkJoin { name = \"myhello\"; paths = [ pkgs.hello ]; }\n# adds symlinks of hello and stack to current build and prints \"links added\"\nsymlinkJoin { name = \"myexample\"; paths = [ pkgs.hello pkgs.stack ]; postBuild = \"echo links added\"; }\nThis creates a derivation with a directory structure like the following:\n/nix/store/sglsr5g079a5235hy29da3mq3hv8sjmm-myexample\n|-- bin\n| |-- hello -> /nix/store/qy93dp4a3rqyn2mz63fbxjg228hffwyw-hello-2.10/bin/hello\n| `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/bin/stack\n`-- share\n |-- bash-completion\n | `-- completions\n | `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/bash-completion/completions/stack\n |-- fish\n | `-- vendor_completions.d\n | `-- stack.fish -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/fish/vendor_completions.d/stack.fish\n...\nsymlinkJoin and linkFarm are similar functions, but they output\nderivations with different structure.\nsymlinkJoin is used to create a derivation with a familiar directory\nstructure (top-level bin/, share/, etc), but with all actual files being symlinks to\nthe files in the input derivations.\nsymlinkJoin is used many places in nixpkgs to create a single derivation\nthat appears to contain binaries, libraries, documentation, etc from\nmultiple input derivations.\nlinkFarm is instead used to create a simple derivation with symlinks to\nother derivations. A derivation created with linkFarm is often used in CI\nas a easy way to build multiple derivations at once.\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":569,"column":3},"path":["pkgs","symlinkJoin"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.testVersion","path":["pkgs","testVersion"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":59,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":59,"column":5},"path":["pkgs","testVersion"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/testers/default.nix","line":59,"column":5},"path":["pkgs","testVersion"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.themes","path":["pkgs","themes"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":30071,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":30071,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":30071,"column":12},"path":["pkgs","themes"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":30071,"column":12},"path":["pkgs","themes"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.threadsCrossFor","path":["pkgs","threadsCrossFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21638,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21638,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21638,"column":21},"path":["pkgs","threadsCrossFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":21638,"column":21},"path":["pkgs","threadsCrossFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.traceDrvLicenses","path":["pkgs","traceDrvLicenses"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":225,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":225,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":225,"column":3},"path":["pkgs","traceDrvLicenses"],"pos_type":"Attribute"}},"content":{"content":"\nUse the trace output to report all processed derivations with their\nlicense name.\n\n# Arguments\n\n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":225,"column":3},"path":["pkgs","traceDrvLicenses"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.unstableGitUpdater","path":["pkgs","unstableGitUpdater"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":144,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.useGoldLinker","path":["pkgs","useGoldLinker"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":268,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":268,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":268,"column":3},"path":["pkgs","useGoldLinker"],"pos_type":"Attribute"}},"content":{"content":"\nModify a stdenv so that it uses the Gold linker.\n\n# Arguments\n\n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":268,"column":3},"path":["pkgs","useGoldLinker"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.useMoldLinker","path":["pkgs","useMoldLinker"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":275,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":275,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":275,"column":19},"path":["pkgs","useMoldLinker"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":275,"column":19},"path":["pkgs","useMoldLinker"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.vscode-fhsWithPackages","path":["pkgs","vscode-fhsWithPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36321,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/editors/vscode/generic.nix","line":120,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/editors/vscode/generic.nix","line":120,"column":23},"path":["pkgs","vscode-fhsWithPackages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/editors/vscode/generic.nix","line":120,"column":23},"path":["pkgs","vscode-fhsWithPackages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.vscodium-fhsWithPackages","path":["pkgs","vscodium-fhsWithPackages"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36331,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/editors/vscode/generic.nix","line":120,"column":23},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/editors/vscode/generic.nix","line":120,"column":23},"path":["pkgs","vscodium-fhsWithPackages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/applications/editors/vscode/generic.nix","line":120,"column":23},"path":["pkgs","vscodium-fhsWithPackages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.winePackagesFor","path":["pkgs","winePackagesFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41422,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41422,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41422,"column":21},"path":["pkgs","winePackagesFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":41422,"column":21},"path":["pkgs","winePackagesFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.withCFlags","path":["pkgs","withCFlags"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":340,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":340,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":340,"column":3},"path":["pkgs","withCFlags"],"pos_type":"Attribute"}},"content":{"content":"\nModify a stdenv so that it builds binaries with the specified list of\ncompilerFlags appended and passed to the compiler.\nThis example would recompile every derivation on the system with\n-funroll-loops and -O3 passed to each gcc invocation.\n\n# Example\n\n```nix\nnixpkgs.overlays = [\n (self: super: {\n stdenv = super.withCFlags [ \"-funroll-loops\" \"-O3\" ] super.stdenv;\n })\n];\n```\n\n# Arguments\n\n- [compilerFlags] \n- [stdenv] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/adapters.nix","line":340,"column":3},"path":["pkgs","withCFlags"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.wrapBintoolsWith","path":["pkgs","wrapBintoolsWith"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17417,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17418,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17418,"column":5},"path":["pkgs","wrapBintoolsWith"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17418,"column":5},"path":["pkgs","wrapBintoolsWith"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapCC","path":["pkgs","wrapCC"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17413,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17413,"column":12},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17413,"column":12},"path":["pkgs","wrapCC"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17413,"column":12},"path":["pkgs","wrapCC"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapCCMulti","path":["pkgs","wrapCCMulti"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15887,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15887,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15887,"column":17},"path":["pkgs","wrapCCMulti"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15887,"column":17},"path":["pkgs","wrapCCMulti"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapCCWith","path":["pkgs","wrapCCWith"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17381,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17382,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17382,"column":5},"path":["pkgs","wrapCCWith"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":17382,"column":5},"path":["pkgs","wrapCCWith"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapClangMulti","path":["pkgs","wrapClangMulti"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15910,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15910,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15910,"column":20},"path":["pkgs","wrapClangMulti"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15910,"column":20},"path":["pkgs","wrapClangMulti"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapFirefox","path":["pkgs","wrapFirefox"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36539,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapFish","path":["pkgs","wrapFish"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15411,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapHelm","path":["pkgs","wrapHelm"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":33271,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapKakoune","path":["pkgs","wrapKakoune"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":9746,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":9746,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":9746,"column":17},"path":["pkgs","wrapKakoune"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":9746,"column":17},"path":["pkgs","wrapKakoune"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapLisp","path":["pkgs","wrapLisp"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25972,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapLisp_old","path":["pkgs","wrapLisp_old"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25947,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25947,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25947,"column":18},"path":["pkgs","wrapLisp_old"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":25947,"column":18},"path":["pkgs","wrapLisp_old"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapLispi686Linux","path":["pkgs","wrapLispi686Linux"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":26001,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapMpv","path":["pkgs","wrapMpv"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":33969,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapNeovim","path":["pkgs","wrapNeovim"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36180,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36180,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36180,"column":16},"path":["pkgs","wrapNeovim"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36180,"column":16},"path":["pkgs","wrapNeovim"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapNeovimUnstable","path":["pkgs","wrapNeovimUnstable"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36179,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapNonDeterministicGcc","path":["pkgs","wrapNonDeterministicGcc"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15848,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15848,"column":29},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15848,"column":29},"path":["pkgs","wrapNonDeterministicGcc"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":15848,"column":29},"path":["pkgs","wrapNonDeterministicGcc"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapOBS","path":["pkgs","wrapOBS"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":34431,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapQemuBinfmtP","path":["pkgs","wrapQemuBinfmtP"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":34907,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapRetroArch","path":["pkgs","wrapRetroArch"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":2889,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":2889,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":2889,"column":19},"path":["pkgs","wrapRetroArch"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":2889,"column":19},"path":["pkgs","wrapRetroArch"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.wrapThunderbird","path":["pkgs","wrapThunderbird"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36541,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapWatcom","path":["pkgs","wrapWatcom"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":16873,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.wrapWeechat","path":["pkgs","wrapWeechat"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":36446,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writeCBin","path":["pkgs","writeCBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":419,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":419,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":419,"column":15},"path":["pkgs","writeCBin"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":419,"column":15},"path":["pkgs","writeCBin"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.writeCueValidator","path":["pkgs","writeCueValidator"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":3712,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writeDirectReferencesToFile","path":["pkgs","writeDirectReferencesToFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":738,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":738,"column":33},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":738,"column":3},"path":["pkgs","writeDirectReferencesToFile"],"pos_type":"Attribute"}},"content":{"content":"\nWrite the set of references to a file, that is, their immediate dependencies.\nThis produces the equivalent of `nix-store -q --references`.\n\n# Arguments\n\n- [path] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":738,"column":3},"path":["pkgs","writeDirectReferencesToFile"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeReferencesToFile","path":["pkgs","writeReferencesToFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":715,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":715,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":715,"column":27},"path":["pkgs","writeReferencesToFile"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":715,"column":27},"path":["pkgs","writeReferencesToFile"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.writeScript","path":["pkgs","writeScript"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":244,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":244,"column":17},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":244,"column":3},"path":["pkgs","writeScript"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to /nix/store/<store path> and marks the file as\nexecutable.\nIf passed as a build input, will be used as a setup hook. This makes setup\nhooks more efficient to create: you don't need a derivation that copies\nthem to $out/nix-support/setup-hook, instead you can use the file as is.\n\n# Example\n\n```nix\n# Writes my-file to /nix/store/<store path> and makes executable\nwriteScript \"my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [name] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":244,"column":3},"path":["pkgs","writeScript"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeScriptBin","path":["pkgs","writeScriptBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":266,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":266,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":266,"column":3},"path":["pkgs","writeScriptBin"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to /nix/store/<store path>/bin/<name> and\nmarks the file as executable.\n\n# Example\n\n```nix\n# Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.\nwriteScriptBin \"my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [name] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":266,"column":3},"path":["pkgs","writeScriptBin"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeShellApplication","path":["pkgs","writeShellApplication"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":370,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":371,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":370,"column":3},"path":["pkgs","writeShellApplication"],"pos_type":"Attribute"}},"content":{"content":"\nSimilar to writeShellScriptBin and writeScriptBin.\nWrites an executable Shell script to /nix/store/<store path>/bin/<name> and\nchecks its syntax with shellcheck and the shell's -n option.\nIndividual checks can be foregone by putting them in the excludeShellChecks\nlist, e.g. [ \"SC2016\" ].\nAutomatically includes sane set of shellopts (errexit, nounset, pipefail)\nand handles creation of PATH based on runtimeInputs\nNote that the checkPhase uses stdenv.shell for the test run of the script,\nwhile the generated shebang uses runtimeShell. If, for whatever reason,\nthose were to mismatch you might lose fidelity in the default checks.\n\n# Example\n\n```nix\nWrites my-file to /nix/store/<store path>/bin/my-file and makes executable.\nwriteShellApplication {\n name = \"my-file\";\n runtimeInputs = [ curl w3m ];\n text = ''\n curl -s 'https://nixos.org' | w3m -dump -T text/html\n '';\n}\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":370,"column":3},"path":["pkgs","writeShellApplication"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeShellScript","path":["pkgs","writeShellScript"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":292,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":292,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":292,"column":3},"path":["pkgs","writeShellScript"],"pos_type":"Attribute"}},"content":{"content":"\nSimilar to writeScript. Writes a Shell script and checks its syntax.\nAutomatically includes interpreter above the contents passed.\n\n# Example\n\n```nix\n# Writes my-file to /nix/store/<store path> and makes executable.\nwriteShellScript \"my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [name] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":292,"column":3},"path":["pkgs","writeShellScript"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeShellScriptBin","path":["pkgs","writeShellScriptBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":326,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":326,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":326,"column":3},"path":["pkgs","writeShellScriptBin"],"pos_type":"Attribute"}},"content":{"content":"\nSimilar to writeShellScript and writeScriptBin.\nWrites an executable Shell script to /nix/store/<store path>/bin/<name> and checks its syntax.\nAutomatically includes interpreter above the contents passed.\n\n# Example\n\n```nix\n# Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.\nwriteShellScriptBin \"my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [name] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":326,"column":3},"path":["pkgs","writeShellScriptBin"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeStringReferencesToFile","path":["pkgs","writeStringReferencesToFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":776,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":776,"column":33},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":776,"column":3},"path":["pkgs","writeStringReferencesToFile"],"pos_type":"Attribute"}},"content":{"content":"\nExtract a string's references to derivations and paths (its\ncontext) and write them to a text file, removing the input string\nitself from the dependency graph. This is useful when you want to\nmake a derivation depend on the string's references, but not its\ncontents (to avoid unnecessary rebuilds, for example).\nNote that this only works as intended on Nix >= 2.3.\n\n# Arguments\n\n- [string] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":776,"column":3},"path":["pkgs","writeStringReferencesToFile"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeText","path":["pkgs","writeText"],"aliases":[["pkgs","writers","writeText"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":193,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":193,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":193,"column":3},"path":["pkgs","writeText"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to nix store with no optional parameters available.\n\n# Example\n\n```nix\n# Writes contents of file to /nix/store/<store path>\nwriteText \"my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [name] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":193,"column":3},"path":["pkgs","writeText"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeTextDir","path":["pkgs","writeTextDir"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":215,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":215,"column":18},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":215,"column":3},"path":["pkgs","writeTextDir"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to nix store in a specific directory with no\noptional parameters available.\n\n# Example\n\n```nix\n# Writes contents of file to /nix/store/<store path>/share/my-file\nwriteTextDir \"share/my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [path] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":215,"column":3},"path":["pkgs","writeTextDir"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writeTextFile","path":["pkgs","writeTextFile"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":137,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":138,"column":5},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":137,"column":3},"path":["pkgs","writeTextFile"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to the nix store.\nThe contents of text is added to the file in the store.\n\n# Example\n\n```nix\n# Writes my-file to /nix/store/<store path>\nwriteTextFile {\n name = \"my-file\";\n text = ''\n Contents of File\n '';\n}\nSee also the `writeText` helper function below.\n# Writes executable my-file to /nix/store/<store path>/bin/my-file\nwriteTextFile {\n name = \"my-file\";\n text = ''\n Contents of File\n '';\n executable = true;\n destination = \"/bin/my-file\";\n}\n```\n\n# Arguments\n\n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":137,"column":3},"path":["pkgs","writeTextFile"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.zabbixFor","path":["pkgs","zabbixFor"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":27525,"column":3},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":27525,"column":15},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":27525,"column":15},"path":["pkgs","zabbixFor"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/top-level/all-packages.nix","line":27525,"column":15},"path":["pkgs","zabbixFor"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.buildPythonApplication","path":["pkgs","pythonPackages","buildPythonApplication"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.buildPythonPackage","path":["pkgs","pythonPackages","buildPythonPackage"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.buildSetupcfg","path":["pkgs","pythonPackages","buildSetupcfg"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/build-setupcfg/default.nix","line":10,"column":1},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.callPackage","path":["pkgs","pythonPackages","callPackage"],"aliases":[["pkgs","callPackage"],["pkgs","rustPackages","callPackage"],["pkgs","rustPackages","buildRustPackages","callPackage"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.disabled","path":["pkgs","pythonPackages","disabled"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":90,"column":14},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":90,"column":14},"path":["pkgs","pythonPackages","disabled"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":90,"column":14},"path":["pkgs","pythonPackages","disabled"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.disabledIf","path":["pkgs","pythonPackages","disabledIf"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":92,"column":16},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":92,"column":16},"path":["pkgs","pythonPackages","disabledIf"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":92,"column":16},"path":["pkgs","pythonPackages","disabledIf"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.fetchPypi","path":["pkgs","pythonPackages","fetchPypi"],"aliases":[["pkgs","fetchPypi"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.hasPythonModule","path":["pkgs","pythonPackages","hasPythonModule"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":54,"column":21},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":54,"column":21},"path":["pkgs","pythonPackages","hasPythonModule"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":54,"column":21},"path":["pkgs","pythonPackages","hasPythonModule"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.makePythonHook","path":["pkgs","pythonPackages","makePythonHook"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/hooks/default.nix","line":10,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/hooks/default.nix","line":10,"column":20},"path":["pkgs","pythonPackages","makePythonHook"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/hooks/default.nix","line":10,"column":20},"path":["pkgs","pythonPackages","makePythonHook"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.makePythonPath","path":["pkgs","pythonPackages","makePythonPath"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":63,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":63,"column":20},"path":["pkgs","pythonPackages","makePythonPath"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":63,"column":20},"path":["pkgs","pythonPackages","makePythonPath"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.newScope","path":["pkgs","pythonPackages","newScope"],"aliases":[["pkgs","newScope"],["pkgs","rustPackages","newScope"],["pkgs","rustPackages","buildRustPackages","newScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":464,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":464,"column":20},"path":["pkgs","pythonPackages","newScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":464,"column":20},"path":["pkgs","pythonPackages","newScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.override","path":["pkgs","pythonPackages","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.overrideDerivation","path":["pkgs","pythonPackages","overrideDerivation"],"aliases":[["pkgs","dockerTools","overrideDerivation"],["lib","overrideDerivation"],["lib","customisation","overrideDerivation"],["pkgs","stdenv","overrideDerivation"],["pkgs","writers","overrideDerivation"]],"signature":"overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}},"content":{"content":"\n`overrideDerivation drv f` takes a derivation (i.e., the result\nof a call to the builtin function `derivation`) and returns a new\nderivation in which the attributes of the original are overridden\naccording to the function `f`. The function `f` is called with\nthe original derivation attributes.\n`overrideDerivation` allows certain \"ad-hoc\" customisation\nscenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,\nif you want to \"patch\" the derivation returned by a package\nfunction in Nixpkgs to build another version than what the\nfunction itself provides.\nFor another application, see build-support/vm, where this\nfunction is used to build arbitrary derivations inside a QEMU\nvirtual machine.\nNote that in order to preserve evaluation errors, the new derivation's\noutPath depends on the old one's, which means that this function cannot\nbe used in circular situations when the old derivation also depends on the\nnew one.\nYou should in general prefer `drv.overrideAttrs` over this function;\nsee the nixpkgs manual for more information on overriding.\n\n# Example\n\n```nix\nmySed = overrideDerivation pkgs.gnused (oldAttrs: {\n name = \"sed-4.2.2-pre\";\n src = fetchurl {\n url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;\n hash = \"sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=\";\n };\n patches = [];\n});\n```\n\n# Type\n\n```\noverrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.pythonPackages.overrideScope","path":["pkgs","pythonPackages","overrideScope"],"aliases":[["pkgs","rustPackages","overrideScope"],["pkgs","rustPackages","buildRustPackages","overrideScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":468,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":468,"column":25},"path":["pkgs","pythonPackages","overrideScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":468,"column":25},"path":["pkgs","pythonPackages","overrideScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.packages","path":["pkgs","pythonPackages","packages"],"aliases":[["pkgs","rustPackages","packages"],["pkgs","rustPackages","buildRustPackages","packages"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/fixed-points.nix","line":152,"column":24},"count_applied":2,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.pythonAtLeast","path":["pkgs","pythonPackages","pythonAtLeast"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1179,"column":24},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.pythonOlder","path":["pkgs","pythonPackages","pythonOlder"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/strings.nix","line":1157,"column":22},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.pythonPackages.requiredPythonModules","path":["pkgs","pythonPackages","requiredPythonModules"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":57,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":57,"column":27},"path":["pkgs","pythonPackages","requiredPythonModules"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":57,"column":27},"path":["pkgs","pythonPackages","requiredPythonModules"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.toPythonApplication","path":["pkgs","pythonPackages","toPythonApplication"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":79,"column":25},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":79,"column":25},"path":["pkgs","pythonPackages","toPythonApplication"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":79,"column":25},"path":["pkgs","pythonPackages","toPythonApplication"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.pythonPackages.toPythonModule","path":["pkgs","pythonPackages","toPythonModule"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":68,"column":20},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":68,"column":20},"path":["pkgs","pythonPackages","toPythonModule"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/interpreters/python/python-packages-base.nix","line":68,"column":20},"path":["pkgs","pythonPackages","toPythonModule"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.callPackage","path":["pkgs","rustPackages","callPackage"],"aliases":[["pkgs","callPackage"],["pkgs","pythonPackages","callPackage"],["pkgs","rustPackages","buildRustPackages","callPackage"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":371,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.newScope","path":["pkgs","rustPackages","newScope"],"aliases":[["pkgs","newScope"],["pkgs","pythonPackages","newScope"],["pkgs","rustPackages","buildRustPackages","newScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":22},"path":["pkgs","rustPackages","newScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":22},"path":["pkgs","rustPackages","newScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.overrideScope","path":["pkgs","rustPackages","overrideScope"],"aliases":[["pkgs","pythonPackages","overrideScope"],["pkgs","rustPackages","buildRustPackages","overrideScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":27},"path":["pkgs","rustPackages","overrideScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":27},"path":["pkgs","rustPackages","overrideScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.overrideScope' (Prime)","path":["pkgs","rustPackages","overrideScope'"],"aliases":[["pkgs","rustPackages","buildRustPackages","overrideScope'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":28},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":28},"path":["pkgs","rustPackages","overrideScope'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":28},"path":["pkgs","rustPackages","overrideScope'"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.packages","path":["pkgs","rustPackages","packages"],"aliases":[["pkgs","rustPackages","buildRustPackages","packages"],["pkgs","pythonPackages","packages"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":377,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/default.nix","line":51,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/default.nix","line":51,"column":38},"path":["pkgs","rustPackages","packages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/default.nix","line":51,"column":38},"path":["pkgs","rustPackages","packages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.callPackage","path":["pkgs","rustPackages","buildRustPackages","callPackage"],"aliases":[["pkgs","callPackage"],["pkgs","pythonPackages","callPackage"],["pkgs","rustPackages","callPackage"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":371,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":165,"column":31},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.newScope","path":["pkgs","rustPackages","buildRustPackages","newScope"],"aliases":[["pkgs","newScope"],["pkgs","pythonPackages","newScope"],["pkgs","rustPackages","newScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":22},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":22},"path":["pkgs","rustPackages","buildRustPackages","newScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":370,"column":22},"path":["pkgs","rustPackages","buildRustPackages","newScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.overrideScope","path":["pkgs","rustPackages","buildRustPackages","overrideScope"],"aliases":[["pkgs","pythonPackages","overrideScope"],["pkgs","rustPackages","overrideScope"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":27},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":27},"path":["pkgs","rustPackages","buildRustPackages","overrideScope"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":372,"column":27},"path":["pkgs","rustPackages","buildRustPackages","overrideScope"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.overrideScope' (Prime)","path":["pkgs","rustPackages","buildRustPackages","overrideScope'"],"aliases":[["pkgs","rustPackages","overrideScope'"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":28},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":28},"path":["pkgs","rustPackages","buildRustPackages","overrideScope'"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":374,"column":28},"path":["pkgs","rustPackages","buildRustPackages","overrideScope'"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.packages","path":["pkgs","rustPackages","buildRustPackages","packages"],"aliases":[["pkgs","rustPackages","packages"],["pkgs","pythonPackages","packages"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":377,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/default.nix","line":51,"column":38},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/default.nix","line":51,"column":38},"path":["pkgs","rustPackages","buildRustPackages","packages"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/default.nix","line":51,"column":38},"path":["pkgs","rustPackages","buildRustPackages","packages"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.rustPackages.rustPlatform.buildRustPackage","path":["pkgs","rustPackages","rustPlatform","buildRustPackage"],"aliases":[["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/make-rust-platform.nix","line":21,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.rustPlatform.fetchCargoTarball","path":["pkgs","rustPackages","rustPlatform","fetchCargoTarball"],"aliases":[["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/make-rust-platform.nix","line":16,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.rustPlatform.importCargoLock","path":["pkgs","rustPackages","rustPlatform","importCargoLock"],"aliases":[["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/make-rust-platform.nix","line":26,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.rustPlatform.buildRustPackage","path":["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage"],"aliases":[["pkgs","rustPackages","rustPlatform","buildRustPackage"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/make-rust-platform.nix","line":21,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.rustPlatform.fetchCargoTarball","path":["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball"],"aliases":[["pkgs","rustPackages","rustPlatform","fetchCargoTarball"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/make-rust-platform.nix","line":16,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.rustPlatform.importCargoLock","path":["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock"],"aliases":[["pkgs","rustPackages","rustPlatform","importCargoLock"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/development/compilers/rust/make-rust-platform.nix","line":26,"column":3},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.rustPlatform.buildRustPackage.override","path":["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":123,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.rustPlatform.fetchCargoTarball.override","path":["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":123,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.rustPlatform.importCargoLock.override","path":["pkgs","rustPackages","rustPlatform","importCargoLock","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":123,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.rustPlatform.buildRustPackage.override","path":["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":123,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.rustPlatform.fetchCargoTarball.override","path":["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":123,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.rustPackages.buildRustPackages.rustPlatform.importCargoLock.override","path":["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","stdenv","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":123,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.stdenv.fetchurlBoot","path":["pkgs","stdenv","fetchurlBoot"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/generic/default.nix","line":161,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/fetchurl/boot.nix","line":5,"column":1},"count_applied":1,"content_meta":null},"content":null},{"meta":{"title":"pkgs.stdenv.mkDerivation","path":["pkgs","stdenv","mkDerivation"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/generic/default.nix","line":159,"column":7},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/generic/make-derivation.nix","line":598,"column":3},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/generic/make-derivation.nix","line":598,"column":3},"path":["pkgs","stdenv","mkDerivation"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/generic/make-derivation.nix","line":598,"column":3},"path":["pkgs","stdenv","mkDerivation"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.stdenv.override","path":["pkgs","stdenv","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","writers","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":115,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.stdenv.overrideDerivation","path":["pkgs","stdenv","overrideDerivation"],"aliases":[["pkgs","dockerTools","overrideDerivation"],["lib","overrideDerivation"],["lib","customisation","overrideDerivation"],["pkgs","pythonPackages","overrideDerivation"],["pkgs","writers","overrideDerivation"]],"signature":"overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}},"content":{"content":"\n`overrideDerivation drv f` takes a derivation (i.e., the result\nof a call to the builtin function `derivation`) and returns a new\nderivation in which the attributes of the original are overridden\naccording to the function `f`. The function `f` is called with\nthe original derivation attributes.\n`overrideDerivation` allows certain \"ad-hoc\" customisation\nscenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,\nif you want to \"patch\" the derivation returned by a package\nfunction in Nixpkgs to build another version than what the\nfunction itself provides.\nFor another application, see build-support/vm, where this\nfunction is used to build arbitrary derivations inside a QEMU\nvirtual machine.\nNote that in order to preserve evaluation errors, the new derivation's\noutPath depends on the old one's, which means that this function cannot\nbe used in circular situations when the old derivation also depends on the\nnew one.\nYou should in general prefer `drv.overrideAttrs` over this function;\nsee the nixpkgs manual for more information on overriding.\n\n# Example\n\n```nix\nmySed = overrideDerivation pkgs.gnused (oldAttrs: {\n name = \"sed-4.2.2-pre\";\n src = fetchurl {\n url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;\n hash = \"sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=\";\n };\n patches = [];\n});\n```\n\n# Type\n\n```\noverrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.stdenv.overrides","path":["pkgs","stdenv","overrides"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/generic/default.nix","line":163,"column":14},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/linux/default.nix","line":657,"column":19},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/linux/default.nix","line":657,"column":19},"path":["pkgs","stdenv","overrides"],"pos_type":"Lambda"}},"content":{"content":null,"source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/stdenv/linux/default.nix","line":657,"column":19},"path":["pkgs","stdenv","overrides"],"pos_type":"Lambda"}}},{"meta":{"title":"pkgs.writers.makeBinWriter","path":["pkgs","writers","makeBinWriter"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.makeDataWriter","path":["pkgs","writers","makeDataWriter"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.makeFSharpWriter","path":["pkgs","writers","makeFSharpWriter"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.makePythonWriter","path":["pkgs","writers","makePythonWriter"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.makeScriptWriter","path":["pkgs","writers","makeScriptWriter"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.override","path":["pkgs","writers","override"],"aliases":[["pkgs","dockerTools","override"],["pkgs","pythonPackages","override"],["pkgs","rustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","rustPlatform","importCargoLock","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","buildRustPackage","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","fetchCargoTarball","override"],["pkgs","rustPackages","buildRustPackages","rustPlatform","importCargoLock","override"],["pkgs","stdenv","override"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":115,"column":11},"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.overrideDerivation","path":["pkgs","writers","overrideDerivation"],"aliases":[["pkgs","dockerTools","overrideDerivation"],["lib","overrideDerivation"],["lib","customisation","overrideDerivation"],["pkgs","pythonPackages","overrideDerivation"],["pkgs","stdenv","overrideDerivation"]],"signature":"overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n","is_primop":false,"primop_meta":null,"attr_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":11},"lambda_position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":116,"column":32},"count_applied":0,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}},"content":{"content":"\n`overrideDerivation drv f` takes a derivation (i.e., the result\nof a call to the builtin function `derivation`) and returns a new\nderivation in which the attributes of the original are overridden\naccording to the function `f`. The function `f` is called with\nthe original derivation attributes.\n`overrideDerivation` allows certain \"ad-hoc\" customisation\nscenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,\nif you want to \"patch\" the derivation returned by a package\nfunction in Nixpkgs to build another version than what the\nfunction itself provides.\nFor another application, see build-support/vm, where this\nfunction is used to build arbitrary derivations inside a QEMU\nvirtual machine.\nNote that in order to preserve evaluation errors, the new derivation's\noutPath depends on the old one's, which means that this function cannot\nbe used in circular situations when the old derivation also depends on the\nnew one.\nYou should in general prefer `drv.overrideAttrs` over this function;\nsee the nixpkgs manual for more information on overriding.\n\n# Example\n\n```nix\nmySed = overrideDerivation pkgs.gnused (oldAttrs: {\n name = \"sed-4.2.2-pre\";\n src = fetchurl {\n url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;\n hash = \"sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=\";\n };\n patches = [];\n});\n```\n\n# Type\n\n```\noverrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation\n```\n\n# Arguments\n\n- [drv] \n- [f] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/lib/customisation.nix","line":52,"column":3},"path":["lib","customisation","overrideDerivation"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writers.writeBash","path":["pkgs","writers","writeBash"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeBashBin","path":["pkgs","writers","writeBashBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeDash","path":["pkgs","writers","writeDash"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeDashBin","path":["pkgs","writers","writeDashBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeFSharp","path":["pkgs","writers","writeFSharp"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeFSharpBin","path":["pkgs","writers","writeFSharpBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeFish","path":["pkgs","writers","writeFish"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeFishBin","path":["pkgs","writers","writeFishBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeHaskell","path":["pkgs","writers","writeHaskell"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeHaskellBin","path":["pkgs","writers","writeHaskellBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeJS","path":["pkgs","writers","writeJS"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeJSBin","path":["pkgs","writers","writeJSBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeJSON","path":["pkgs","writers","writeJSON"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeNginxConfig","path":["pkgs","writers","writeNginxConfig"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePerl","path":["pkgs","writers","writePerl"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePerlBin","path":["pkgs","writers","writePerlBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePyPy2","path":["pkgs","writers","writePyPy2"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePyPy2Bin","path":["pkgs","writers","writePyPy2Bin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePyPy3","path":["pkgs","writers","writePyPy3"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePyPy3Bin","path":["pkgs","writers","writePyPy3Bin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePython3","path":["pkgs","writers","writePython3"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writePython3Bin","path":["pkgs","writers","writePython3Bin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeRust","path":["pkgs","writers","writeRust"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeRustBin","path":["pkgs","writers","writeRustBin"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeTOML","path":["pkgs","writers","writeTOML"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null},{"meta":{"title":"pkgs.writers.writeText","path":["pkgs","writers","writeText"],"aliases":[["pkgs","writeText"]],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":193,"column":3},"path":["pkgs","writeText"],"pos_type":"Attribute"}},"content":{"content":"\nWrites a text file to nix store with no optional parameters available.\n\n# Example\n\n```nix\n# Writes contents of file to /nix/store/<store path>\nwriteText \"my-file\"\n ''\n Contents of File\n '';\n```\n\n# Arguments\n\n- [name] \n- [text] \n\n","source":{"position":{"file":"/nix/store/mdy5n400sl4dn12kjkrkwnxqfbzahpld-nixpkgs-migrated/pkgs/build-support/trivial-builders/default.nix","line":193,"column":3},"path":["pkgs","writeText"],"pos_type":"Attribute"}}},{"meta":{"title":"pkgs.writers.writeYAML","path":["pkgs","writers","writeYAML"],"aliases":[],"signature":null,"is_primop":false,"primop_meta":null,"attr_position":null,"lambda_position":null,"count_applied":null,"content_meta":null},"content":null}]