Nox is a small tool that makes the use of the Nix package manager easier.
Nox is written in Python 3 and requires nix 1.8 and git. It is released under MIT license.
You can install it from nixpkgs by running nix-env -i nox
.
To try the last version, just clone the repository, run nix-build
,
and run the resulting binaries in result/bin
. To install it, run
nix-env -if .
.
Just run nox QUERY
to search for a nix package. The underlying
nix-env
invocation is cached to make the search faster than your
usual nix-env -qa | grep QUERY
.
Once you have the results, type the numbers of the packages to install.
Bonus: if you enter the letter 's' at the beginning of the package numbers list, a nix-shell will be started with those packages instead.
The nox-review
command helps you find what has changed in nixpkgs, and
build changed packages, so you're sure they are not broken. There are 3 modes:
nox-review wip
compares the nixpkgs in the current working dir against a commit, so you can check that your changes break nothing. Defaults to comparing toHEAD
(the last commit), but you can change it:nox-review wip --against master^'
.nox-review pr PR
finds the packages touched by the given PR and build them.
I'm working on a new command, nox-update
, that will display
information about what is about to be updated, especially giving info
not provided by nixos-rebuild:
- Why is everything being installed?
- Which are package upgrades?
- Which are expression changes?
- Which are only rebuilds trigerred by dependency changes?
- Especially, what package triggered the rebuild?
A picture is better than a thousand words, so here is what it looks like for now: