Buildable without flakes
Do not select an nncp-version in the overlay
Cleanup
Two utilities for sending and receiving git-annex data using the special remote and the p2p git-annex protocols.
This is fully asychronous remote, the sender cannot check if a file is present at the receiver so files are always transmitted. I recommend adding both SSH and NNCP remotes for a host, syncronizing metadata over SSH and pushing new data with NNCP.
I included a Nix flake. I don't know how to install this otherwise and I can't be bothered to work that out. Nim cannot build programs with the '-' character in their names, so both utilities need to be renamed after building.
Git-annex will need to find git-annex-remote-nncp
somewhere in its PATH
environmental variable.
Configure a handler in the receiver NNCP configuration. Each repository that can be pushed into needs to be listed as a seperate handler. The handler arguments are:
nncp-git-annex
programPATH
specification from which the git-annex programs can be found
(on NixOS this can be left empty, the utilities are wrapped)Configuration at Bob:
{
"neigh": {
"alice": {
"exec": {
"git-annex-music": [
"/usr/local/bin/nncp-git-annex" "/usr/bin" "/home/bob/music"
] } } }
}
Init (or enable) a remote with the node and handler set to the NNCP remote node name and handler configurate at the remote node.
git annex initremote bob-nncp encryption=none type=external externaltype=nncp node=bob handler=git-annex-music
Send foo.opus
to Bob.
git annex copy --to bob-nncp ./foo.opus
nncp-stat -pkt -node bob # List outgoing packets for Bob
nncp-call bob # Transfer packet to Bob
nncp-stat -pkt -node alice # List incoming packets from Alice
nncp-toss # Process packes from Alice