nvd/nvd.1
2021-04-09 19:21:39 -07:00

64 lines
2 KiB
Groff

.TH nvd 1 2021-04-06 nvd "User Commands"
.SH NAME
nvd \- Nix/NixOS package version diff tool
.SH SYNOPSIS
.P
.B nvd [ -h | --help ]
.P
.B nvd [ --color=(auto|always|never) ] root1 root2
.SH DESCRIPTION
.P
.B nvd
is a tool for diffing the versions of all store paths in the closures of two Nix
store paths, neatly summarizing the differences. This is mainly intended for
comparing two system configurations and is inspired by the output of
.B emerge -pv
from Gentoo's Portage package manager.
.B nvd
could also be likened to the output of Debian's
.B apt upgrade -V,
or any equivalent from other distributions' package managers.
.B nvd
isn't limited to comparing system configurations though, and can work with any
two store paths.
.P
When given two system configurations,
.B nvd
distinguishes between packages that are explicitly included in
.B environment.systemPackages,
versus the rest of the packages that make up the system. The former packages
are dubbed
.I selected packages.
.B nvd
marks and bolds any selected packages it lists. Additionally,
.B nvd
reports on any changes to packages' selection states between the two
configurations. This is done by looking at all packages that are referenced
directly from the configurations' system paths, within each
.I <system>/sw
subdirectory. When either of the arguments isn't a system configuration,
i.e. when either of the arguments is missing a
.I sw
subdirectory, then
.I selected packages
refer to direct dependencies of each of the arguments instead, and the
comparison is still performed.
.B nvd
doesn't actually know if a Nix package represents a system configuration; it
just uses the existence of a
.I sw
directory as a heuristic.
.SH OPTIONS
.P
.TP
-h, --help
Displays a brief help message.
.TP
--color=(auto|always|never)
When to display colour. The default
.B auto
detects whether stdout is a terminal and only uses colour if it is. Passing
.B always
forces colour to always be used, and passing
.B never
forces colour to never be used.