3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #158602 from hercules-ci/systemd-unit-mixed-list-error

nixos/systemd: Custom error when mixing list/non-list defs
This commit is contained in:
Jörg Thalheim 2022-06-19 07:05:04 +01:00 committed by GitHub
commit f5ca531054
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,10 +20,15 @@ in rec {
merge = loc: defs:
let
defs' = filterOverrides defs;
defs'' = getValues defs';
in
if isList (head defs'')
then concatLists defs''
if isList (head defs').value
then concatMap (def:
if builtins.typeOf def.value == "list"
then def.value
else
throw "The definitions for systemd unit options should be either all lists, representing repeatable options, or all non-lists, but for the option ${showOption loc}, the definitions are a mix of list and non-list ${lib.options.showDefs defs'}"
) defs'
else mergeEqualOption loc defs';
};