diff options
Diffstat (limited to 'modules/system/defaults-write.nix')
| -rw-r--r-- | modules/system/defaults-write.nix | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/system/defaults-write.nix b/modules/system/defaults-write.nix index cf0a10a..d69a2c3 100644 --- a/modules/system/defaults-write.nix +++ b/modules/system/defaults-write.nix @@ -6,13 +6,15 @@ let cfg = config.system.defaults; + isFloat = x: isString x && builtins.match "^[+-]?([1-9]*[.])?[0-9]+$" x != null; + boolValue = x: if x then "YES" else "NO"; writeValue = value: if isBool value then "-bool ${boolValue value}" else if isInt value then "-int ${toString value}" else + if isFloat value then "-float ${toString value}" else if isString value then "-string '${value}'" else - if isAttrs value then "-${value.type} '${value.value}'" else throw "invalid value type"; writeDefault = domain: key: value: |
