NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.35k stars 13.58k forks source link

Package request: RimSort #304832

Open nyabinary opened 4 months ago

nyabinary commented 4 months ago

Project description RimSort is an open source mod manager for the video game RimWorld.

Metadata


Add a :+1: reaction to issues you find important.

vinnymeller commented 4 months ago

hi @nyabinary , made some progress on this today. thing is I have no idea what rimworld is so you'll have to help me determine what breaks.

Right now the app builds and the gui pops up... but does it do anything what it's supposed to? probably not

My draft pr is here: https://github.com/NixOS/nixpkgs/pull/304943

You should be able to run it in its current state with nix run github:vinnymeller/nixpkgs\?ref=init-rimsort#rimsort

FERNANDOHYDE commented 4 months ago

@vinnymeller To clarify, Rimworld is a video game and this is a separate mod manager application for said game. You're intended to point it to all relevant game/mod/config directories and it allows you to sort your modlist (mod order affects performance, game ui for this is not great) as well as launch the game directly from the app.

I'll give your pr a test later today and report back.

FERNANDOHYDE commented 4 months ago

Well I ran it, and it's almost working. Autodetect for relevant directories worked fine and it sees my installed mods but it's complaining it cant find the linux executable.

Setting breakpad minidump AppID = 294100
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198081310117 [API loaded no]
Process SteamworksGameLaunch-1:
Traceback (most recent call last):
  File "/nix/store/d52dp74fm0r2rkcckfnf1qhmzzls8b2y-rimsort-0-unstable-2024-04-20/lib/python3.11/site-packages/app/utils/generic.py", line 120, in launch_game_process
    subprocess.CREATE_NEW_PROCESS_GROUP
AttributeError: module 'subprocess' has no attribute 'CREATE_NEW_PROCESS_GROUP'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/glfr70gi7hfaj50mwj2431p8bg60fhqw-python3-3.11.9/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/nix/store/d52dp74fm0r2rkcckfnf1qhmzzls8b2y-rimsort-0-unstable-2024-04-20/lib/python3.11/site-packages/app/utils/steam/steamworks/wrapper.py", line 228, in run
    launch_game_process(
  File "/nix/store/d52dp74fm0r2rkcckfnf1qhmzzls8b2y-rimsort-0-unstable-2024-04-20/lib/python3.11/site-packages/app/utils/generic.py", line 124, in launch_game_process
    p = subprocess.Popen(
        ^^^^^^^^^^^^^^^^^
  File "/nix/store/glfr70gi7hfaj50mwj2431p8bg60fhqw-python3-3.11.9/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/nix/store/glfr70gi7hfaj50mwj2431p8bg60fhqw-python3-3.11.9/lib/python3.11/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/dan/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux

"RimWorldLinux" being the name of the executable, which is present in that dir and can be used to launch the game.

vinnymeller commented 4 months ago

"RimWorldLinux" being the name of the executable, which is present in that dir and can be used to launch the game.

you're saying the file is there but rimsort says its not?

i.e running ls /home/dan/.local/share/Steam/steamapps/common/RimWorld says RimWorldLinux ?

FERNANDOHYDE commented 4 months ago

That is correct. I can even double click it to launch the game with steam.

tLJack commented 3 weeks ago

Worked with Gog version installed through heroic. I had to update the game path to RimWorld/Game