diff options
author | Malte Voos <malte@malvo.org> | 2021-08-14 22:16:58 +0200 |
---|---|---|
committer | Malte Voos <malte@malvo.org> | 2021-08-23 14:22:56 +0200 |
commit | 59d7d726f11b8c759ab1b804fa71c15cc1b25627 (patch) | |
tree | 9fe4858b4084457a773617b1f687f19c6db4b8e2 /nixos/modules/services/networking | |
parent | 069cd2bdc5303b9aafece12544138bac35160f7c (diff) | |
download | nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.tar nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.tar.gz nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.tar.bz2 nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.tar.lz nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.tar.xz nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.tar.zst nixpkgs-59d7d726f11b8c759ab1b804fa71c15cc1b25627.zip |
nixos/gnunet: improve service configuration
Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com> Co-authored-by: Aaron Andersen <aaron@fosslib.net>
Diffstat (limited to 'nixos/modules/services/networking')
-rw-r--r-- | nixos/modules/services/networking/gnunet.nix | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 69d4ed04775..cf3d1841a97 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -6,12 +6,15 @@ let cfg = config.services.gnunet; - homeDir = "/var/lib/gnunet"; + stateDir = "/var/lib/gnunet"; - configFile = with cfg; pkgs.writeText "gnunetd.conf" + configFile = with cfg; '' [PATHS] - SERVICEHOME = ${homeDir} + GNUNET_HOME = ${stateDir} + GNUNET_RUNTIME_DIR = /run/gnunet + GNUNET_USER_RUNTIME_DIR = /run/gnunet + GNUNET_DATA_HOME = ${stateDir}/data [ats] WAN_QUOTA_IN = ${toString load.maxNetDownBandwidth} b @@ -137,8 +140,6 @@ in users.users.gnunet = { group = "gnunet"; description = "GNUnet User"; - home = homeDir; - createHome = true; uid = config.ids.uids.gnunet; }; @@ -148,17 +149,20 @@ in # so install them globally. environment.systemPackages = [ cfg.package ]; + environment.etc."gnunet.conf".text = configFile; + systemd.services.gnunet = { description = "GNUnet"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; + restartTriggers = [ configFile ]; path = [ cfg.package pkgs.miniupnpc ]; - environment.TMPDIR = "/tmp"; - serviceConfig.PrivateTmp = true; - serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}"; + serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf"; serviceConfig.User = "gnunet"; serviceConfig.UMask = "0007"; - serviceConfig.WorkingDirectory = homeDir; + serviceConfig.WorkingDirectory = stateDir; + serviceConfig.RuntimeDirectory = "gnunet"; + serviceConfig.StateDirectory = "gnunet"; }; }; |