nix-super/doc/manual/src/release-notes/rl-next.md
Alexander Bantyev 36b059748d Split nix-env and nix-store documentation per-subcommand
Documentation on "classic" commands with many sub-commands are
notoriously hard to discover due to lack of overview and anchor links.
Additionally the information on common options and environment variables
is not accessible offline in man pages, and therefore often overlooked
by readers.

With this change, each sub-command of nix-store and nix-env gets its
own page in the manual (listed in the table of contents), and each own
man page.

Also, man pages for each subcommand now (again) list common options
and environment variables. While this makes each page quite long and
some common parameters don't apply, this should still make it easier
to navigate as that additional information was not accessible on the
command line at all.

It is now possible to run 'nix-store --<subcommand> --help` to display
help pages for the given subcommand.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-03-30 09:46:28 +02:00

2.1 KiB

Release X.Y (202?-??-??)

  • Commands which take installables on the command line can now read them from the standard input if passed the --stdin flag. This is primarily useful when you have a large amount of paths which exceed the OS arg limit.

  • The nix-hash command now supports Base64 and SRI. Use the flags --base64 or --sri to specify the format of output hash as Base64 or SRI, and --to-base64 or --to-sri to convert a hash to Base64 or SRI format, respectively.

    As the choice of hash formats is no longer binary, the --base16 flag is also added to explicitly specify the Base16 format, which is still the default.

  • The special handling of an installable with .drv suffix being interpreted as all of the given store derivation's output paths is removed, and instead taken as the literal store path that it represents.

    The new ^ syntax for store paths introduced in Nix 2.13 allows explicitly referencing output paths of a derivation. Using this is better and more clear than relying on the now-removed .drv special handling.

    For example,

    $ nix path-info /nix/store/gzaflydcr6sb3567hap9q6srzx8ggdgg-glibc-2.33-78.drv
    

    now gives info about the derivation itself, while

    $ nix path-info /nix/store/gzaflydcr6sb3567hap9q6srzx8ggdgg-glibc-2.33-78.drv^*
    

    provides information about each of its outputs.

  • The experimental command nix describe-stores has been removed.

  • Nix stores and their settings are now documented in nix help-stores.

  • Documentation for operations of nix-store and nix-env are now available on separate pages of the manual. They include all common options that can be specified and common environment variables that affect these commands.

    These pages can be viewed offline with man using

    • man nix-store-<operation> and man nix-env-<operation>
    • nix-store --help --<operation> and nix-env --help --<operation>.