nie is a nix-wrapper that allows you to build, run or load your derivations similar to the nix3 command-line interface and flakes. It does not dependent on Flakes or any other experimental features and relies solely on the stable nix2 interface.
- Rust 87.1%
- Nix 12.9%
|
|
||
|---|---|---|
| .forgejo/workflows | Update checkout action | |
| npins | Prepare v0.1.3 | |
| src | Update documentation | |
| .gitignore | Initial commit | |
| Cargo.lock | Prepare v0.1.3 | |
| Cargo.toml | Prepare v0.1.3 | |
| default.nix | Improve default.nix | |
| flake.nix | Use cornflakes for statix, deadnix and flake.nix | |
| README.md | Add 'Contributing' section to the README | |
| testrepos.txt | Add file with testrepos | |
Nie
nie is a nix-wrapper that allows you to build, run or load your derivations similar to the nix3 command-line interface and flakes.
It does not dependent on Flakes or any other experimental features and relies solely on the stable nix2 interface.
You can try out the program in a temporary shell:
# on a Flake-enabled system:
nix shell git+https://codeberg.org/jzbor/nie.git
# on any other machine with Nix installed
nix-shell -E '(import (builtins.fetchGit { url = "https://codeberg.org/jzbor/nie"; }) {}).packages.default'
# on a machine with nie installed
nie shell codeberg://jzbor/nie
Features
- Fetch repositories from Codeberg, Github and other Git sources.
- Discover packages and checks from
default.nix,flake.nixor a custom Nix file. - Add programs to your shell and enter development shells.
- Pin shells for automatic or offline usage.
- Compatibility with Flakes is enabled by lix-project/flake-compat
Examples
# Show all outputs the `jzbor/nie` repo specifies in its `default.nix`
nie show codeberg://jzbor/nie
# Show all outputs the `jzbor/nie` repo specifies in its `flake.nix`
nie show --flake-compat codeberg://jzbor/nie
# Run the `hello` program from nixpkgs
nie run github://nixos/nixpkgs/nixos-unstable#hello
# View the man page for the `vim` program from nixpkgs
nie run --man github://nixos/nixpkgs/nixos-unstable#cargo
Non-Goals
- NixOS/HomeManager integration: You can use
nixos-rebuild,home-manager,nhor custom scripts for those. - Input pinning: Use
npins,nivorNixtamal. - Derivation and store analysis: Check out
nix-treeornix-sweep.
Contributing
I currently have no capacity to review code contributions. Exceptions can be made after discussion via e-mail or in an issue. Contributions in the form of feedback or issues are greatly appreciated.