summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/networking/notbit.nix43
-rw-r--r--pkgs/applications/networking/notbit/default.nix8
2 files changed, 44 insertions, 7 deletions
diff --git a/nixos/modules/services/networking/notbit.nix b/nixos/modules/services/networking/notbit.nix
index b97435042395..3e8c956f191e 100644
--- a/nixos/modules/services/networking/notbit.nix
+++ b/nixos/modules/services/networking/notbit.nix
@@ -1,5 +1,6 @@
 { config, lib, pkgs, ... }:
 
+with pkgs.lib;
 let
   cfg = config.services.notbit;
   varDir = "/var/lib/notbit";
@@ -14,6 +15,10 @@ let
         --set XDG_RUNTIME_DIR ${varDir}
     '';
   };
+  opts = "${optionalString cfg.allowPrivateAddresses "-L"} ${optionalString cfg.noBootstrap "-b"} ${optionalString cfg.specifiedPeersOnly "-e"}";
+  peers = concatStringsSep " " (map (str: "-P \"${str}\"") cfg.peers);
+  listen = if cfg.listenAddress == [] then "-p ${toString cfg.port}" else
+    concatStringsSep " " (map (addr: "-a \"${addr}:${toString cfg.port}\"") cfg.listenAddress);
 in
 
 with lib;
@@ -35,7 +40,7 @@ with lib;
 
       port = mkOption {
         type = types.uniq types.int;
-        default = 8443;
+        default = 8444;
         description = "The port which the daemon listens for other bitmessage clients";
       };
 
@@ -45,6 +50,38 @@ with lib;
         description = "Set the nice level for the notbit daemon";
       };
 
+      listenAddress = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "localhost" "myhostname" ];
+        description = "The addresses which notbit will use to listen for incoming connections. These addresses are advertised to connecting clients.";
+      };
+
+      peers = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "bitmessage.org:8877" ];
+        description = "The initial set of peers notbit will connect to.";
+      };
+
+      specifiedPeersOnly = mkOption {
+        type = types.uniq types.bool;
+        default = false;
+        description = "If true, notbit will only connect to peers specified by the peers option.";
+      };
+
+      allowPrivateAddresses = mkOption {
+        type = types.uniq types.bool;
+        default = false;
+        description = "If true, notbit will allow connections to to RFC 1918 addresses.";
+      };
+
+      noBootstrap = mkOption {
+        type = types.uniq types.bool;
+        default = false;
+        description = "If true, notbit will not bootstrap an initial peerlist from bitmessage.org servers";
+      };
+
     };
 
   };
@@ -53,7 +90,7 @@ with lib;
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.notbit sendmail ];
+    environment.systemPackages = [ sendmail ];
 
     systemd.services.notbit = {
       description = "Notbit daemon";
@@ -70,7 +107,7 @@ with lib;
 
       serviceConfig = {
         Type = "forking";
-        ExecStart = "${pkgs.notbit}/bin/notbit -d -p ${toString cfg.port}";
+        ExecStart = "${pkgs.notbit}/bin/notbit -d ${listen} ${peers} ${opts}";
         User = "notbit";
         Group = "notbit";
         UMask = "0077";
diff --git a/pkgs/applications/networking/notbit/default.nix b/pkgs/applications/networking/notbit/default.nix
index db900f9ff256..8a7d7d3aedcf 100644
--- a/pkgs/applications/networking/notbit/default.nix
+++ b/pkgs/applications/networking/notbit/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, autoconf, automake, pkgconfig, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "notbit-0.2-28-g06f9160";
+  name = "notbit-git-faf0930";
 
   src = fetchgit {
-    url = "git://git.busydoingnothing.co.uk/notbit";
-    rev = "06f916081836de12f8e57a9f50c95d4d1b51627f";
-    sha256 = "d5c38eea1d9ca213bfbea5c88350478a5088b5532e939de9680d72e60aa65288";
+    url = "git://github.com/bpeel/notbit";
+    rev = "faf09304bf723e75f3d98cca93cf45236ee9d6b6";
+    sha256 = "b229f87c4c5e901bfd8b13dffe31157126d98ed02118fff6553e8b58eb9ed030";
   };
 
   buildInputs = [ autoconf automake pkgconfig openssl ];