pinix

Crates.iopinix
lib.rspinix
version0.3.1
sourcesrc
created_at2024-02-17 18:09:14.017573
updated_at2024-10-20 08:40:29.254345
descriptionProgress In Nix - Pacman inspired frontend for Nix
homepagehttps://github.com/remi-dupre/pinix
repositoryhttps://github.com/remi-dupre/pinix
max_upload_size
id1143391
size5,756,458
Rémi Dupré (remi-dupre)

documentation

README

Progress In Nix

Crates.io License Crates.io Version

Pinix is a Pacman inspired frontend for Nix. It wraps a regular Nix command and replaces the output with a more modern and informative interface.

asciicast

It should work transparently for most commands, including when an interactive shell is spawned.

Installation

Using Nix

The repository defines a flake, so you can get the pinix package available by adding it to your flake.nix:

inputs = {
  pinix.url = github:remi-dupre/pinix;
};

Using Cargo

You can also install pinix from sources by using cargo:

cargo install pinix

# This will only install the main binary so you might want to add aliases for
# common nix commands.
alias pix="pinix --command nix"
alias pix-shell="pinix --command nix-shell"
alias pixos-rebuild="pinix --command nixos-rebuild"

Usage

The nix package provides you with drop-in replacements for common nix commands:

$ pix-shell -p htop
$ pixos-rebuild switch --flake .

Pinix has its how set of parameters, all prefixed with --pix-, they must be specified before any regular parameter. You can get list supported parameters through the help message:

$ pinix --pix-help
Wrap a Nix command to display rich logs while it is running

Usage: pinix [OPTIONS] [EXT]...

Arguments:
  [EXT]...  Arguments forwared to actual Nix command

Options:
      --pix-help               Display this help message
      --pix-command <COMMAND>  Specify the nix command that must be run
      --pix-debug              Display a debug bar
      --pix-log-downloads      Display a log line when a download is finished
      --pix-record <RECORD>    Save timestamped logs to a file

If you want to run a command for which you don't have an alias available you can call pinix followed by your regular command:

$ pinix nix-shell -p htop

Similar Tools

I'm not the first one who tried to improve nix output. Here are the tools that I know of:

  • nix-output-monitor: Pipe your nix-build output through the nix-output-monitor a.k.a nom to get additional information while building.

  • nvd: Nix/NixOS package version diff tool.

  • #4296: Some old suggestion for a more riche native progress indicator in nix.

Commit count: 45

cargo fmt