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 = [
25 "nvidia"
26 "nvidia_modeset"
27 "nvidia_uvm"
28 "nvidia_drm"
29 ];
30 boot.kernelModules = [ "kvm-intel" ];
31 boot.extraModulePackages = [ ];
32 fileSystems."/" = {
33 device = "/dev/disk/by-uuid/e51cb271-90b6-49ae-89aa-491b17e59d97";
34 fsType = "ext4";
35 };
36
37 fileSystems."/boot" = {
38 device = "/dev/disk/by-uuid/0089-74FA";
39 fsType = "vfat";
40 options = [
41 "fmask=0077"
42 "dmask=0077"
43 ];
44 };
45 fileSystems."/mnt/storage1" = {
46 device = "/dev/disk/by-uuid/3bb5c3d3-f3ce-4c54-a86c-589b477eda20";
47 fsType = "ext4";
48 # reduce write ops
49 options = [ "noatime" ];
50 };
51 fileSystems."/mnt/storage2" = {
52 device = "/dev/disk/by-uuid/40b9cab0-9f25-4b36-9f22-6ebea1fe6e7a";
53 fsType = "ext4";
54 # reduce write ops
55 options = [ "noatime" ];
56 };
57 fileSystems."/mnt/ssd" = {
58 device = "/dev/disk/by-uuid/f71b3774-2192-498e-b67f-f6b575accdda";
59 fsType = "ext4";
60 options = [ "noatime" ];
61 };
62
63 systemd.tmpfiles.rules = [
64 "d /mnt/storage1 0755 sean users -"
65 "d /mnt/storage2 0755 sean users -"
66 "d /mnt/ssd 0755 sean users -"
67 # Fix ownership on mounted filesystems (d only affects the hidden mount point)
68 "z /mnt/ssd 0755 sean users -"
69 ];
70
71 swapDevices = [ ];
72
73 hardware.system76.kernel-modules.enable = true;
74 hardware.system76.firmware-daemon.enable = true;
75 hardware.system76.power-daemon.enable = true;
76
77 hardware.graphics = {
78 enable = true;
79 enable32Bit = true; # crucial for many steam games
80 };
81
82 # NVIDIA 4070 Ti (Ada Lovelace)
83 services.xserver.videoDrivers = [ "nvidia" ];
84 hardware.nvidia = {
85 modesetting.enable = true;
86 powerManagement.enable = true;
87 open = true; # recommended for Turing+
88 nvidiaSettings = true;
89 package = config.boot.kernelPackages.nvidiaPackages.stable;
90 };
91 hardware.keyboard.zsa.enable = true;
92
93 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
94 # (the default) this is the recommended approach. When using systemd-networkd it's
95 # still possible to use this option, but it's recommended to use it in conjunction
96 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
97 networking.useDHCP = lib.mkDefault true;
98 # Disable USB Ethernet (connected via switch causing WiFi issues)
99 networking.interfaces.enp0s20f0u4u3.useDHCP = false;
100 # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
101 # networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
102
103 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
104 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
105}