me like nix
1# Do not modify this file! It was generated by ‘nixos-generate-config’
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4{
5 config,
6 lib,
7 modulesPath,
8 ...
9}:
10
11{
12 imports = [
13 (modulesPath + "/installer/scan/not-detected.nix")
14 ];
15
16 boot.initrd.availableKernelModules = [
17 "xhci_pci"
18 "ahci"
19 "nvme"
20 "usbhid"
21 "usb_storage"
22 "sd_mod"
23 ];
24 boot.initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
25 boot.kernelModules = [ "kvm-intel" ];
26 boot.extraModulePackages = [ ];
27 # Enable GuC submission + HuC for proper Alder Lake GPU scheduling
28 boot.kernelParams = [
29 "i915.enable_guc=3"
30 "i915.enable_psr=0" # Disable Panel Self Refresh (causes freezes on Alder Lake)
31 ];
32
33 fileSystems."/" = {
34 device = "/dev/disk/by-uuid/e51cb271-90b6-49ae-89aa-491b17e59d97";
35 fsType = "ext4";
36 };
37
38 fileSystems."/boot" = {
39 device = "/dev/disk/by-uuid/0089-74FA";
40 fsType = "vfat";
41 options = [
42 "fmask=0077"
43 "dmask=0077"
44 ];
45 };
46 fileSystems."/mnt/storage1" = {
47 device = "/dev/disk/by-uuid/3bb5c3d3-f3ce-4c54-a86c-589b477eda20";
48 fsType = "ext4";
49 # reduce write ops
50 options = [ "noatime" ];
51 };
52 fileSystems."/mnt/storage2" = {
53 device = "/dev/disk/by-uuid/40b9cab0-9f25-4b36-9f22-6ebea1fe6e7a";
54 fsType = "ext4";
55 # reduce write ops
56 options = [ "noatime" ];
57 };
58
59 systemd.tmpfiles.rules = [
60 "d /mnt/storage1 0755 sean users -"
61 "d /mnt/storage2 0755 sean users -"
62 ];
63
64 swapDevices = [ ];
65
66 hardware.system76.kernel-modules.enable = true;
67 hardware.system76.enableAll = true;
68 hardware.graphics = {
69 enable = true;
70 enable32Bit = true; # crucial for many steam games
71 };
72
73 # NVIDIA 4070 Ti (Ada Lovelace)
74 services.xserver.videoDrivers = [ "nvidia" ];
75 hardware.nvidia = {
76 modesetting.enable = true;
77 powerManagement.enable = false;
78 open = true; # recommended for Turing+
79 nvidiaSettings = true;
80 package = config.boot.kernelPackages.nvidiaPackages.stable;
81 };
82 hardware.keyboard.zsa.enable = true;
83
84 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
85 # (the default) this is the recommended approach. When using systemd-networkd it's
86 # still possible to use this option, but it's recommended to use it in conjunction
87 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
88 networking.useDHCP = lib.mkDefault true;
89 # networking.interfaces.enp0s20f0u4u3.useDHCP = lib.mkDefault true;
90 # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
91 # networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
92
93 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
94 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
95}