gitmyhub

nixard

Python ★ 29 updated 1mo ago

Interactive terminal UI for exploring NixOS package closures, analyzing real installation costs, and generating ready-to-use Nix declarations.

A terminal app for NixOS that shows what packages are installed, what depends on what, and the real disk and download cost of adding something new.

NixNixOSHome Managersetup: easycomplexity 2/5

nixard is an interactive terminal application for NixOS users who want a clearer picture of what packages are installed on their system and what it would actually cost to add more. NixOS is a Linux distribution with an unusual package management approach where software and its dependencies are stored in an isolated directory called the Nix store. Over time that store can accumulate entries that are no longer active, and figuring out exactly what is in use, what can be cleaned up, and what a new package would download is not always straightforward with the standard tools. nixard addresses that by showing the full picture in a keyboard-driven interface.

The core feature is dependency closure analysis. When you look up a package, nixard walks its full tree of dependencies and cross-references that against your local store. It tells you which dependencies you already have active, which are present in the store but unused, which can be safely removed, and which would need to be downloaded fresh. It calculates the real download size and disk usage, rather than just reporting theoretical numbers.

nixard also reads your NixOS configuration files automatically. It understands several ways NixOS systems are set up, including traditional configuration files, flake-based setups, and Home Manager for user-level configuration. When you find a package you want to keep, you can mark it and export a ready-to-paste Nix declaration for whichever configuration style you use. Export history is saved between sessions so you can return to previous selections.

A built-in split editor lets you open and modify your actual NixOS configuration files without leaving the terminal interface. It creates a backup before saving any changes and requires an explicit save action before anything is written.

The tool runs entirely without performing any builds or modifying your system during inspection. It can be launched without permanent installation using a single Nix command. The project is licensed under MIT.

Where it fits