diff --git a/homes/x86_64-linux/andreas@drivebystation-nix/default.nix b/homes/x86_64-linux/andreas@drivebystation-nix/default.nix index 6245949..1242395 100644 --- a/homes/x86_64-linux/andreas@drivebystation-nix/default.nix +++ b/homes/x86_64-linux/andreas@drivebystation-nix/default.nix @@ -19,6 +19,8 @@ in home = { packages = [ pkgs.nil + pkgs.steam ]; }; + dconf.settings."org/gnome/desktop/wm/preferences".button-layout = "appmenu:,minimize,maximize,close"; } diff --git a/systems/x86_64-linux/drivebystation-nix/configuration.nix b/systems/x86_64-linux/drivebystation-nix/configuration.nix index a65c47d..c42a495 100644 --- a/systems/x86_64-linux/drivebystation-nix/configuration.nix +++ b/systems/x86_64-linux/drivebystation-nix/configuration.nix @@ -6,8 +6,9 @@ { imports = - [ # Include the results of the hardware scan. + [ ./hardware-configuration.nix + ./nvidia.nix ]; # Bootloader. @@ -80,16 +81,6 @@ # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.andreas = { - isNormalUser = true; - description = "Andreas Schaafsma"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - # thunderbird - ]; - }; - # Install firefox. programs.firefox.enable = true; diff --git a/systems/x86_64-linux/drivebystation-nix/default.nix b/systems/x86_64-linux/drivebystation-nix/default.nix index 6b2028b..774050f 100644 --- a/systems/x86_64-linux/drivebystation-nix/default.nix +++ b/systems/x86_64-linux/drivebystation-nix/default.nix @@ -40,7 +40,7 @@ in # Define a user account. Don't forget to set a password with ‘passwd’. users.users.andreas = { isNormalUser = true; - description = "Andreas"; + description = "Andreas Schaafsma"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ flatpak diff --git a/systems/x86_64-linux/drivebystation-nix/nvidia.nix b/systems/x86_64-linux/drivebystation-nix/nvidia.nix new file mode 100644 index 0000000..0952181 --- /dev/null +++ b/systems/x86_64-linux/drivebystation-nix/nvidia.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: +{ + + # Enable OpenGL + hardware.opengl = { + 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+ + # Currently alpha-quality/buggy, so false is currently the recommended setting. + 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.stable; + }; +}