{ config, lib, pkgs, ... }: { hardware = { enableRedistributableFirmware = lib.mkDefault true; cpu.intel.updateMicrocode = lib.mkDefault true; }; boot = { initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ]; initrd.kernelModules = [ "wl" ]; kernelModules = [ "kvm-intel" "wl" ]; extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; loader.grub = { enable = true; device = "/dev/sda"; version = 2; }; }; fileSystems."/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; }; swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; networking = { useDHCP = lib.mkDefault true; hostName = "troubadour"; networkmanager.enable = true; }; time.timeZone = "Europe/Amsterdam"; services.thermald.enable = true; powerManagement.enable = true; system.stateVersion = "23.05"; nix.gc = { automatic = true; dates = "18:00"; # GC time of day }; nixpkgs = { hostPlatform = lib.mkDefault "x86_64-linux"; config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "broadcom-sta" ]; }; environment.systemPackages = with pkgs; [ vim ]; }