Warning: This program is experimental and its interface is subject to change.
Name
nix search
- search for packages
Synopsis
nix search
[option...] installable regex...
Examples
-
Show all packages in the
nixpkgs
flake:# nix search nixpkgs * legacyPackages.x86_64-linux.AMB-plugins (0.8.1) A set of ambisonics ladspa plugins * legacyPackages.x86_64-linux.ArchiSteamFarm (4.3.1.0) Application with primary purpose of idling Steam cards from multiple accounts simultaneously …
-
Show packages in the
nixpkgs
flake containingblender
in its name or description:# nix search nixpkgs blender * legacyPackages.x86_64-linux.blender (2.91.0) 3D Creation/Animation/Publishing System
-
Search for packages underneath the attribute
gnome3
in Nixpkgs:# nix search nixpkgs#gnome3 vala * legacyPackages.x86_64-linux.gnome3.vala (0.48.9) Compiler for GObject type system
-
Show all packages in the flake in the current directory:
# nix search
-
Search for Firefox or Chromium:
# nix search nixpkgs 'firefox|chromium'
-
Search for packages containing
git'
and eitherfrontend
orgui
:# nix search nixpkgs git 'frontend|gui'
Description
nix search
searches installable (which must be evaluatable, e.g. a
flake) for packages whose name or description matches all of the
regular expressions regex. For each matching package, It prints the
full attribute name (from the root of the installable), the version
and the meta.description
field, highlighting the substrings that
were matched by the regular expressions. If no regular expressions are
specified, all packages are shown.
Flake output attributes
If no flake output attribute is given, nix search
searches for
packages:
-
Directly underneath
packages.<system>
. -
Underneath
legacyPackages.<system>
, recursing into attribute sets that contain an attributerecurseForDerivations = true
.
Options
--json
Produce output in JSON format, suitable for consumption by another program.
Common evaluation options:
-
--arg
name expr
Pass the value expr as the argument name to Nix functions. -
--argstr
name string
Pass the string string as the argument name to Nix functions. -
--eval-store
store-url
The Nix store to use for evaluations. -
--impure
Allow access to mutable paths and repositories. -
--include
/-I
path
Add path to the list of locations used to look up<...>
file names. -
--override-flake
original-ref resolved-ref
Override the flake registries, redirecting original-ref to resolved-ref.
Common flake-related options:
-
--commit-lock-file
Commit changes to the flake's lock file. -
--inputs-from
flake-url
Use the inputs of the specified flake as registry entries. -
--no-registries
Don't allow lookups in the flake registries. This option is deprecated; use--no-use-registries
. -
--no-update-lock-file
Do not allow any updates to the flake's lock file. -
--no-write-lock-file
Do not write the flake's newly generated lock file. -
--override-input
input-path flake-url
Override a specific flake input (e.g.dwarffs/nixpkgs
). This implies--no-write-lock-file
. -
--recreate-lock-file
Recreate the flake's lock file from scratch. -
--update-input
input-path
Update a specific flake input (ignoring its previous entry in the lock file).
Options that change the interpretation of installables:
-
--derivation
Operate on the store derivation rather than its outputs. -
--expr
expr
Interpret installables as attribute paths relative to the Nix expression expr. -
--file
/-f
file
Interpret installables as attribute paths relative to the Nix expression stored in file. If file is the character -, then a Nix expression will be read from standard input.