nix/nixos/default.nix

64 lines
1.6 KiB
Nix

{ pkgs, lib, stateVersion, hostname, username, hostConfig, ... }:
{
imports = [ # Include the results of the hardware scan.
../hosts/${hostname}/hardware-configuration.nix
../hosts/${hostname}/nixos-config.nix
../modules/nixos
./includes/hardware/bootloader.nix
./includes/system/locales.nix
./includes/system/flakes.nix
./includes/system/user.nix
./includes/system/udisks2.nix
./includes/system/lvm.nix
./includes/system/doas.nix
./includes/system/neovim.nix
./includes/system/overlay.nix
];
nixpkgs.config.allowUnfree = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.hostName = hostname;
console = {
earlySetup = true;
font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz";
packages = with pkgs; [terminus_font];
# keyMap = "us";
useXkbConfig = true; # use xkbOptions in tty.
};
environment.systemPackages = with pkgs; [
git
zsh
];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit hostConfig;
inherit hostname;
};
users.${username} = {
home.stateVersion = stateVersion;
programs.home-manager.enable = true;
home.sessionPath = [
"$HOME/.local/bin"
];
imports = [
../hosts/${hostname}/home-config.nix
../modules/home-manager/default.nix
] ++ lib.optional (
builtins.pathExists ../home-manager/hosts/${hostname}.nix
) ../home-manager/hosts/${hostname}.nix;
};
};
system.stateVersion = stateVersion;
}