{ config, lib, ... }: 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"; }; }; 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; }; }; }