summaryrefslogtreecommitdiff
path: root/modules/system/defaults-write.nix
diff options
context:
space:
mode:
authorpjan vandaele <pjan.vandaele@gmail.com>2017-12-31 11:44:02 +0900
committerpjan vandaele <pjan.vandaele@gmail.com>2017-12-31 12:15:22 +0900
commitd7e67ce030e6b7ec41f5f3beb011992c698984e2 (patch)
treebb4d92579ab82f238f4326067edf7a1cd8abc338 /modules/system/defaults-write.nix
parent6aec3fbb50b3c44af0899858d35fcafeb443ffb9 (diff)
float type
Diffstat (limited to 'modules/system/defaults-write.nix')
-rw-r--r--modules/system/defaults-write.nix4
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: