{ config, pkgs, username, ... }: { imports = [ ./desktop.nix ]; home-manager.users.${username} = { home.packages = with pkgs; [ krita kdenlive helvum prusa-slicer blender freecad openscad kicad-small mangohud wineWowPackages.waylandFull winetricks lutris cartridges prismlauncher (writeShellScriptBin "steamscope" "gamescope -e -- steam") ]; programs.obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [ wlrobs obs-vkcapture obs-pipewire-audio-capture input-overlay ]; }; wayland.windowManager.sway.config = { output = { "Microstep MSI G27CQ4 E2 Unknown" = { mode = "2560x1440@120Hz"; scale = "1.25"; position = "1920 0"; adaptive_sync = "on"; }; "Acer Technologies ED270R TJMEE0043W01" = { mode = "1920x1080@120Hz"; position = "0 140"; adaptive_sync = "off"; }; }; workspaceOutputAssign = [ { output = "DP-1"; workspace = "2"; } { output = "DP-2"; workspace = "1"; } ]; startup = [ { command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-1 --primary"; } ]; }; }; boot = { extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; extraModprobeConfig = '' options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 ''; }; hardware = { amdgpu.initrd.enable = true; opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; steam-hardware.enable = true; }; programs = { gamemode.enable = true; steam = { enable = true; remotePlay.openFirewall = true; gamescopeSession.enable = true; }; gamescope = { enable = true; capSysNice = true; args = [ "-w 2560" "-h 1440" "-r 165" "--adaptive-sync" "--force-grab-cursor" ]; }; }; }