]> git.dkaiser.de - config/nixos.git/commitdiff
Modularize keyboard settings
authorDominik Kaiser <dominik-kaiser@mailbox.org>
Fri, 21 Feb 2025 11:08:28 +0000 (12:08 +0100)
committerDominik Kaiser <dominik-kaiser@mailbox.org>
Fri, 21 Feb 2025 11:08:28 +0000 (12:08 +0100)
hosts/common/global/default.nix
hosts/common/global/keyboard.nix [new file with mode: 0644]
hosts/common/global/locale.nix
hosts/sol/configuration.nix

index 3af5cc8adef5cb3d7cb62b0cebe6df618af5b86e..a60c4125c0c1d6eb86db4b10f3b4fefe42c33f7d 100644 (file)
@@ -2,5 +2,6 @@
 {
   imports = [
     ./locale.nix
+    ./keyboard.nix
   ];
 }
\ No newline at end of file
diff --git a/hosts/common/global/keyboard.nix b/hosts/common/global/keyboard.nix
new file mode 100644 (file)
index 0000000..01d0cd7
--- /dev/null
@@ -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
index 7bc53c25fdcf7bbaeca89c30646088e366f585ea..6c60bfc5ef5fbb4c61204d01c59e7929fb4e31c7 100644 (file)
@@ -2,7 +2,7 @@
 {
   time.timeZone = lib.mkDefault "Europe/Berlin";
   i18n = {
-    defaultLocale = lib.mkDefault "en_US.UTF-8";
+    defaultLocale = lib.mkDefault "en_IE.UTF-8";
     extraLocaleSettings = {
       LC_ADDRESS = lib.mkDefault "en_IE.UTF-8";
       LC_IDENTIFICATION = lib.mkDefault "en_IE.UTF-8";
index 2106d058dd2fe012c8f0d84f9307eeb1803940cf..b77debeb4dbf05f9c809cd43a3006038473205ae 100644 (file)
   services.xserver.displayManager.lightdm.enable = true;
   services.xserver.desktopManager.cinnamon.enable = true;
 
-  # Configure keymap in X11
-  services.xserver.xkb = {
-    layout = "us";
-    variant = "dvorak-alt-intl";
-  };
-
-  # Configure console keymap
-  console.keyMap = "dvorak";
+  keyboard.desktop = true;
 
   # Enable CUPS to print documents.
   services.printing.enable = true;