summaryrefslogtreecommitdiff
path: root/hosts/common/global/keyboard.nix
diff options
context:
space:
mode:
authorDominik Kaiser2025-02-21 12:08:28 +0100
committerDominik Kaiser2025-02-21 12:08:28 +0100
commitf399d9ad109068c9b9a5059e445d6276d666da7d (patch)
tree4224a1cb8adad098161d8536cad7fec1aa50fd12 /hosts/common/global/keyboard.nix
parent5a29538e79f6a8b0d57e23fc930ef6e8e1acaa7c (diff)
downloadnixos-f399d9ad109068c9b9a5059e445d6276d666da7d.tar.gz
nixos-f399d9ad109068c9b9a5059e445d6276d666da7d.zip
Modularize keyboard settings
Diffstat (limited to 'hosts/common/global/keyboard.nix')
-rw-r--r--hosts/common/global/keyboard.nix21
1 files changed, 21 insertions, 0 deletions
diff --git a/hosts/common/global/keyboard.nix b/hosts/common/global/keyboard.nix
new file mode 100644
index 0000000..01d0cd7
--- /dev/null
+++ b/hosts/common/global/keyboard.nix
@@ -0,0 +1,21 @@
+{ pkgs, lib, config, ... }:
+{
+ options = {
+ keyboard.dvorak = lib.mkOption {
+ type = lib.types.bool;
+ default = true;
+ };
+ keyboard.desktop = lib.mkOption {
+ type = lib.types.bool;
+ default = false;
+ };
+ };
+
+ config = {
+ console.keyMap = if config.keyboard.dvorak then "dvorak" else "us";
+ services.xserver.xkb = lib.mkIf config.keyboard.desktop {
+ layout = "us";
+ variant = lib.mkIf config.keyboard.dvorak "dvorak-alt-intl";
+ };
+ };
+} \ No newline at end of file