{ config, pkgs, ... }: { services = { displayManager = { defaultSession = "none+i3"; autoLogin.enable = true; autoLogin.user = "mbeno"; }; logind.extraConfig = "IdleAction=ignore"; xserver = { exportConfiguration = true; enable = true; xkb.layout = "us,no"; xkb.variant = "qwerty"; xkb.options = "grp:lalt_lshift_toggle"; desktopManager = { xterm.enable = false; }; videoDrivers = [ "nvidia" ]; deviceSection = '' Option "TearFree" "False" Option "VariableRefresh" "true" ''; xrandrHeads = [ { output = "DP-2"; primary = true; monitorConfig = " Option \"TargetRefresh\" \"144\" Option \"Primary\" \"true\" Option \"PreferredMode\" \"2560x1440\" Option \"DPMS\" \"true\" "; } { output = "DP-0"; primary = false; monitorConfig = " Option \"TargetRefresh\" \"144\" Option \"Primary\" \"false\" Option \"PreferredMode\" \"1920x1080\" "; } ]; screenSection = '' Option "metamodes" "DP-2: 2560x1440_144 +0+0, DP-0: 1920x1080_144 +2560+0" ''; windowManager.i3 = { enable = true; extraPackages = with pkgs; [ dmenu #application launcher most people use i3status # gives you the default i3 status bar i3lock # i3lock #default i3 screen locker i3blocks #if you are planning on using i3blocks over i3status polybar rofi nitrogen ]; }; }; }; }