diff --git a/flake.nix b/flake.nix old mode 100644 new mode 100755 index 6057c1d..e7e76e7 --- a/flake.nix +++ b/flake.nix @@ -19,10 +19,10 @@ (import ./modules/impurity.nix self) ./modules/preserve-system.nix ./modules/overlay-pkgs - ./modules/core.nix + ./modules/core ./modules/system.nix ./modules/user - ./systems/lenovo.nix + ./systems/lenovo ]; }; diff --git a/modules/core.nix b/modules/core/default.nix similarity index 100% rename from modules/core.nix rename to modules/core/default.nix diff --git a/systems/lenovo/default.nix b/systems/lenovo/default.nix new file mode 100755 index 0000000..5863efa --- /dev/null +++ b/systems/lenovo/default.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: { + imports = [ ./hardware.nix ]; + system.stateVersion = "23.11"; + networking.hostName = "lenovo"; +} diff --git a/systems/lenovo/hardware-configuration.nix b/systems/lenovo/hardware-configuration.nix new file mode 100755 index 0000000..9005209 --- /dev/null +++ b/systems/lenovo/hardware-configuration.nix @@ -0,0 +1,41 @@ +# 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, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/8e35244d-935a-4865-bf8a-db69e8a7e5d6"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."nixos".device = "/dev/disk/by-uuid/215cff7c-b46b-4bca-b63d-8f0b2a26ae0b"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/5CC2-9C06"; + fsType = "vfat"; + }; + + + # 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.wlp1s0.useDHCP = lib.mkDefault true; + + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + boot.resumeDevice = "/dev/mapper/nixos"; + boot.kernelParams = [ "resume_offset=4161536" ]; + swapDevices = [{ device = "/swapfile"; }]; +} diff --git a/systems/lenovo.nix b/systems/lenovo/hardware.nix similarity index 79% rename from systems/lenovo.nix rename to systems/lenovo/hardware.nix index 074991a..67c3b34 100644 --- a/systems/lenovo.nix +++ b/systems/lenovo/hardware.nix @@ -1,6 +1,5 @@ { pkgs, ... }: { - system.stateVersion = "23.11"; - networking.hostName = "lenovo"; + imports = [ ./hardware-configuration.nix ]; hardware.opengl = { enable = true;