From d82c472ab00f69e17423c7c97bbdec11d87eadd0 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 1 Dec 2016 21:34:37 +0100 Subject: add initial support for system defaults --- modules/system/activation-scripts.nix | 1 + modules/system/defaults/default.nix | 37 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 modules/system/defaults/default.nix (limited to 'modules/system') 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} + ''; + }; +} -- cgit v1.2.3