diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2016-12-01 21:34:37 +0100 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2016-12-01 21:34:37 +0100 |
| commit | d82c472ab00f69e17423c7c97bbdec11d87eadd0 (patch) | |
| tree | 87e07ee6aaa12358d053d441c372c900bcf6ec17 /modules/system | |
| parent | 5f7381fb7bb36b897647e0e0f8346d730fa0fb7b (diff) | |
add initial support for system defaults
Diffstat (limited to 'modules/system')
| -rw-r--r-- | modules/system/activation-scripts.nix | 1 | ||||
| -rw-r--r-- | modules/system/defaults/default.nix | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/modules/system/activation-scripts.nix b/modules/system/activation-scripts.nix index f9e6d86..fda882f 100644 --- a/modules/system/activation-scripts.nix +++ b/modules/system/activation-scripts.nix @@ -54,6 +54,7 @@ in # Prevent the current configuration from being garbage-collected. ln -sfn /run/current-system /nix/var/nix/gcroots/current-system + ${cfg.activationScripts.defaults.text} ${cfg.activationScripts.etc.text} ${cfg.activationScripts.launchd.text} diff --git a/modules/system/defaults/default.nix b/modules/system/defaults/default.nix new file mode 100644 index 0000000..7cfa041 --- /dev/null +++ b/modules/system/defaults/default.nix @@ -0,0 +1,37 @@ +{ config, lib, ... }: + +with lib; + +let + + cfg = config.system.defaults; + +in + +{ + options = { + + system.defaults.global.InitialKeyRepeat = mkOption { + type = types.nullOr types.int; + default = null; + }; + + system.defaults.global.KeyRepeat = mkOption { + type = types.nullOr types.int; + default = null; + }; + + }; + + config = { + system.activationScripts.defaults.text = '' + # Set defaults + echo "writing defaults..." >&2 + + '' + optionalString (cfg.global.InitialKeyRepeat != null) '' + defaults write -g InitialKeyRepeat -int ${toString cfg.global.InitialKeyRepeat} + '' + optionalString (cfg.global.KeyRepeat != null) '' + defaults write -g KeyRepeat -int ${toString cfg.global.KeyRepeat} + ''; + }; +} |
