{ config, lib, pkgs, ... }: { environment.pathsToLink = [ "/libexec" ]; # links /libexec from derivations to /run/current-system/sw # Define the i3 window manager configuration services.xserver = { xrandrHeads = [ "HDMI-0 --auto --left-of DP-4" "DP-4 --auto --primary" ]; enable = true; desktopManager = { xterm.enable = false; }; displayManager.defaultSession = "none+i3"; displayManager.lightdm.enable = true; displayManager.autoLogin.enable = true; displayManager.autoLogin.user = "mans"; windowManager.i3 = { enable = true; extraPackages = with pkgs; [ dmenu #application launcher most people use i3status # gives you the default i3 status bar i3lock #default i3 screen locker i3blocks #if you are planning on using i3blocks over i3status ]; }; layout = "us"; xkbVariant = ""; }; services.xserver.videoDrivers = [ "nvidia" ]; hardware.opengl.enable = true; # Optionally, you may need to select the appropriate driver version for your specific GPU. hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; # nvidia-drm.modeset=1 is required for some wayland compositors, e.g. sway hardware.nvidia.modesetting.enable = true; }