diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 02cd53c6fa38..008b09e81a57 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -102,6 +102,14 @@ in }; }; + package = mkOption { + type = types.package; + default = pkgs.gnunet; + defaultText = "pkgs.gnunet"; + description = "Overridable attribute of the gnunet package to use."; + example = literalExample "pkgs.gnunet_git"; + }; + extraOptions = mkOption { default = ""; description = '' @@ -130,16 +138,16 @@ in # The user tools that talk to `gnunetd' should come from the same source, # so install them globally. - environment.systemPackages = [ pkgs.gnunet ]; + environment.systemPackages = [ cfg.package ]; systemd.services.gnunet = { description = "GNUnet"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.gnunet pkgs.miniupnpc ]; + path = [ cfg.package pkgs.miniupnpc ]; environment.TMPDIR = "/tmp"; serviceConfig.PrivateTemp = true; - serviceConfig.ExecStart = "${pkgs.gnunet}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}"; + serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}"; serviceConfig.User = "gnunet"; serviceConfig.UMask = "0007"; serviceConfig.WorkingDirectory = homeDir;