nixos-config/hosts/ni/hardware-configuration.nix

62 lines
1.4 KiB
Nix

{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
./modules/hardware/traditional-networking.nix
];
boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "nvme" "usb_storage" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
# The simpler WiFi manager.
networking.wireless.iwd = {
enable = true;
settings = {
General = {
EnableNetworkConfiguration = true;
ControlPortOverNL80211 = true;
};
Network.NameResolvingService = "systemd";
Settings.AutoConnect = true;
};
};
# Welp....
systemd.network.links."80-iwd" = {
matchConfig = lib.mkForce { };
linkConfig = lib.mkForce { };
};
# Set the NetworkManager backend to iwd for workflows that use it.
networking.networkmanager.wifi.backend = "iwd";
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot = {
enable = true;
netbootxyz.enable = true;
};
boot.loader.efi.canTouchEfiVariables = true;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault true;
# Set up printers.
services.printing = {
enable = true;
browsing = true;
drivers = with pkgs; [
gutenprint
hplip
splix
];
};
# Extend the life of an SSD.
services.fstrim.enable = true;
}