feat(bbsteamie): add setup for palia map
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
cfb4ab02f0
commit
8c8c62bb6e
10 changed files with 217 additions and 77 deletions
|
@ -14,7 +14,7 @@ in {
|
||||||
../../modules/kmscon.nix
|
../../modules/kmscon.nix
|
||||||
../../modules/sshd.nix
|
../../modules/sshd.nix
|
||||||
|
|
||||||
./modules/desktop.nix
|
./modules/desktop
|
||||||
|
|
||||||
self.nixosModules.plymouth
|
self.nixosModules.plymouth
|
||||||
];
|
];
|
||||||
|
|
30
devices/bbsteamie/modules/desktop/default.nix
Normal file
30
devices/bbsteamie/modules/desktop/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{pkgs, ...}: let
|
||||||
|
# switch to wayland when possible
|
||||||
|
defaultSession = "plasmax11";
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
(import ./session-switching.nix defaultSession)
|
||||||
|
(import ./steam.nix defaultSession)
|
||||||
|
];
|
||||||
|
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
kdeconnect.enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Flatpak support for Discover
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
services.packagekit.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Misc Apps
|
||||||
|
firefox
|
||||||
|
kdePackages.discover
|
||||||
|
|
||||||
|
# Libs
|
||||||
|
wl-clipboard
|
||||||
|
xclip
|
||||||
|
];
|
||||||
|
}
|
81
devices/bbsteamie/modules/desktop/install_palia_map.md
Executable file
81
devices/bbsteamie/modules/desktop/install_palia_map.md
Executable file
|
@ -0,0 +1,81 @@
|
||||||
|
# How to install Palia Map and Overwolf on Linux
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
- latest GE-Proton: https://github.com/GloriousEggroll/proton-ge-custom
|
||||||
|
- protontricks: https://github.com/Matoking/protontricks
|
||||||
|
- protonhax: https://github.com/jcnils/protonhax
|
||||||
|
|
||||||
|
|
||||||
|
## First Step: Install and run Palia at least once
|
||||||
|
|
||||||
|
|
||||||
|
## Second Step: Setup Palia WINEPREFIX with latest GE-Proton
|
||||||
|
|
||||||
|
1. Delete prefix at /home/"$USER"/.steam/steam/steamapps/compatdata/2707930/pfx
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rm -r /home/"$USER"/.steam/steam/steamapps/compatdata/2707930/pfx
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Launch Palia with GE-Proton by going to game properties -> Compatibility -> Force the use ... -> Select GE-Proton...
|
||||||
|
|
||||||
|
3. Install dotnet48 and other Windows deps to allow for Overwolf installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Force proton version of protontricks
|
||||||
|
export PROTON_VERSION="GE-Proton9-10"
|
||||||
|
protontricks 2707930 dotnet48
|
||||||
|
|
||||||
|
# If VC is needed
|
||||||
|
protontricks 2707930 vcrun2010
|
||||||
|
protontricks 2707930 vcrun2012
|
||||||
|
protontricks 2707930 vcrun2013
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Third Step: Install Overwolf
|
||||||
|
|
||||||
|
1. Get this older version that worked for me here: https://overwolf.en.uptodown.com/windows/download/4714215
|
||||||
|
|
||||||
|
2. Install it with protontricks. Follow the GUI installer as if you were on Windows
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export PROTON_VERSION="GE-Proton9-10"
|
||||||
|
protontricks-launch --appid 2707930 Downloads/overwolf-0-195-0-18.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Fourth Step: Install Palia Map
|
||||||
|
|
||||||
|
1. Get the installer from here: https://www.overwolf.com/app/Leon_Machens-Palia_Map
|
||||||
|
|
||||||
|
2. Install it with protontricks.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export PROTON_VERSION="GE-Proton9-10"
|
||||||
|
protontricks-launch --appid 2707930 Downloads/Palia\ Map\ -\ Installer.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
3. An error should popup saying `Installation failed` or something along those lines.
|
||||||
|
Close it and wait. You should see the Overwolf overlay on the left side of your screen
|
||||||
|
with the Palia Map icon saying `Installing` and then when it's done: `Palia Map`.
|
||||||
|
|
||||||
|
If nothing happens, try rebooting your PC and retrying the above shell commands until it works.
|
||||||
|
|
||||||
|
|
||||||
|
## Final Step: Setting it up in Steam
|
||||||
|
|
||||||
|
1. Add this line to Palia launch options
|
||||||
|
```bash
|
||||||
|
protonhax init %command%
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Add random non-steam game to your library and then edit its properties:
|
||||||
|
|
||||||
|
Change the name to `Palia Map` or anything you like
|
||||||
|
|
||||||
|
Change the target to this command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
protonhax run 2707930 "/home/$USER/.local/share/Steam/steamapps/compatdata/2707930/pfx/drive_c/users/steamuser/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Overwolf/Palia Map.lnk"
|
||||||
|
```
|
|
@ -1,15 +1,12 @@
|
||||||
{
|
defaultSession: {
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
self,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) getExe mkForce;
|
inherit (lib) getExe mkForce;
|
||||||
inherit (config.vars) mainUser;
|
|
||||||
|
|
||||||
# FIXME: switch to wayland when possible
|
inherit (config.vars) mainUser;
|
||||||
defaultSession = "plasmax11";
|
|
||||||
|
|
||||||
switch-session = pkgs.writeShellApplication {
|
switch-session = pkgs.writeShellApplication {
|
||||||
name = "switch-session";
|
name = "switch-session";
|
||||||
|
@ -31,15 +28,15 @@
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
services = {
|
services = {
|
||||||
xserver.enable = true;
|
|
||||||
desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
displayManager = {
|
displayManager = {
|
||||||
sddm = {
|
sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoLogin.relogin = true;
|
autoLogin.relogin = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Needed for sddm TODO: look into wayland SDDM?
|
||||||
|
xserver.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Sets the default session at launch
|
# Sets the default session at launch
|
||||||
|
@ -90,72 +87,4 @@ in {
|
||||||
terminal = false;
|
terminal = false;
|
||||||
type = "Application";
|
type = "Application";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
# Misc apps for DE
|
|
||||||
pkgs.firefox
|
|
||||||
pkgs.kdePackages.discover
|
|
||||||
pkgs.wl-clipboard
|
|
||||||
|
|
||||||
# FIXME:Ryujinx ACNH crashes on OpenGL AND Vulkan
|
|
||||||
# https://github.com/Ryujinx/Ryujinx/issues/6993
|
|
||||||
# https://github.com/Ryujinx/Ryujinx/issues/6708
|
|
||||||
self.packages.${pkgs.system}.yuzu
|
|
||||||
pkgs.steam-rom-manager
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
xwayland.enable = true;
|
|
||||||
kdeconnect.enable = true;
|
|
||||||
|
|
||||||
steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
extraCompatPackages = [
|
|
||||||
pkgs.proton-ge-bin
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable flatpak support
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
services.packagekit.enable = true;
|
|
||||||
|
|
||||||
# Jovian NixOS settings
|
|
||||||
jovian.steam = {
|
|
||||||
# Steam > Settings > System > Enable Developer Mode
|
|
||||||
# Steam > Developer > CEF Remote Debugging
|
|
||||||
enable = true;
|
|
||||||
user = mainUser;
|
|
||||||
|
|
||||||
desktopSession = config.services.displayManager.defaultSession;
|
|
||||||
};
|
|
||||||
|
|
||||||
jovian.decky-loader = {
|
|
||||||
enable = true;
|
|
||||||
user = mainUser;
|
|
||||||
stateDir = "/home/${mainUser}/.local/share/decky"; # Keep scoped to user
|
|
||||||
# https://github.com/Jovian-Experiments/Jovian-NixOS/blob/1171169117f63f1de9ef2ea36efd8dcf377c6d5a/modules/decky-loader.nix#L80-L84
|
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
# Generic packages
|
|
||||||
curl
|
|
||||||
unzip
|
|
||||||
util-linux
|
|
||||||
gnugrep
|
|
||||||
|
|
||||||
readline.out
|
|
||||||
procps
|
|
||||||
pciutils
|
|
||||||
libpulseaudio
|
|
||||||
];
|
|
||||||
|
|
||||||
extraPythonPackages = pythonPackages:
|
|
||||||
with pythonPackages; [
|
|
||||||
python
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Takes way too long to shutdown
|
|
||||||
systemd.services."decky-loader".serviceConfig.TimeoutStopSec = "5";
|
|
||||||
}
|
}
|
75
devices/bbsteamie/modules/desktop/steam.nix
Normal file
75
devices/bbsteamie/modules/desktop/steam.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
defaultSession: {
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (config.vars) mainUser;
|
||||||
|
|
||||||
|
cfg = config.programs.steam;
|
||||||
|
in {
|
||||||
|
# Normal Steam Stuff
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
protontricks.enable = true;
|
||||||
|
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
extraCompatPackages = [
|
||||||
|
pkgs.proton-ge-bin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Jovian Steam settings
|
||||||
|
jovian.steam = {
|
||||||
|
# Steam > Settings > System > Enable Developer Mode
|
||||||
|
# Steam > Developer > CEF Remote Debugging
|
||||||
|
enable = true;
|
||||||
|
user = mainUser;
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
STEAM_EXTRA_COMPAT_TOOLS_PATHS =
|
||||||
|
lib.makeSearchPathOutput
|
||||||
|
"steamcompattool"
|
||||||
|
""
|
||||||
|
cfg.extraCompatPackages;
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopSession = defaultSession;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Decky settings
|
||||||
|
jovian.decky-loader = {
|
||||||
|
enable = true;
|
||||||
|
user = mainUser;
|
||||||
|
stateDir = "/home/${mainUser}/.local/share/decky"; # Keep scoped to user
|
||||||
|
# https://github.com/Jovian-Experiments/Jovian-NixOS/blob/1171169117f63f1de9ef2ea36efd8dcf377c6d5a/modules/decky-loader.nix#L80-L84
|
||||||
|
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
# Generic packages
|
||||||
|
curl
|
||||||
|
unzip
|
||||||
|
util-linux
|
||||||
|
gnugrep
|
||||||
|
|
||||||
|
readline.out
|
||||||
|
procps
|
||||||
|
pciutils
|
||||||
|
libpulseaudio
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Takes way too long to shutdown
|
||||||
|
systemd.services."decky-loader".serviceConfig.TimeoutStopSec = "5";
|
||||||
|
|
||||||
|
# Misc Packages
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.steam-rom-manager
|
||||||
|
self.packages.${pkgs.system}.protonhax
|
||||||
|
|
||||||
|
# FIXME:Ryujinx ACNH crashes on OpenGL AND Vulkan
|
||||||
|
# https://github.com/Ryujinx/Ryujinx/issues/6993
|
||||||
|
# https://github.com/Ryujinx/Ryujinx/issues/6708
|
||||||
|
self.packages.${pkgs.system}.yuzu
|
||||||
|
];
|
||||||
|
}
|
BIN
flake.lock
BIN
flake.lock
Binary file not shown.
BIN
flake.nix
BIN
flake.nix
Binary file not shown.
|
@ -216,6 +216,10 @@ let
|
||||||
owner = "gjsify";
|
owner = "gjsify";
|
||||||
repo = "ts-for-gir";
|
repo = "ts-for-gir";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
owner = "jcnils";
|
||||||
|
repo = "protonhax";
|
||||||
|
}
|
||||||
|
|
||||||
# MPV scripts
|
# MPV scripts
|
||||||
{
|
{
|
||||||
|
|
|
@ -19,6 +19,11 @@
|
||||||
inherit mkVersion;
|
inherit mkVersion;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
protonhax = pkgs.callPackage ./protonhax {
|
||||||
|
inherit (inputs) protonhax-src;
|
||||||
|
inherit mkVersion;
|
||||||
|
};
|
||||||
|
|
||||||
repl = pkgs.callPackage ./repl {};
|
repl = pkgs.callPackage ./repl {};
|
||||||
|
|
||||||
trash-d = pkgs.callPackage ./trash-d {
|
trash-d = pkgs.callPackage ./trash-d {
|
||||||
|
|
16
packages/protonhax/default.nix
Normal file
16
packages/protonhax/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
mkVersion,
|
||||||
|
protonhax-src,
|
||||||
|
stdenv,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "protonhax";
|
||||||
|
version = mkVersion protonhax-src;
|
||||||
|
|
||||||
|
src = protonhax-src;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dt $out/bin -m755 protonhax
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue