diff options
Diffstat (limited to 'nixos/modules')
| -rw-r--r-- | nixos/modules/default.nix | 5 | ||||
| -rw-r--r-- | nixos/modules/general-settings/default.nix | 45 |
2 files changed, 50 insertions, 0 deletions
diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix new file mode 100644 index 0000000..cd7e8d6 --- /dev/null +++ b/nixos/modules/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./general-settings + ]; +} diff --git a/nixos/modules/general-settings/default.nix b/nixos/modules/general-settings/default.nix new file mode 100644 index 0000000..0001f5f --- /dev/null +++ b/nixos/modules/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; + }; + }; +} |
