nixos/machines/Lilim/hardware-configuration.nix

89 lines
2.5 KiB
Nix
Raw Normal View History

2023-04-15 14:03:53 +02:00
{ nixpkgs, config, pkgs, ... }:
2019-02-26 13:44:40 +01:00
2019-10-08 15:36:47 +02:00
let
cfg = config.machine;
in {
2023-04-15 14:03:53 +02:00
imports = [ "${nixpkgs}/nixos/modules/installer/scan/not-detected.nix" ];
2019-02-26 13:44:40 +01:00
boot = {
2019-09-29 08:09:26 +02:00
loader.systemd-boot = {
enable = true;
# signed = true;
# signing-key = "${cfg.secretPath}/secureboot/db.key";
# signing-certificate = "${cfg.secretPath}/secureboot/db.crt";
2019-09-29 08:09:26 +02:00
};
2019-02-26 13:44:40 +01:00
loader.efi.canTouchEfiVariables = true;
2023-04-16 18:29:48 +02:00
tmp = {
useTmpfs = true;
cleanOnBoot= true;
};
2019-05-08 20:18:52 +02:00
kernelPackages = pkgs.linuxPackages_latest;
2019-09-29 08:09:26 +02:00
initrd.availableKernelModules = [ "xhci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc" ];
2023-01-29 14:35:38 +01:00
kernelModules = [ "acpi_call" "i915" "kvm-intel" "uinput" ];
# 5_10 breaks my touchpad/mouse buttons
# https://bbs.archlinux.org/viewtopic.php?id=254885
# maybe modprobe hid_rmi or i2c_i801
# blacklistedKernelModules = [ "i2c_i801" ];
extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; #pkgs.gitpkgs.linuxPackages_latest.hid-nintendo ];
2019-09-29 08:09:26 +02:00
kernelParams = [ "intel_iommu=on" ];
extraModprobeConfig = ''
options i915 enable_fbc=1 enable_guc=3
'';
2019-09-29 08:09:26 +02:00
kernel.sysctl = {
"kernel.nmi_watchdog" = 0;
"fs.inotify.max_user_watches" = 524288;
"vm.dirty_writeback_centisecs" = 1500;
};
2019-02-26 13:44:40 +01:00
};
fileSystems."/" =
2019-09-29 08:09:26 +02:00
{ device = "/dev/disk/by-uuid/b37b48a8-5dcb-4f4d-ad71-1b26500b3e5f";
2019-02-26 13:44:40 +01:00
fsType = "ext4";
};
fileSystems."/boot" =
2019-09-29 08:09:26 +02:00
{ device = "/dev/disk/by-uuid/546A-A3D1";
2019-02-26 13:44:40 +01:00
fsType = "vfat";
};
hardware = {
2019-09-29 08:09:26 +02:00
firmware = with pkgs; [ firmwareLinuxNonfree ];
2019-02-26 13:44:40 +01:00
cpu.intel.updateMicrocode = true;
2023-01-29 14:35:38 +01:00
enableAllFirmware = false;
ksm.enable = true;
2019-02-26 13:44:40 +01:00
opengl = {
driSupport = true;
extraPackages = with pkgs; [ intel-media-driver libvdpau-va-gl libva (vaapiIntel.override {enableHybridCodec = true;}) vaapiVdpau intel-media-driver ];
2019-02-26 13:44:40 +01:00
driSupport32Bit = true;
extraPackages32 = with pkgs.pkgsi686Linux; [ libvdpau-va-gl libva (vaapiIntel.override {enableHybridCodec = true;}) vaapiVdpau ];
2019-02-26 13:44:40 +01:00
};
pulseaudio = {
enable = true;
support32Bit = true;
package = pkgs.pulseaudioFull;
zeroconf.discovery.enable = false;
extraClientConf = ''
autospawn = no
'';
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
powerManagement = {
enable = true;
2019-09-29 08:09:26 +02:00
cpuFreqGovernor = "powersave";
2019-02-26 13:44:40 +01:00
};
2023-01-29 14:35:38 +01:00
services = {
upower.enable = true;
xserver.videoDrivers = [ "intel" ];
};
2019-02-26 13:44:40 +01:00
time.timeZone = "Europe/Berlin";
}