some hyprland changes and nvidia drivers

This commit is contained in:
doloro
2025-09-22 22:09:28 +00:00
parent 2e94f6dac3
commit 7dde8c496d
3 changed files with 57 additions and 12 deletions

View File

@@ -26,6 +26,8 @@
# networking.hostName = "nixos"; # Define your hostname. # networking.hostName = "nixos"; # Define your hostname.
nixpkgs.config.allowUnfree = true;
# Configure network connections interactively with nmcli or nmtui. # Configure network connections interactively with nmcli or nmtui.
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@@ -61,7 +63,44 @@
programs.hyprland.enable = true; programs.hyprland.enable = true;
# Enable OpenGL
hardware.graphics = {
enable = true;
};
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
# Configure keymap in X11 # Configure keymap in X11
# services.xserver.xkb.layout = "us"; # services.xserver.xkb.layout = "us";

View File

@@ -10,6 +10,7 @@ in
enable = true; enable = true;
# set the flake package # set the flake package
# settings = { }; # settings = { };
systemd.variables = ["--all"];
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
}; };

View File

@@ -1,10 +1,13 @@
{ inputs, ... }: { inputs, pkgs, ... }:
{ {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
monitor = [ monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1" "HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-3, 1920x1080@144, 1920x0, 1" "DP-3, 1920x1080@144, 1920x0, 1"
]; ];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
env = [ env = [
"XCURSOR_SIZE,24" "XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24" "HYPRCURSOR_SIZE,24"
@@ -29,11 +32,11 @@
inactive_opacity = 1.0; inactive_opacity = 1.0;
shadow = { shadow = {
enable = false; enabled = false;
}; };
blur = { blur = {
enable = false; enabled = false;
}; };
}; };
animations = { animations = {
@@ -83,10 +86,10 @@
sensitivity = -0.5; sensitivity = -0.5;
}; };
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
binds = [ bind = [
"$mainMod, Q, exec, foot" "$mainMod, Q, exec, foot"
"$mainMod, C, killactive," "$mainMod, C, killactive"
"$mainMod, M, exit," "$mainMod, M, exit"
"$mainMod, E, exec, $fileManager" "$mainMod, E, exec, $fileManager"
"$mainMod, V, togglefloating," "$mainMod, V, togglefloating,"
"$mainMod, R, exec, $menu" "$mainMod, R, exec, $menu"
@@ -98,15 +101,13 @@
"$mainMod, down, movefocus, d" "$mainMod, down, movefocus, d"
"$mainMod, S, exec, $screenShot" "$mainMod, S, exec, $screenShot"
"$mainMod, F, fullscreen" "$mainMod, F, fullscreen"
", home, exec, $toggleSpeaker"
", end, exec, $toggleMic"
"$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1" "$mainMod, mouse_up, workspace, e-1"
"$mainMod, mouse:272, movewindow" ", home, exec, $toggleSpeaker"
"$mainMod, mouse:273, resizewindow" ", end, exec, $toggleMic"
", F8, sendshortcut, , F8, class:^(com\.obsproject\.Studio)$" ", F8, sendshortcut, , F8, class:^(com\.obsproject\.Studio)$"
"$mainMod, 0, workspace, 10" "$mainMod, 0, workspace, 10"
"$mainMod, SHIFT, 0, movetoworkspace, 10" "$mainMod SHIFT, 0, movetoworkspace, 10"
] ++ ( ] ++ (
builtins.concatLists ( builtins.concatLists (
builtins.genList(i: let ws = i + 1; in [ builtins.genList(i: let ws = i + 1; in [
@@ -116,6 +117,10 @@
) 9 ) 9
) )
); );
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
workspace = [ workspace = [
"name:2, monitor:DP-3" "name:2, monitor:DP-3"
]; ];