diff --git a/modules/default.nix b/modules/default.nix index 3d515e4..c888354 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 @@ -20,7 +21,6 @@ let tlp user zsh - /etc/nixos/hardware-configuration.nix ]; in { @@ -28,16 +28,9 @@ 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 + nerv + nerv_quirks ] ++ mods; }; diff --git a/modules/system/core/boot.nix b/modules/system/core/boot.nix index 35e0e3d..cd2b8cf 100644 --- a/modules/system/core/boot.nix +++ b/modules/system/core/boot.nix @@ -10,6 +10,7 @@ config.boot.loader = { efi.canTouchEfiVariables = true; limine = { + style.wallpapers = [ ]; enable = true; extraEntries = lib.mkIf config.dualBoot '' /Windows 11 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 = { diff --git a/modules/system/core/packages.nix b/modules/system/core/packages.nix index 2868e9c..3ec489a 100644 --- a/modules/system/core/packages.nix +++ b/modules/system/core/packages.nix @@ -4,27 +4,23 @@ programs.niri.enable = true; services.displayManager.gdm.enable = true; environment.systemPackages = with pkgs; [ - stow ufetch rbw pinentry-gnome3 nixd nixfmt xournalpp - rnote btop chromium wl-clipboard - adw-gtk3 polkit_gnome xwayland-satellite - nemo + nautilus libwacom devenv kdePackages.qt6ct gcc clang-tools - clang gdb gnumake libreoffice @@ -32,15 +28,8 @@ jq nmgui kdePackages.qtdeclarative - gsettings-desktop-schemas - glib ]; fonts.packages = with pkgs; [ - jetbrains-mono - nerd-fonts.jetbrains-mono - noto-fonts - noto-fonts-cjk-sans - noto-fonts-color-emoji inter ]; }; diff --git a/modules/system/hardware/bluetooth.nix b/modules/system/hardware/bluetooth.nix new file mode 100644 index 0000000..c40074a --- /dev/null +++ b/modules/system/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/system/hardware/nvidia.nix b/modules/system/hardware/nvidia.nix new file mode 100644 index 0000000..9c23782 --- /dev/null +++ b/modules/system/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/system/hosts/nerv/hardware-configuration.nix b/modules/system/hosts/nerv/hardware-configuration.nix new file mode 100644 index 0000000..f411dac --- /dev/null +++ b/modules/system/hosts/nerv/hardware-configuration.nix @@ -0,0 +1,43 @@ +# 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. +{ lib, config, ... }: + +{ + flake.nixosModules.nerv = { config, ... }: { + + 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/hosts/nerv/quirks.nix b/modules/system/hosts/nerv/quirks.nix new file mode 100644 index 0000000..a53af4e --- /dev/null +++ b/modules/system/hosts/nerv/quirks.nix @@ -0,0 +1,8 @@ +{ ... }: { + flake.nixosModules.nerv_quirks = { config, ... }: { + config = { + networking.hostName = "nerv"; + dualBoot = true; + }; + }; +}