Packages
The Packages page searches the packages of the nixpkgs your system uses, so what you find is exactly what your system would install. Indexing takes a few seconds the first time.
Searching
Type a name or a word from the description into the search field. Each row shows the package name, its version and description, and tags:
- installed: your system already has it,
- added by DrakeFlake: the generated file installs it,
- will be added / will be removed: a staged change.
The line next to the filters shows the number of matches and of installed packages.
Filters
- Top-level packages: click to choose a package set instead, such as
python313Packages,haskellPackagesorvimPlugins. A set is indexed the first time you choose it and kept until your flake changes. - Installed only: show only packages your system has.
- Search by command: find the package that provides a program, for example
rgfindsripgrep. Programs are matched by their exact name inbin/.
Search by command
This search uses the nix-index database. If you do not have one (in
~/.cache/nix-index), the page offers to Download it: a prebuilt database
from the nix-community/nix-index-database project on GitHub, about 100 MB,
updated weekly. The app keeps its copy in ~/.cache/drakeflake/nix-index.
Adding and removing packages
- To add a package, click Add in its row, or Add to system on its details page. The change is staged; apply it on the Changes page.
- To remove a package the app added, click Remove (or Remove from system).
- To take back a staged addition or removal, click Undo.
The app only removes packages it added itself. Packages installed by your own configuration show From your config in the list and Installed by your configuration on the details page; remove those in your own files.
Added packages are written as environment.systemPackages into the generated
file (into packages.nix with a split layout).
Packages from a package set are mostly libraries. They usually belong in an
environment, for example python3.withPackages, rather than directly in the
system packages; the details page reminds you of this.
Package details
Click a package to see its details: description, the program it runs, license, homepage, maintainers, outputs and the file in nixpkgs that defines it. Tags show whether it is unfree or marked broken. Homepage at the top opens the project’s website.
Try it
Try it runs a package without installing it. It is offered for packages that declare a program to run.
The app builds the package from your system’s nixpkgs (progress is in the Console) and starts it when it is ready:
- an app with a desktop entry opens as a window,
- command-line tools open in a terminal with the package’s programs available.
Tried packages are kept so they start quickly next time. To free their space, use Cleanup → Remove tried packages.