diff options
Diffstat (limited to 'modules/system/general-settings')
| -rw-r--r-- | modules/system/general-settings/default.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/modules/system/general-settings/default.nix b/modules/system/general-settings/default.nix new file mode 100644 index 0000000..0001f5f --- /dev/null +++ b/modules/system/general-settings/default.nix @@ -0,0 +1,45 @@ +{ config, pkgs, lib, ... }: let + cfg = config.general-settings; +in { + options.general-settings = { + hostname = lib.mkOption { + type = lib.types.str; + default = "nixos"; + description = "system hostname"; + }; + locale = lib.mkOption { + type = lib.types.str; + default = "en_US.UTF-8"; + description = "system locale"; + }; + timezone = lib.mkOption { + type = lib.types.str; + default = "America/New_York"; + description = "system timezone"; + }; + stateVersion = lib.mkOption { + type = lib.types.str; + default = "24.11"; + description = "nixos stateversion"; + }; + }; + config = { + environment.systemPackages = [ pkgs.home-manager ]; + system.stateVersion = cfg.stateVersion; + nixpkgs.config.allowUnfree = true; + networking.hostName = cfg.hostname; + time.timeZone = cfg.timezone; + i18n.defaultLocale = cfg.locale; + i18n.extraLocaleSettings = { + LC_ADDRESS = cfg.locale; + LC_IDENTIFICATION = cfg.locale; + LC_MEASUREMENT = cfg.locale; + LC_MONETARY = cfg.locale; + LC_NAME = cfg.locale; + LC_NUMERIC = cfg.locale; + LC_PAPER = cfg.locale; + LC_TELEPHONE = cfg.locale; + LC_TIME = cfg.locale; + }; + }; +} |
