Searching packages: Difference between revisions
imported>Vater there is also a search for everybody's (experimental) darling flakes nowadays |
m changed link from redirect page to article |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
There are | There are numerous approaches available for searching substrings within both package names and package descriptions in <code>nixpkgs</code>. | ||
== Using <code>search.nixos.org</code> == | == Using <code>search.nixos.org</code> website == | ||
There is a web service to search | There is a web service to search with | ||
* Nix packages at [https://search.nixos.org/packages search.nixos.org/packages] | : [[channel branches]] | ||
* NixOS options at [https://search.nixos.org/options search.nixos.org/options] | :* Nix packages at [https://search.nixos.org/packages search.nixos.org/packages] | ||
:* NixOS options at [https://search.nixos.org/options search.nixos.org/options] | |||
* options | : [[flakes]] | ||
:* packages at [https://search.nixos.org/flakes?type=packages search.nixos.org/flakes?type=packages] | |||
:* options at [https://search.nixos.org/flakes?type=options search.nixos.org/flakes?type=options] | |||
; pros: | |||
* easy to use | |||
* allows filters | |||
* cons: | * nice GUI in browser | ||
* | * browser extensions possible (like @nixpgs as search engine in Firefox) | ||
; cons: | |||
* always requires Internet connection | |||
== Using <code>nix search</code> command == | == Using the <code>nix search</code> command == | ||
While this command | While this command requires [[flakes]], you can use it to search for a package. It may be slow the first time, but further runs will use cached results. | ||
< | <syntaxhighlight lang="bash">nix search nixpkgs firefox</syntaxhighlight> | ||
</ | ; pros: | ||
* fast | |||
* possible offline usage | |||
; cons: | |||
* requires disk space for caching | |||
* quite long command | |||
== Using the <code>nix-env</code> command == | == Using the <code>nix-env</code> command == | ||
Line 27: | Line 36: | ||
It's possible to search for a package using <code>nix-env -qaP</code> | It's possible to search for a package using <code>nix-env -qaP</code> | ||
; pros: | |||
* works offline | |||
; cons: | |||
* it's very slow and requires a lot of memory | |||
== | == Using the <code>nix repl</code> environment == | ||
With the read–eval–print loop (REPL) of nix you can browse packages interactively. | |||
< | Starting the [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html nix repl] | ||
<syntaxhighlight lang="bash">nix repl</syntaxhighlight> | |||
Welcome to Nix 2. | <syntaxhighlight lang="console"> | ||
Welcome to Nix 2.18.2. Type :? for help. | |||
nix-repl> | nix-repl> | ||
</syntaxhighlight> | |||
nix-repl> | Loading the repository for nixpkgs | ||
</ | <syntaxhighlight lang="console"> | ||
nix-repl> | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash">nix-repl> :load <nixpkgs> | |||
Added 21181 variables. | |||
</syntaxhighlight>Type the first letters of a package | |||
<syntaxhighlight lang="bash">nix-repl> neo </syntaxhighlight> | |||
Press <tt>Tab ↹</tt> key<!-- {{[[mw:Template::Key press]]|Tab}} --> for auto completion | |||
== Reverse search: searching which package provides a file == | == Reverse search: searching which package provides a file == | ||
There is | There is third party programs [https://github.com/nix-community/nix-index nix-index], and [https://wiki.nixos.org/wiki/Flakes rippkgs] to find which package provides a given file. This is particularly useful when you are looking for a very specific file but you don't know which package installs it. | ||
[[Category:Reference]] | [[Category:Reference]] | ||
[[Category:Nixpkgs]] | [[Category:Nixpkgs]] |
Latest revision as of 20:32, 1 July 2024
There are numerous approaches available for searching substrings within both package names and package descriptions in nixpkgs
.
Using search.nixos.org
website
There is a web service to search with
- channel branches
- Nix packages at search.nixos.org/packages
- NixOS options at search.nixos.org/options
- flakes
- packages at search.nixos.org/flakes?type=packages
- options at search.nixos.org/flakes?type=options
- pros
- easy to use
- allows filters
- nice GUI in browser
- browser extensions possible (like @nixpgs as search engine in Firefox)
- cons
- always requires Internet connection
Using the nix search
command
While this command requires flakes, you can use it to search for a package. It may be slow the first time, but further runs will use cached results.
nix search nixpkgs firefox
- pros
- fast
- possible offline usage
- cons
- requires disk space for caching
- quite long command
Using the nix-env
command
It's possible to search for a package using nix-env -qaP
- pros
- works offline
- cons
- it's very slow and requires a lot of memory
Using the nix repl
environment
With the read–eval–print loop (REPL) of nix you can browse packages interactively.
Starting the nix repl
nix repl
Welcome to Nix 2.18.2. Type :? for help.
nix-repl>
Loading the repository for nixpkgs
nix-repl>
nix-repl> :load <nixpkgs>
Added 21181 variables.
Type the first letters of a package
nix-repl> neo
Press Tab ↹ key for auto completion
Reverse search: searching which package provides a file
There is third party programs nix-index, and rippkgs to find which package provides a given file. This is particularly useful when you are looking for a very specific file but you don't know which package installs it.