unison: Allow using same option multiple times (#4208)
Unison supports the same option to be given several times as a command line argument (e.g. unison -path xxx -path yyy). This commit adds Home Manager support for this by allowing a list of strings to be given to services.unison.pairs.<name>.commandOptions values. # Veuillez saisir le message de validation pour vos modifications. Les lignes
This commit is contained in:
parent
719de878f7
commit
34db2f0521
|
@ -22,7 +22,7 @@ let
|
|||
};
|
||||
|
||||
commandOptions = mkOption rec {
|
||||
type = with types; attrsOf str;
|
||||
type = with types; attrsOf (either str (listOf str));
|
||||
apply = mergeAttrs default;
|
||||
default = {
|
||||
repeat = "watch";
|
||||
|
@ -36,6 +36,8 @@ let
|
|||
Additional command line options as a dictionary to pass to the
|
||||
<literal>unison</literal> program.
|
||||
</para><para>
|
||||
Use a list of strings to declare the same option multiple times.
|
||||
</para><para>
|
||||
See
|
||||
<citerefentry>
|
||||
<refentrytitle>unison</refentrytitle>
|
||||
|
@ -60,7 +62,9 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
serialiseArg = key: val: escapeShellArg "-${key}=${escape [ "=" ] val}";
|
||||
serialiseArg = key: val:
|
||||
concatStringsSep " "
|
||||
(forEach (toList val) (x: escapeShellArg "-${key}=${escape [ "=" ] x}"));
|
||||
|
||||
serialiseArgs = args: concatStringsSep " " (mapAttrsToList serialiseArg args);
|
||||
|
||||
|
|
Loading…
Reference in a new issue