diff options
| author | scouckel <james.krinsky@gmail.com> | 2026-04-02 20:49:34 -0400 |
|---|---|---|
| committer | scouckel <james.krinsky@gmail.com> | 2026-04-02 20:49:34 -0400 |
| commit | 50044b7a87bc9f59452855a96a2013c9b000a0a1 (patch) | |
| tree | c00948706d76ab9b9eceb051c4b1c45d16dc7e3d /modules/nixosModules/createHost.nix | |
| parent | eae1e605a04e7e78cac7052a5cc284de5f9ee87f (diff) | |
big work done
Diffstat (limited to 'modules/nixosModules/createHost.nix')
| -rw-r--r-- | modules/nixosModules/createHost.nix | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/modules/nixosModules/createHost.nix b/modules/nixosModules/createHost.nix new file mode 100644 index 0000000..a74ac53 --- /dev/null +++ b/modules/nixosModules/createHost.nix @@ -0,0 +1,83 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.createHost = { + lib, + pkgs, + config, + ... + }: let + cfg = config.hostOptions; + in { + boot.loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; # ← use the same mount point here. + }; + grub = { + efiSupport = true; + device = "nodev"; + useOSProber = true; + theme = "${pkgs.fetchFromGitHub { + # blue screen of life grub theme + owner = "scouckel"; + repo = "bsol"; + rev = "a8eedad9e7163dce230ca7886be8e1b4ef81da99"; + sha256 = "sha256-P2q73uM1Ysn1a+0mOGOvee/Q1WAYRGQvfanrasx/8r8"; + }}/bsol"; + }; + }; + + boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + hardware.firmware = with pkgs; [ + linux-firmware + ]; + hardware.enableRedistributableFirmware = true; + + system.name = cfg.host.name; + networking.hostName = cfg.host.name; + + networking.networkmanager.enable = true; + + time.timeZone = lib.mkDefault "US/Central"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + users.users.${cfg.user.name} = { + isNormalUser = true; + description = cfg.user.name; + extraGroups = ["networkmanager" "wheel"]; + shell = self.packages."${pkgs.stdenv.hostPlatform.system}".environment; + }; + + nixpkgs.config.allowUnfree = true; + nix.settings = { + experimental-features = ["nix-command" "flakes"]; + auto-optimise-store = true; + }; + + services.openssh = { + enable = true; + settings.PermitRootLogin = "no"; + }; + + system.stateVersion = "25.05"; + }; +} |
