Crates.io | pinix |
lib.rs | pinix |
version | 0.3.1 |
source | src |
created_at | 2024-02-17 18:09:14.017573 |
updated_at | 2024-10-20 08:40:29.254345 |
description | Progress In Nix - Pacman inspired frontend for Nix |
homepage | https://github.com/remi-dupre/pinix |
repository | https://github.com/remi-dupre/pinix |
max_upload_size | |
id | 1143391 |
size | 5,756,458 |
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.
It should work transparently for most commands, including when an interactive shell is spawned.
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;
};
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"
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
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.