{ config, lib, pkgs, ... }: let surfacepkgs = import {}; in { imports = [ ]; boot = { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; cleanTmpDir = true; # kernelPackages = pkgs.linuxPackages_surface; kernelPackages = surfacepkgs.linuxPackages_surface; initrd.kernelModules = [ "hid-multitouch" ]; initrd.availableKernelModules = [ "hid-microsoft" "hid-multitouch" "xhci_pci" "nvme" "usb_storage" "sd_mod" ]; kernelModules = [ "kvm-intel" "hid-microsoft" "hid-multitouch" "uinput" ]; extraModulePackages = [ ]; }; fileSystems."/" = { device = "/dev/disk/by-uuid/8c3a5a07-9ee1-4154-9f3f-6abc379073aa"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/D2A2-C705"; fsType = "vfat"; }; swapDevices = [ ]; hardware = { firmware = with pkgs; [ firmwareLinuxNonfree surface-firmware ]; cpu.intel.updateMicrocode = true; enableAllFirmware = true; enableKSM = true; opengl = { driSupport = true; extraPackages = with pkgs; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]; driSupport32Bit = true; extraPackages32 = with pkgs.pkgsi686Linux; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]; }; pulseaudio = { enable = true; support32Bit = true; package = pkgs.pulseaudioFull; zeroconf.discovery.enable = false; extraClientConf = '' autospawn = no ''; }; bluetooth = { enable = true; powerOnBoot = true; }; }; powerManagement = { enable = true; cpuFreqGovernor = "powersave"; }; time.timeZone = "Europe/Berlin"; }