diff --git a/hardware/framework.nix b/hardware/framework.nix new file mode 100644 index 0000000..4dbb97c --- /dev/null +++ b/hardware/framework.nix @@ -0,0 +1,85 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +let + #nixkernel = import {}; +in +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" "i915" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "workpool/nixos/root"; + fsType = "zfs"; + }; + + fileSystems."/home" = + { device = "workpool/nixos/home"; + fsType = "zfs"; + }; + + fileSystems."/var/lib/docker" = + { device = "workpool/nixos/docker"; + fsType = "zfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/AA17-42AD"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/18ae41eb-e32e-46a3-9e22-3395c37782df"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + # custom + boot.loader.systemd-boot.enable = true; + networking.hostId = "f0000001"; + networking.hostName = "sphere"; + services.tlp.enable = true; + services.hardware.bolt.enable = true; + + # framework hardware + #boot.kernelPackages = nixkernel.linuxPackages_5_19; + #boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; + boot.kernelParams = [ + "mem_sleep_default=deep" + "nvme.noacpi=1" + "i915.enable_psr=1" + ]; + boot.blacklistedKernelModules = [ "hid-sensor-hub" ]; + hardware.acpilight.enable = true; + hardware.video.hidpi.enable = lib.mkDefault true; + services.xserver.dpi = 125; + environment.variables = { + VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl"); + }; + hardware.opengl.extraPackages = with pkgs; [ + vaapiIntel + libvdpau-va-gl + intel-media-driver + ]; + services.tlp.settings = { + CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; + CPU_ENERGY_PERF_POLICY_ON_BAT = "performance"; + }; +}