go-nix

module
v0.0.0-...-93cb24a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: Apache-2.0

README

go-nix - Nix experiments written in go

STATUS: experimental

This repository holds a bunch of experiments written in Go.

cmd/gonix

A 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/derivation

A parser for Nix .drv files. Functions to calculate derivation paths and output hashes.

pkg/derivation/store

A Structure to hold derivation graphs.

pkg/hash

Methods to serialize and deserialize some of the hashes used in nix code and .narinfo files.

pkg/nar

A 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/ls

A parser for .ls files (providing an index for .nar files)

pkg/nar/narinfo

A parser and generator for .narinfo files.

pkg/nixbase32

An implementation of the slightly odd "base32" encoding that's used in Nix, providing some of the functions in encoding/base32.Encoding.

pkg/storepath

A parser and regexes for Nix Store Paths.

pkg/storepath/references

A Nix Store path reference scanner.

pkg/wire

Methods to parse and produce fields used in the low-level Nix wire protocol.

Directories

Path Synopsis
cmd
pkg
hash
Package hash provides methods to serialize and deserialize some of the hashes used in nix code and .narinfo files.
Package hash provides methods to serialize and deserialize some of the hashes used in nix code and .narinfo files.
nar
Package nar implements access to .nar files.
Package nar implements access to .nar files.
nar/ls
It is provided on cache.nixos.org, and more generally, written when write-nar-listing=1 is passed while copying build results into a binary cache.
It is provided on cache.nixos.org, and more generally, written when write-nar-listing=1 is passed while copying build results into a binary cache.
nixbase32
Package nixbase32 implements the slightly odd "base32" encoding that's used in Nix.
Package nixbase32 implements the slightly odd "base32" encoding that's used in Nix.
storepath
Package storepath parses and renders Nix store paths.
Package storepath parses and renders Nix store paths.
wire
Package wire provides methods to parse and produce fields used in the low-level Nix wire protocol, operating on io.Reader and io.Writer When reading fields with arbitrary lengths, a maximum number of bytes needs to be specified.
Package wire provides methods to parse and produce fields used in the low-level Nix wire protocol, operating on io.Reader and io.Writer When reading fields with arbitrary lengths, a maximum number of bytes needs to be specified.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL