Progress during `nix-env -i` and other commands that fetch/build derivations

Hi,

Today I realized, that during installation of nixOS I got a nice little line on the terminal telling me about the current progress of the installation. How many derivations are left to build, how many left to download and which is the current one downloading/building. And IIRC it even told me about the current download speed (or was it just saying “x of y MiB downloaded”?)

I do miss this information when using every-day nix. I get a list of derivations that needs to be build and which of them can be downloaded, and nix then tells me derivation by derivation that its currently beeing built/downloaded. Especially those that are built locally have a lot of other output and make it hard to keep track of the progress.

I’d really wish there were a possibility to mix both worlds. Having a status line at the bottom of the terminal and regular output in the remainder of the terminal.

Very similar to how apt does it, where you have a progressbar at the bottom and regular output on the remainder.

Is there something like this hidden behind configuration I could do

  1. in global configuration.nix
  2. as a user for the current profile?

Or is this worth a feature request and where should I do it?

The little one line on the terminal is provided by the nix build command. nix-env still uses nix-build which is the old style that dumps a ton of output to the terminal. The nix command itself is still experimental and being worked on, but I believe the idea is it will eventually take the place of the existing commands.

Personally, I find the nix build output a little too minimalistic, and I wish that it at least responded to SIGINFO (⌃T by default) to tell me more info (such as the list of packages remaining to be built).

4 Likes