120 lines
3.8 KiB
Nix
120 lines
3.8 KiB
Nix
{ 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.17.47/warcraftlogs-v8.17.47.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 = "0wcw53bgr9dr02x1ci2jlnc5irpiqxqxgs2hpbrsnj67q50nvlm9";
|
|
};
|
|
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
|
|
protonplus
|
|
protontricks
|
|
vulkan-tools # useful for debugging Vulkan issues
|
|
|
|
# WoW addon updater
|
|
wowup-cf
|
|
|
|
# Nexus Mod Manager
|
|
nexusmods-app-unfree
|
|
];
|
|
|
|
# xdg.dataFile."applications/wowup-cf.desktop" = {
|
|
# force = true;
|
|
# source = "${patched-desktop}/wowup-cf.desktop";
|
|
# };
|
|
|
|
# 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 = {
|
|
name = "Raider.io";
|
|
exec = "${pkgs.appimage-run}/bin/appimage-run ${raiderioClient}";
|
|
terminal = false;
|
|
type = "Application";
|
|
icon = "${raiderioIcon}";
|
|
comment = "Raider.io Client";
|
|
categories = [ "Game" ];
|
|
};
|
|
|
|
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
|
# Set up full-screen games on monitor 1 (since window 0 is the vertical one.)
|
|
"monitor 1,class:^steam_app_\d+$"
|
|
"float,class:^steam_app_\d+$"
|
|
"monitor 1,fullscreen:1"
|
|
"center,class:^steam_app_\d+$"
|
|
|
|
# Make sure WoW spawns on the right monitor and that Battlenet floats so it renders correctly
|
|
"monitor 1,title:^World of Warcraft$"
|
|
"fullscreen,title:^World of Warcraft$"
|
|
"monitor 1,title:^Battle.net$"
|
|
"float,title:^Battle.net$"
|
|
|
|
# Make Balatro into a regular window.
|
|
"monitor 1,title:^Balatro$"
|
|
"tile,title:^Balatro$"
|
|
|
|
# Load Cyberpunk 2077 on the right monitor.
|
|
"monitor 1,class:steam_app_1091500"
|
|
"fullscreen,class:steam_app_1091500"
|
|
];
|
|
}
|