From 0f6340de130d12793b87b714e5ea72e4d1f4c925 Mon Sep 17 00:00:00 2001 From: Sarah Date: Sun, 17 Oct 2021 15:56:46 +0200 Subject: [PATCH] Add readme --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9c3636d --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +Peerix +====== + +Peerix is a peer-to-peer binary cache for nix derivations. +Every participating node can pull derivations from each other instances' respective nix-stores. + +How does it work? +----------------- + +Peerix implements a nix binary cache. When the nix package manager queries peerix, peerix +will ask the network if any other peerix instances hold the package, and if some other instance +holds the derivation, it will download the derivation from that instance. + +Installation +------------ +There is a nix-module located at `module.nix` that configures your nixos-installation +to automatically use peernix. + +These Options exist: + ++----------------------------------+----------------------------------------------------------------------------------------------+ +| Option | Description | ++----------------------------------+----------------------------------------------------------------------------------------------+ +| `services.peerix.enable` | Enables Peerix | +| `services.peerix.openFirewall` | Open the neccessary firewall ports. | +| `services.peerix.user` | What user should the peerix service run under. | +| `services.peerix.group` | What group should the peerix service run under. | +| `services.peerix.privateKeyFile` | A path to the file that contains the path to the private key to sign your derivations. | +| `services.peerix.publicKeyFile` | A path to the file that contains the path to the public key so nix can verify the signature. | ++----------------------------------+----------------------------------------------------------------------------------------------+ + +To sign the peerix cache, you can use `nix-store --generate-binary-cache-key` to create keys to verify authenticity of +the packages in each nix-store.