nix-community / steam-fetcher

A Nix fetcher for Steam apps
MIT License
33 stars 2 forks source link

Repository for packaged games #1

Closed tie closed 6 months ago

tie commented 1 year ago

@aidalgol, hi!

I have a similar fetcher that I’ve intended to submit to Nixpkgs, but looks like we’ve arrived at a similar implementation roughly at the same time, so I didn’t know that this repository existed 😅

It’d be nice to have a repository for packaged Steam games and game servers (nix-community/steam-games?) since most of them require non-trivial workarounds to run on NixOS, and having them in a single place is good for discoverability. E.g. • https://github.com/aidalgol/valheim-server-flakehttps://github.com/NixOS/nixpkgs/compare/master...tie:nixpkgs:eco-game-serverhttps://github.com/NixOS/nixpkgs/compare/master...tie:nixpkgs:satisfactory-game-server

Alternatively, what do you think about upstreaming Steam fetcher to Nixpkgs?

aidalgol commented 1 year ago

Yay, someone found this! You're right, discoverability could be better. I don't think that putting various packages Steam games (or game servers) into a single repository is necessary for discoverability, or worth the downsides of a monorepo. I think a GitHub organisation dedicated to nix flakes for Steam games would be more flexible, or even a repo with just a README with links to personal repos (similar to those awesome-something repos for various topics and software).

What do you think about starting a "nix-steam-games" GitHub org?

scottbot95 commented 11 months ago

Just discovered this issue. I had actually tenatively started setting up a repo that is more-or-less what is being talked about here. Right now it just has two games, but I wrote some modules as well for managing servers (including generating a server config file) through Nix.

I'm not sure how much of that we would want to keep but at the very least I feel like there's some decent ideas that could be copied out of it (like perhaps the general system for servers that I setup). I would be happy to transfer ownership of my repo to nix-community or just start fresh if we feel that is better.

aidalgol commented 6 months ago

Closing due to inactivity.

tie commented 6 months ago

@aidalgol, sorry, I completely forgot about this issue. I’ve moved my implementation of steam fetcher (and game packages) from a Nixpkgs fork to a separate github:tie-infra/steam-games flake. I would love to use nix-community/steam-fetcher, however, I’m pretty skeptical because changes like #3 get merged without much consideration. That said, feel free to take inspiration from the code, it’s public domain.

aidalgol commented 6 months ago

@tie That looks like a good way to structure it! #3 may look as if it was merged without much consideration, but there was discussion on the linked issue, https://github.com/aidalgol/valheim-server-flake/issues/7.

For a bit of background, when I originally created this flake, along with https://github.com/aidalgol/valheim-server-flake, I received some conflicting advice around overlays from the wider Nix community when I sought assistance around nixpkgs.config.allowUnfree = true; not applying when I tried to use it in my server NixOS config. Unfortunately, I am still not very confident when it comes to overlays, and so I did not spot the issues that you pointed out in #7.

tie commented 6 months ago

IIRC nixpkgs.config.allowUnfree = true; is a convenience option in NixOS core modules for importing Nixpkgs if it is not defined already. When possible, I prefer using inputs.nixpkgs.nixosModules.readOnlyPkgs and setting nixpkgs.pkgs = pkgs; explicitly to avoid re-evaluating Nixpkgs.

E.g. https://github.com/tie-infra/nix-config/tree/2c440df032655570215c8d8f1d57907ded51a7f4/nixpkgs.nix https://github.com/tie-infra/nix-config/blob/2c440df032655570215c8d8f1d57907ded51a7f4/parts/nixos-with-system/default.nix#L6-L8

poperigby commented 4 months ago

Could this be re-opened? It still thinks it's a good idea.