services: set systemd list options as list values

This makes our list definitions mergeable with custom list values
set by users.
Previously, a module error ("value is a string while a list
was expected") was thrown instead.

This commit was partly auto-generated with this script:

#!/usr/bin/env ruby
Dir["**/*.nix"].each do |file|
  src = File.read(file)
  fixed = src.gsub(/ReadWritePaths *= *(.*?);/) do
    "ReadWritePaths = [ #{$1} ];"
  end
  File.write(file, fixed) if fixed != src
end
This commit is contained in:
Erik Arvstedt 2022-05-07 20:34:21 +02:00
parent 4df8d9404d
commit e6bb281a88
No known key found for this signature in database
GPG key ID: 33312B944DD97846
12 changed files with 19 additions and 15 deletions

View file

@ -423,7 +423,7 @@ in {
ExecStart = "${cfg.package}/bin/bitcoind -datadir='${cfg.dataDir}'";
Restart = "on-failure";
UMask = mkIf cfg.dataDirReadableByGroup "0027";
ReadWritePaths = cfg.dataDir;
ReadWritePaths = [ cfg.dataDir ];
} // nbLib.allowedIPAddresses cfg.tor.enforce
// optionalAttrs zmqServerEnabled nbLib.allowNetlink;
};
@ -449,7 +449,7 @@ in {
serviceConfig = nbLib.defaultHardening // {
User = cfg.user;
Group = cfg.group;
ReadWritePaths = cfg.dataDir;
ReadWritePaths = [ cfg.dataDir ];
} // nbLib.allowLocalIPAddresses;
};