2020-12-08 19:09:30 +02:00
|
|
|
R""(
|
|
|
|
|
|
|
|
# Examples
|
|
|
|
|
|
|
|
* Show all packages in the `nixpkgs` flake:
|
|
|
|
|
|
|
|
```console
|
2023-11-28 00:09:32 +02:00
|
|
|
# nix search nixpkgs ^
|
2020-12-08 19:09:30 +02:00
|
|
|
* 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 containing `blender` in its
|
|
|
|
name or description:
|
|
|
|
|
|
|
|
```console
|
|
|
|
# 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:
|
|
|
|
|
|
|
|
```console
|
|
|
|
# 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:
|
|
|
|
|
|
|
|
```console
|
2023-11-28 00:09:32 +02:00
|
|
|
# nix search . ^
|
2020-12-08 19:09:30 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
* Search for Firefox or Chromium:
|
|
|
|
|
|
|
|
```console
|
|
|
|
# nix search nixpkgs 'firefox|chromium'
|
|
|
|
```
|
|
|
|
|
2022-06-05 19:45:58 +03:00
|
|
|
* Search for packages containing `git` and either `frontend` or `gui`:
|
2020-12-08 19:09:30 +02:00
|
|
|
|
|
|
|
```console
|
|
|
|
# nix search nixpkgs git 'frontend|gui'
|
|
|
|
```
|
|
|
|
|
2022-06-05 19:45:58 +03:00
|
|
|
* Search for packages containing `neovim` but hide ones containing either `gui` or `python`:
|
|
|
|
|
|
|
|
```console
|
2023-04-30 16:55:08 +03:00
|
|
|
# nix search nixpkgs neovim --exclude 'python|gui'
|
2022-06-05 19:45:58 +03:00
|
|
|
```
|
|
|
|
or
|
|
|
|
|
|
|
|
```console
|
2023-04-30 16:55:08 +03:00
|
|
|
# nix search nixpkgs neovim --exclude 'python' --exclude 'gui'
|
2022-06-05 19:45:58 +03:00
|
|
|
```
|
|
|
|
|
2020-12-08 19:09:30 +02:00
|
|
|
# Description
|
|
|
|
|
2022-12-01 02:57:02 +02:00
|
|
|
`nix search` searches [*installable*](./nix.md#installables) (which can be evaluated, that is, a
|
|
|
|
flake or Nix expression, but not a store path or store derivation path) for packages whose name or description matches all of the
|
2023-11-28 00:09:32 +02:00
|
|
|
regular expressions *regex*. For each matching package, It prints the
|
2022-12-01 02:57:02 +02:00
|
|
|
full attribute name (from the root of the [installable](./nix.md#installables)), the version
|
2020-12-08 19:09:30 +02:00
|
|
|
and the `meta.description` field, highlighting the substrings that
|
2023-11-28 00:09:32 +02:00
|
|
|
were matched by the regular expressions.
|
|
|
|
|
|
|
|
To show all packages, use the regular expression `^`. In contrast to `.*`,
|
|
|
|
it avoids highlighting the entire name and description of every package.
|
|
|
|
|
|
|
|
> Note that in this context, `^` is the regex character to match the beginning of a string, *not* the delimiter for
|
|
|
|
> [selecting a derivation output](@docroot@/command-ref/new-cli/nix.md#derivation-output-selection).
|
2020-12-08 19:09:30 +02:00
|
|
|
|
|
|
|
# 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 attribute `recurseForDerivations = true`.
|
|
|
|
|
|
|
|
)""
|