mirror of
https://gitlab.com/khumba/nvd.git
synced 2024-11-10 06:59:29 +01:00
65 lines
2 KiB
Groff
65 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.
|