mirror of
https://github.com/nix-community/home-manager
synced 2024-11-16 08:09:45 +01:00
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
1 changed files with 6 additions and 2 deletions
|
@ -22,7 +22,7 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
commandOptions = mkOption rec {
|
commandOptions = mkOption rec {
|
||||||
type = with types; attrsOf str;
|
type = with types; attrsOf (either str (listOf str));
|
||||||
apply = mergeAttrs default;
|
apply = mergeAttrs default;
|
||||||
default = {
|
default = {
|
||||||
repeat = "watch";
|
repeat = "watch";
|
||||||
|
@ -36,6 +36,8 @@ let
|
||||||
Additional command line options as a dictionary to pass to the
|
Additional command line options as a dictionary to pass to the
|
||||||
<literal>unison</literal> program.
|
<literal>unison</literal> program.
|
||||||
</para><para>
|
</para><para>
|
||||||
|
Use a list of strings to declare the same option multiple times.
|
||||||
|
</para><para>
|
||||||
See
|
See
|
||||||
<citerefentry>
|
<citerefentry>
|
||||||
<refentrytitle>unison</refentrytitle>
|
<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);
|
serialiseArgs = args: concatStringsSep " " (mapAttrsToList serialiseArg args);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue