A Nix documentation search tool.
$ nix-env -i -f ./default.nix
# or if you don't want to use nix,
$ cargo install nix-doc
nix-doc SearchRegex [Directory]
Example output:
nixpkgs$ nix-doc callPackage
Call the package function in the file `fn' with the required
arguments automatically. The function is called with the
arguments `args', but any missing arguments are obtained from
`autoArgs'. This function is intended to be partially
parameterised, e.g.,
callPackage = callPackageWith pkgs;
pkgs = {
libfoo = callPackage ./foo.nix { };
libbar = callPackage ./bar.nix { };
};
If the `libbar' function expects an argument named `libfoo', it is
automatically passed as an argument. Overrides or missing
arguments can be supplied in `args', e.g.
libbar = callPackage ./bar.nix {
libfoo = null;
enableX11 = true;
};
callPackageWith = autoArgs: fn: args: ...
# ./lib/customisation.nix:117
─────────────────────────────────────────────
Like callPackage, but for a function that returns an attribute
set of derivations. The override function is added to the
individual attributes.
callPackagesWith = autoArgs: fn: args: ...
# ./lib/customisation.nix:127
─────────────────────────────────────────────
Similar to callPackageWith/callPackage, but without makeOverridable
callPackageWith = autoArgs: fn: args: ...
# ./pkgs/development/beam-modules/lib.nix:7
- Generate tags files/otherwise generate a database file to speed up result generation.
- Use Nix itself with builtins.unsafeGetAttrPos to find our functions for us, but we handle pulling out the docs. (requires a fair refactor)
- Fix the dedent again. We are eating indents we should not be eating e.g. in the example above.
Everyone is expected to follow the code of conduct while participating in this project.