From aea3998da795ee752cc16998fb669a362fa44f6d Mon Sep 17 00:00:00 2001 From: Sweetbread Date: Wed, 1 May 2024 15:39:14 +0300 Subject: [PATCH] [system]: Nvidia --- flake.lock | 8 ++++---- flake.nix | 2 +- home-manager/modules/wms/hyprland.nix | 5 +++++ nixos/configuration.nix | 25 ++++++++++++++++++++++++- nixos/modules/bootloader.nix | 2 +- nixos/packages.nix | 1 - 6 files changed, 35 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index cfc55dd..de4708a 100644 --- a/flake.lock +++ b/flake.lock @@ -38,16 +38,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1713145326, - "narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=", + "lastModified": 1724242322, + "narHash": "sha256-HMpK7hNjhEk4z5SFg5UtxEio9OWFocHdaQzCfW1pE7w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e", + "rev": "224042e9a3039291f22f4f2ded12af95a616cca0", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index cc31b88..3d45cf9 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; home-manager = { url = "github:nix-community/home-manager"; diff --git a/home-manager/modules/wms/hyprland.nix b/home-manager/modules/wms/hyprland.nix index fc80f4e..02919dc 100644 --- a/home-manager/modules/wms/hyprland.nix +++ b/home-manager/modules/wms/hyprland.nix @@ -9,6 +9,11 @@ monitor = ",preferred,auto,1"; env = [ + "LIBVA_DRIVER_NAME,nvidia" + "XDG_SESSION_TYPE,wayland" + "GBM_BACKEND,nvidia" + "__GLX_VENDOR_LIBRARY_NAME,nvidia" + "WLR_NO_HARDWARE_CURSORS,1" "XDG_CURRENT_DESKTOP,Hyprland" "XDG_SESSION_TYPE,wayland" "XDG_SESSION_DESKTOP,Hyprland" diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 4327b71..9d2cd8f 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,4 +1,4 @@ -{ +{ config, ...}: { imports = [ ./hardware-configuration.nix ./packages.nix @@ -18,4 +18,27 @@ nix.settings.experimental-features = [ "nix-command" "flakes" ]; # Enabling flakes system.stateVersion = "23.05"; # Don't change it bro + + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + services.xserver.videoDrivers = [ "nvidia" ]; + + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + powerManagement.finegrained = false; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + + prime = { + sync.enable = true; + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + }; } diff --git a/nixos/modules/bootloader.nix b/nixos/modules/bootloader.nix index 4134e89..567f950 100644 --- a/nixos/modules/bootloader.nix +++ b/nixos/modules/bootloader.nix @@ -1,6 +1,6 @@ { boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - boot.initrd.kernelModules = [ "amdgpu" ]; + boot.initrd.kernelModules = [ "nvidia" ]; boot.kernelParams = [ "psmouse.synaptics_intertouch=0" ]; } diff --git a/nixos/packages.nix b/nixos/packages.nix index 3930626..1c52838 100644 --- a/nixos/packages.nix +++ b/nixos/packages.nix @@ -102,7 +102,6 @@ pamixer # GPU stuff - #amdvlk rocm-opencl-icd glaxnimate