aboutsummaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-04-22 18:25:24 +0200
committerSoispha <soispha@vhack.eu>2023-05-09 19:31:33 +0200
commitb5d4152d843c4a52176c62431c2bf7b3dfdc00cb (patch)
tree11e121861b212a0bd87fe2d255a23c19b137c05c /system
parentFix(hosts/apzu): Add correct hardware modules (diff)
downloadnixos-config-b5d4152d843c4a52176c62431c2bf7b3dfdc00cb.zip
Feat(system/locale): Modularize keyMap setting
Diffstat (limited to '')
-rw-r--r--system/locale/default.nix43
1 files changed, 28 insertions, 15 deletions
diff --git a/system/locale/default.nix b/system/locale/default.nix
index 6684f828..64aeae0e 100644
--- a/system/locale/default.nix
+++ b/system/locale/default.nix
@@ -1,24 +1,37 @@
# vim: ts=2
{
config,
- pkgs,
+ lib,
...
-}: {
- # Set your time zone.
- time.timeZone = "Europe/Berlin";
-
- # Select internationalisation properties.
- i18n = {
- defaultLocale = "en_CA.UTF-8";
- extraLocaleSettings = {
- LANGUAGE = "en_CA:en_US:en";
- LC_TIME = "en_DK.UTF-8";
- LC_COLLATE = "C.UTF-8";
+}: let
+ cfg = config.soispha.locale;
+in {
+ options.soispha.locale = {
+ enable = lib.mkEnableOption (lib.mdDoc "locale");
+ keyMap = lib.mkOption {
+ type = lib.types.str;
+ example = "us";
+ default = "dvorak";
};
};
- # Layout
- console = {
- keyMap = "us"; # TODO add a config switch for this
+ config = lib.mkIf cfg.enable {
+ # Set your time zone.
+ time.timeZone = "Europe/Berlin";
+
+ # Select internationalisation properties.
+ i18n = {
+ defaultLocale = "en_CA.UTF-8";
+ extraLocaleSettings = {
+ LANGUAGE = "en_CA:en_US:en";
+ LC_TIME = "en_DK.UTF-8";
+ LC_COLLATE = "C.UTF-8";
+ };
+ };
+
+ # Layout
+ console = {
+ inherit (cfg) keyMap;
+ };
};
}