diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml
index f271451970a2..35534af1f1dc 100644
--- a/nixos/doc/manual/release-notes/rl-1709.xml
+++ b/nixos/doc/manual/release-notes/rl-1709.xml
@@ -107,7 +107,7 @@ rmdir /var/lib/ipfs/.ipfs
The mysql default dataDir has changed from /var/mysql to /var/lib/mysql.
- Radicale's default package has changed from 1.x to 2.x. Instructions to migrate can be found here . It is also possible to use the newer version by setting the package to radicale2, which is done automatically when stateVersion is 17.09 or higher.
+ Radicale's default package has changed from 1.x to 2.x. Instructions to migrate can be found here . It is also possible to use the newer version by setting the package to radicale2, which is done automatically when stateVersion is 17.09 or higher. The extraArgs option has been added to allow passing the data migration arguments specified in the instructions.
diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix
index f1b8edf43713..56f2e976cff5 100644
--- a/nixos/modules/services/networking/radicale.nix
+++ b/nixos/modules/services/networking/radicale.nix
@@ -48,6 +48,12 @@ in
configuration file.
'';
};
+
+ services.radicale.extraArgs = mkOption {
+ type = types.listOf types.string;
+ default = [];
+ description = "Extra arguments passed to the Radicale daemon.";
+ };
};
config = mkIf cfg.enable {
@@ -71,7 +77,11 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
- ExecStart = "${cfg.package}/bin/radicale -C ${confFile} -f";
+ ExecStart = concatStringsSep " " ([
+ "${cfg.package}/bin/radicale" "-C" confFile
+ ] ++ (
+ map escapeShellArg cfg.extraArgs
+ ));
User = "radicale";
Group = "radicale";
};