{ pkgs, local, ... }: let # TODO: This is an attempt to patch the desktop file by actually using the old # one so I don't have to put in all the options like below. This will generate # the correct file, however, xdg.dataFile."applications/wowup-cf.desktop" # doesn't seem to actually overrwite it, even with force = true. # patched-desktop = # pkgs.runCommand "patched-wowup-cf-desktop" # { # desktop = "${pkgs.wowup-cf}/share/applications/wowup-cf.desktop"; # } # '' # mkdir -p $out # substitute "$desktop" "$out/wowup-cf.desktop" \ # --replace-fail 'Exec=wowup-cf' 'Exec=wowup-cf --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu' # ''; warcraftLogsUploader = pkgs.fetchurl { name = "warcraftlogs-client"; url = "https://github.com/RPGLogs/Uploaders-warcraftlogs/releases/download/v8.16.56/warcraftlogs-v8.16.56.AppImage"; sha256 = "1aypr3ffy6lq0qj64d48c7n54nfs72404xb2kpxsw5slqh66imw6"; }; warcraftLogsIcon = pkgs.fetchurl { name = "warcraftlogs-icon"; url = "https://assets.rpglogs.com/img/warcraft/favicon.png"; sha256 = "0hil7rj7a0bmls0h4w3xmfzcp1gm5yfagbziv1967lmy70ri0bc9"; }; raiderioClient = pkgs.fetchurl { name = "raiderio-client"; url = "https://raider.io/client/download/linux"; sha256 = "0k665s5frs7pga38yjz38gszkn5gkxkfzqlq07x0bm4qjvbrjf7z"; }; raiderioIcon = pkgs.fetchurl { name = "raiderio-icon"; url = "https://cdn.raiderio.net/images/brand/Mark_2ColorWhite.png"; sha256 = "13311vi04lv6bp7jvnhinbcfah4ghn9h85cl3wzysz3aaxs73988"; }; in { home.packages = with pkgs; [ # Gaming mangohud (lutris.override { extraPkgs = pkgs: [ winetricks # Needed for bnet setup. vulkan-tools # Needed for bnet setup ]; }) protonup-ng vulkan-tools # useful for debugging Vulkan issues # WoW addon updater wowup-cf # For clipboard management. See below. wl-clipboard xclip ]; # xdg.dataFile."applications/wowup-cf.desktop" = { # force = true; # source = "${patched-desktop}/wowup-cf.desktop"; # }; wayland.windowManager.hyprland.settings.exec-once = [ # Hyprland doesn't paste into Wine apps. This program is a workaround. # See https://github.com/hyprwm/Hyprland/issues/2319 # -t text = Only handle text # -w xclip -selection clipboard = Watch for events and invoke xclip "wl-paste -t text -w xclip -selection clipboard" ]; # wowup needs options to work under wayland. xdg.desktopEntries.wowup-cf = local.electronDesktopEntry { name = "WowUp"; exec = "wowup-cf --no-sandbox"; terminal = false; type = "Application"; icon = "wowup-cf"; comment = "World of Warcraft addon updater"; categories = [ "Game" ]; }; xdg.desktopEntries.warcraftLogs = { name = "WarcraftLogs"; exec = "${pkgs.appimage-run}/bin/appimage-run ${warcraftLogsUploader}"; terminal = false; type = "Application"; icon = "${warcraftLogsIcon}"; comment = "WarcraftLogs uploader"; categories = [ "Game" ]; }; xdg.desktopEntries.raiderio = local.electronDesktopEntry { name = "Raider.io"; exec = "${pkgs.appimage-run}/bin/appimage-run ${raiderioClient}"; terminal = false; type = "Application"; icon = "${raiderioIcon}"; comment = "Raider.io Client"; categories = [ "Game" ]; }; }