b35b3f472c | ||
---|---|---|
nixos/modules | ||
pkgs | ||
README.md | ||
default.nix |
README.md
Nixpkgs overlay with GNUnet-related packages
This repository contains experimental packages related to GNUnet for the Nix package manager. There exists a GNUnet package in the official nixpkgs repository but as GNUnet is still under heavy development, it is recommended to use a fairly recent version from the master branch of GNUnet's git repository.
Currently the overlay provides these packages:
- GNUnet itself
- libgnurl
Installation of the GNUnet service (NixOS only)
On NixOS we can install this overlay system-wide and then enable the GNUnet service. This will install the multi-user setup as described in the official documentation. We have to add this to our /etc/nixos/configuration.nix
:
{ config, pkgs, ... }:
{
...
nixpkgs.overlays = [
(import (fetchGit https://code.ulrich.earth/christian/nixpkgs-gnunet.git))
];
services.gnunet = {
enable = true;
};
...
}
We can add options to the global GNUnet configuration file like this:
services.gnunet = {
enable = true;
extraOptions = ''
[NAT]
ENABLE_UPNP = NO
[FS]
IMMEDIATE_START = NO
'';
};
After running nixos-rebuild switch
the GNUnet system services should be running (we still have to start GNUnet per user):
$ touch ~/.config/gnunet.conf
$ gnunet-arm -s
Installation of the GNUnet package into the user environment (Nix on all systems)
We can install the overlay into the user environment like this:
$ git clone https://code.ulrich.earth/christian/nixpkgs-gnunet.git
$ ln -s $(readlink -e nixpkgs-gnunet/default.nix) ~/.config/nixpkgs/overlays/nixpkgs-gnunet.nix
Now we can install the GNUnet package for our user. This will allow a single-user setup as described in the official documentation.
$ nix-env -f '<nixpkgs>' -iA gnunet
Now we can start GNUnet:
$ touch ~/.config/gnunet.conf
$ gnunet-arm -s