mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-04-25 09:28:27 +02:00
feat: gaming - docs, persistent data, add lutris, heroic & star rail
This commit is contained in:
46
home/linux/gui/base/gaming.nix
Normal file
46
home/linux/gui/base/gaming.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{ pkgs, osConfig, ... }:
|
||||
{
|
||||
# ==========================================================================
|
||||
# Other Optimizations
|
||||
# Usage:
|
||||
# Lutris - enable advanced options, go to the System options -> Command prefix, add: `mangohud`
|
||||
# Steam - add this as a launch option: `mangohud %command%` / `gamemoderun %command%`
|
||||
# ==========================================================================
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# https://github.com/flightlessmango/MangoHud
|
||||
# a simple overlay program for monitoring FPS, temperature, CPU and GPU load, and more.
|
||||
mangohud
|
||||
# a game launcher - great for epic games and gog games
|
||||
(heroic.override {
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.gamescope
|
||||
];
|
||||
})
|
||||
# GUI for installing custom Proton versions like GE_Proton
|
||||
protonplus
|
||||
winetricks
|
||||
# https://github.com/Open-Wine-Components/umu-launcher
|
||||
# a unified launcher for Windows games on Linux
|
||||
umu-launcher
|
||||
];
|
||||
|
||||
# a GUI game launcher for Steam/GoG/Epic
|
||||
programs.lutris = {
|
||||
enable = true;
|
||||
defaultWinePackage = pkgs.proton-ge-bin;
|
||||
steamPackage = osConfig.programs.steam.package;
|
||||
protonPackages = [ pkgs.proton-ge-bin ];
|
||||
winePackages = with pkgs; [
|
||||
wineWow64Packages.full
|
||||
wineWowPackages.stagingFull
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
winetricks
|
||||
gamescope
|
||||
gamemode
|
||||
mangohud
|
||||
umu-launcher
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -13,7 +13,7 @@ niri: {
|
||||
# Get all the window's information via:
|
||||
# niri msg windows
|
||||
|
||||
# --------------- Terminal ---------------
|
||||
# --------------- 1Terminal ---------------
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "foot"; })
|
||||
(leaf "open-on-workspace" "1terminal")
|
||||
@@ -32,7 +32,7 @@ niri: {
|
||||
(leaf "open-maximized" true)
|
||||
])
|
||||
|
||||
# --------------- Browser ---------------
|
||||
# --------------- 2Browser ---------------
|
||||
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "firefox"; })
|
||||
@@ -50,7 +50,7 @@ niri: {
|
||||
(leaf "open-maximized" true)
|
||||
])
|
||||
|
||||
# --------------- Chatting ---------------
|
||||
# --------------- 3Chatting ---------------
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "org.telegram.desktop"; })
|
||||
(leaf "open-on-workspace" "3chat")
|
||||
@@ -64,15 +64,56 @@ niri: {
|
||||
(leaf "open-on-workspace" "3chat")
|
||||
])
|
||||
|
||||
# --------------- Networking ---------------
|
||||
# --------------- 4Gaming ---------------
|
||||
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "steam"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "steam_app_default"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "heroic"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "net.lutris.Lutris"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "com.vysp3r.ProtonPlus"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
# Run anime games on Linux
|
||||
(leaf "match" { app-id = "^moe.launcher"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
# All *.exe (Windows APPs)
|
||||
(leaf "match" { app-id = "\.exe$"; })
|
||||
(leaf "open-on-workspace" "4gaming")
|
||||
])
|
||||
|
||||
# --------------- 6File ---------------
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "com.github.johnfactotum.Foliate"; })
|
||||
(leaf "open-on-workspace" "6file")
|
||||
])
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "thunar"; })
|
||||
(leaf "open-on-workspace" "6file")
|
||||
])
|
||||
|
||||
# --------------- 0Other ---------------
|
||||
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "clash-verge"; })
|
||||
(leaf "open-on-workspace" "0other")
|
||||
])
|
||||
|
||||
# --------------- Meeting ---------------
|
||||
|
||||
(plain "window-rule" [
|
||||
(leaf "match" { app-id = "Zoom Workplace"; })
|
||||
(leaf "open-on-workspace" "0other")
|
||||
|
||||
Reference in New Issue
Block a user