nix/nixos/default.nix

70 lines
1.7 KiB
Nix

{ inputs, pkgs, lib, stateVersion, hostname, username, hostConfig, config, ... }:
{
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;
};
# NixOS system-wide home-manager configuration
sharedModules = [
inputs.sops-nix.homeManagerModules.sops
];
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 ../hosts/${hostname}/includes/home-manager.nix
) ../hosts/${hostname}/includes/home-manager.nix;
};
};
system.stateVersion = stateVersion;
}