{
imports = [
./locale.nix
+ ./keyboard.nix
];
}
\ No newline at end of file
--- /dev/null
+{ 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
{
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";
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;