diff --git a/modules/default.nix b/modules/default.nix index 3d515e4..dcd533a 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -7,6 +7,7 @@ let mods = with self.nixosModules; [ agenix base_services + bluetooth boot core chromium @@ -28,16 +29,7 @@ in modules = with self.nixosModules; [ - { - config.networking.hostName = "nerv"; - config.dualBoot = true; - config.hardware.nvidia = { - open = true; - modesetting.enable = true; - }; - config.services.xserver.videoDrivers = [ "nvidia" ]; - - } + nvidia ] ++ mods; }; diff --git a/modules/hardware/bluetooth.nix b/modules/hardware/bluetooth.nix new file mode 100644 index 0000000..c40074a --- /dev/null +++ b/modules/hardware/bluetooth.nix @@ -0,0 +1,15 @@ +{ ... }: +{ + flake.nixosModules.bluetooth = { + hardware.bluetooth = { + enable = true; + powerOnBoot = false; + input.General.ClassicBondedOnly = false; + settings = { + General = { + Experimental = true; + }; + }; + }; + }; +} diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix new file mode 100644 index 0000000..9c23782 --- /dev/null +++ b/modules/hardware/nvidia.nix @@ -0,0 +1,18 @@ +{ ... }: { + flake.nixosModules.nvidia = { config, ... }: { + # Enable OpenGL + hardware.graphics = { + enable = true; + }; + + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; +} diff --git a/modules/hosts/nerv/hardware-configuration.nix b/modules/hosts/nerv/hardware-configuration.nix new file mode 100644 index 0000000..ca77fe4 --- /dev/null +++ b/modules/hosts/nerv/hardware-configuration.nix @@ -0,0 +1,42 @@ +# 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. +{ ... }: + +{ + flake.nixosModules.nerv = { + + 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/48badf37-8adb-48d0-b861-fbf71cbaddd7"; + fsType = "xfs"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/DC66-ACA6"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/3b0e79c9-e3d8-4b58-99b4-63c98309ac85"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; +} diff --git a/modules/system/core/core.nix b/modules/system/core/core.nix index 227d18e..3719db2 100644 --- a/modules/system/core/core.nix +++ b/modules/system/core/core.nix @@ -1,16 +1,6 @@ { ... }: { flake.nixosModules.core = { pkgs, ... }: { boot.kernelPackages = pkgs.linuxPackages_latest; - hardware.bluetooth = { - enable = true; - powerOnBoot = false; - input.General.ClassicBondedOnly = false; - settings = { - General = { - Experimental = true; - }; - }; - }; time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = {