A NAR implementation in C, for bootstrapping purposes
Find a file
2025-03-31 23:40:50 -07:00
LICENSES initial commit 2025-03-31 23:40:50 -07:00
test-cases initial commit 2025-03-31 23:40:50 -07:00
test-out initial commit 2025-03-31 23:40:50 -07:00
.clang-format initial commit 2025-03-31 23:40:50 -07:00
.envrc initial commit 2025-03-31 23:40:50 -07:00
.gitignore initial commit 2025-03-31 23:40:50 -07:00
cnar.c initial commit 2025-03-31 23:40:50 -07:00
Makefile initial commit 2025-03-31 23:40:50 -07:00
README.md initial commit 2025-03-31 23:40:50 -07:00
REUSE.toml initial commit 2025-03-31 23:40:50 -07:00
shell.nix initial commit 2025-03-31 23:40:50 -07:00
test.sh initial commit 2025-03-31 23:40:50 -07:00

cnar

This is a C NAR implementation. The purpose of this program is to dump directories into NAR files and to not depend on anything.

To that end, it doesn't depend on anything but libc.

Usage

$ make
$ ./cnar some-file-or-directory > foo.nar

C???

Program in C!

The purpose of this software is to not have any dependencies, and Rust or something else good has dependencies.

Tests

Run ./test.sh. If it's busted, try vbindiff.

  • gridlock, a lockfile manager in Rust with no dependencies on Nix implementations.