diff --git a/hosts/nixos/apollo/configuration.nix b/hosts/nixos/apollo/configuration.nix index c29680e..989750e 100644 --- a/hosts/nixos/apollo/configuration.nix +++ b/hosts/nixos/apollo/configuration.nix @@ -52,7 +52,6 @@ }; }; - i18n.inputMethod.enable = lib.mkForce false; system.stateVersion = "25.11"; networking.hostName = "apollo"; diff --git a/hosts/nixos/harmonica-sd/configuration.nix b/hosts/nixos/harmonica-sd/configuration.nix index 93c94c6..c4bb5e2 100644 --- a/hosts/nixos/harmonica-sd/configuration.nix +++ b/hosts/nixos/harmonica-sd/configuration.nix @@ -18,7 +18,6 @@ hardware.systemd-boot.enable = false; # SD card uses extlinux }; - i18n.inputMethod.enable = lib.mkForce false; # no need for japanese input method system.stateVersion = "25.05"; diff --git a/hosts/nixos/harmonica/configuration.nix b/hosts/nixos/harmonica/configuration.nix index 102da9e..e96b380 100644 --- a/hosts/nixos/harmonica/configuration.nix +++ b/hosts/nixos/harmonica/configuration.nix @@ -14,7 +14,6 @@ hardware.systemd-boot.enable = false; # Uses extlinux bootloader }; - i18n.inputMethod.enable = lib.mkForce false; # no need for japanese input method system.stateVersion = "25.05"; diff --git a/hosts/nixos/pochita/configuration.nix b/hosts/nixos/pochita/configuration.nix index 0af9731..c9194b5 100644 --- a/hosts/nixos/pochita/configuration.nix +++ b/hosts/nixos/pochita/configuration.nix @@ -29,7 +29,6 @@ zramSwap.enable = true; - i18n.inputMethod.enable = lib.mkForce false; # no need for japanese input method networking.hostName = "pochita"; # log of shame: osbm blamed nix when he wrote "hostname" instead of "hostName" diff --git a/hosts/nixos/wallfacer/configuration.nix b/hosts/nixos/wallfacer/configuration.nix index 867abf4..3e239fa 100644 --- a/hosts/nixos/wallfacer/configuration.nix +++ b/hosts/nixos/wallfacer/configuration.nix @@ -14,7 +14,6 @@ services.cloudflared.enable = true; }; - i18n.inputMethod.enable = lib.mkForce false; networking.hostName = "wallfacer"; system.stateVersion = "25.05"; } diff --git a/modules/nixos/system/i18n.nix b/modules/nixos/system/i18n.nix index 05c403a..a3819e8 100644 --- a/modules/nixos/system/i18n.nix +++ b/modules/nixos/system/i18n.nix @@ -1,13 +1,17 @@ -{ lib, config, ... }: +{ + lib, + pkgs, + config, + ... +}: { config = lib.mkIf config.osbmModules.i18n.enable { - # Set your time zone - time.timeZone = lib.mkDefault "Europe/Istanbul"; + time.timeZone = "Europe/Istanbul"; - # Select internationalisation properties - i18n.defaultLocale = lib.mkDefault "en_US.UTF-8"; + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = lib.mkDefault { + i18n.extraLocaleSettings = { LC_ADDRESS = "tr_TR.UTF-8"; LC_IDENTIFICATION = "tr_TR.UTF-8"; LC_MEASUREMENT = "tr_TR.UTF-8"; @@ -17,6 +21,22 @@ LC_PAPER = "tr_TR.UTF-8"; LC_TELEPHONE = "tr_TR.UTF-8"; LC_TIME = "ja_JP.UTF-8"; + # LC_ALL = "en_US.UTF-8"; + }; + + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + i18n.inputMethod = { + type = "fcitx5"; + enable = config.osbmModules.desktopEnvironment != "none"; + fcitx5.addons = with pkgs; [ + fcitx5-mozc + fcitx5-gtk + fcitx5-nord # a color theme + ]; }; }; }