Shows you the disk
A scan that attributes every byte to something, down a tree you can walk. Sizes are what the filesystem has committed, not what the files claim to contain.
Then get it back, with a figure you can hold the tool to. nix is a storage manager for Linux that measures what it is about to delete, and tells you when it cannot promise the space will come back.
Only the last one is what removing it gives you back. It is 85 MB more than the package manager reports, because 30,547 small files each cost a whole block. nix shows you that figure, and says so when it is an estimate.
A scan that attributes every byte to something, down a tree you can walk. Sizes are what the filesystem has committed, not what the files claim to contain.
Caches, logs, superseded packages, old kernels, build output, container images. You see every item and what losing it costs before anything is touched.
CPU, memory, disks, network, temperatures and battery, sampled only while you are looking. Close the window and it stops.
Packages, services and timers, startup entries, software sources and the hosts file, each read from the system rather than guessed at.
Each of these is asserted by a test that fails the build when it regresses. Measured on the machine nix was written on, an eight-core desktop running Ubuntu 22.04.
| Measured | Result | Ceiling |
|---|---|---|
| Subprocesses spawned while monitoring | 0 | none permitted |
| Processor used with the monitor open | 0.75% of one core | 1% |
| Memory held after a full scan | 45.7 MiB | 150 MB |
| Time to read a file while scanning | 4.65 µs | 10 µs |
| Time to list 757 system services | 11.7 ms | 500 ms |
The first row is the one worth explaining: nix reads the kernel's own interfaces directly, so nothing is launched on a timer to sample your machine. Listing those services takes one call rather than 1,515 of them.
Version 0.2.0, for x86-64 Linux. Built on Ubuntu 22.04, so it runs on that and anything newer.
sudo apt install ./nix_0.2.0_amd64.deb
sudo dnf install ./nix-0.2.0-1.x86_64.rpm
makepkg -si
Download from the releases page
The .deb and .rpm install a small privileged helper and its polkit
policy, which is what lets nix reclaim system space. An AppImage is also published, but
polkit identifies a program by its absolute path and an AppImage does not have a fixed one,
so privileged features report themselves unavailable there rather than failing when you try
to use them.
nix is not 1.0 yet. Everything above is built and tested, and some of it has been tested only against the machine it was written on: the package backends for Fedora, openSUSE and Arch are written to documented output and have never met a real installation of those systems, and the operations that delete system files have never run as root outside a test. Those are listed, one by one, with what is missing.
Every defect found while building it is written down too, what it was, how it surfaced, and what now stops it recurring. There are seventy-one of them.