Elements of Nix re-implemented as Go libraries [maintainer=@flokli]
See the codeSTATUS: experimental
This repository holds a bunch of experiments written in Go.
cmd/gonixA command line entrypoint called gonix, currently implementing the nar
{cat,dump-path,ls} commands.
They're not meant to be 100% compatible, but are documented in the --help
output.
pkg/derivationA parser for Nix .drv files.
Functions to calculate derivation paths and output hashes.
pkg/derivation/storeA Structure to hold derivation graphs.
pkg/nixhashMethods to serialize and deserialize some of the hashes used in nix code and
.narinfo files.
pkg/narA Nix ARchive (NAR) file Reader and Writer, with an interface similar to
archive/tar from the stdlib, as well as a DumpPath method, which
will assemble a NAR representation of a local file system path.
pkg/nar/lsA parser for .ls files (providing an index for .nar files)
pkg/nar/narinfoA parser and generator for .narinfo files.
pkg/nixbase32An implementation of the slightly odd "base32" encoding that's used in Nix,
providing some of the functions in encoding/base32.Encoding.
pkg/storepathA parser and regexes for Nix Store Paths.
pkg/storepath/referencesA Nix Store path reference scanner.
pkg/sqliteA collection of interfaces and utilities for writing to and querying various sqlite databases that Nix uses.
pkg/sqlite/binary_cache_v6SQLC generated code for querying the Nar Info Disk Cache, typically located at $XDG_CACHE_HOME/nix/binary-cache-v6.sqlite.
pkg/sqlite/eval_cache_v5SQLC generated code for querying an instance of the Eval Cache, typically located at $XDG_CACHE_HOME/nix/eval-cache-v5/*.sqlite.
pkg/sqlite/fetcher_cache_v2SQLC generated code for querying the fetcher cache, typically located in $XDG_CACHE_HOME/nix/fetcher-cache-v2.sqlite.
pkg/sqlite/nix_v10SQLC generated code for querying the main Nix database, typically located in /nix/var/nix/db.sqlite.
pkg/wireMethods to parse and produce fields used in the low-level Nix wire protocol.
Go
98.6%
Nix
1.4%
Elements of Nix re-implemented as Go libraries [maintainer=@flokli]
See the codeSTATUS: experimental
This repository holds a bunch of experiments written in Go.
cmd/gonixA command line entrypoint called gonix, currently implementing the nar
{cat,dump-path,ls} commands.
They're not meant to be 100% compatible, but are documented in the --help
output.
pkg/derivationA parser for Nix .drv files.
Functions to calculate derivation paths and output hashes.
pkg/derivation/storeA Structure to hold derivation graphs.
pkg/nixhashMethods to serialize and deserialize some of the hashes used in nix code and
.narinfo files.
pkg/narA Nix ARchive (NAR) file Reader and Writer, with an interface similar to
archive/tar from the stdlib, as well as a DumpPath method, which
will assemble a NAR representation of a local file system path.
pkg/nar/lsA parser for .ls files (providing an index for .nar files)
pkg/nar/narinfoA parser and generator for .narinfo files.
pkg/nixbase32An implementation of the slightly odd "base32" encoding that's used in Nix,
providing some of the functions in encoding/base32.Encoding.
pkg/storepathA parser and regexes for Nix Store Paths.
pkg/storepath/referencesA Nix Store path reference scanner.
pkg/sqliteA collection of interfaces and utilities for writing to and querying various sqlite databases that Nix uses.
pkg/sqlite/binary_cache_v6SQLC generated code for querying the Nar Info Disk Cache, typically located at $XDG_CACHE_HOME/nix/binary-cache-v6.sqlite.
pkg/sqlite/eval_cache_v5SQLC generated code for querying an instance of the Eval Cache, typically located at $XDG_CACHE_HOME/nix/eval-cache-v5/*.sqlite.
pkg/sqlite/fetcher_cache_v2SQLC generated code for querying the fetcher cache, typically located in $XDG_CACHE_HOME/nix/fetcher-cache-v2.sqlite.
pkg/sqlite/nix_v10SQLC generated code for querying the main Nix database, typically located in /nix/var/nix/db.sqlite.
pkg/wireMethods to parse and produce fields used in the low-level Nix wire protocol.
Go
98.6%
Nix
1.4%