{ 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" '' swaymsg output DP-1 scale 1 adaptive_sync on gamescope -w 2560 -h 1440 -r 120 --adaptive-sync -e -- steam swaymsg output DP-1 scale 1.25 adaptive_sync off '') ]; 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 = { "Acer Technologies ED270R TJMEE0043W01" = { mode = "1920x1080@120Hz"; position = "0 140"; }; "Microstep MSI G27CQ4 E2 Unknown" = { mode = "2560x1440@120Hz"; scale = "1.25"; position = "1920 0"; }; }; workspaceOutputAssign = [ { output = "DP-1"; workspace = "2"; } { output = "DP-2"; workspace = "1"; } ]; }; }; 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; }; }; }