# Lenovo Legion Slim 7 Gen 7 AMD (16ARHA7) { config, lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; # Format and configure the disk using Disko host.base.disko = { enable = false; primaryDisk = "nvme0n1"; enableTPM = true; swapFile = { enable = true; size = "16G"; }; }; # Configure the kernel. boot = { # First, install the latest Zen kernel kernelPackages = pkgs.linuxPackages_zen; # Hardware defaults detected by nixos-generate-configuration initrd = { # SystemD in the initrd is required for TPM auto-unlocking. # See https://discourse.nixos.org/t/full-disk-encryption-tpm2/29454/2 # If the LUKS volume is recently created, run this command to bind it to the TPM: # sudo systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+7 /dev/ systemd.enable = true; availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" "tpm_crb" ]; kernelModules = [ "amdgpu" "tpm_crb" ]; luks.devices."luks-bcf67e34-339e-40b9-8ffd-bec8f7f55248" = { device = "/dev/disk/by-uuid/bcf67e34-339e-40b9-8ffd-bec8f7f55248"; crypttabExtraOpts = [ "tpm2-device=auto" ]; # Enable TPM auto-unlocking }; }; kernelModules = [ "kvm-amd" ]; }; networking = { # 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`. useDHCP = lib.mkDefault true; # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; # Set the hostname. hostName = "Shura"; }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }