Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans for nix-foundryvtt #6

Open
5 of 7 tasks
reckenrode opened this issue Feb 14, 2023 · 8 comments
Open
5 of 7 tasks

Plans for nix-foundryvtt #6

reckenrode opened this issue Feb 14, 2023 · 8 comments

Comments

@reckenrode
Copy link
Owner

reckenrode commented Feb 14, 2023

This is an issue to track/document some changes I’d like to make to this repo:

  • Migrate to the Node stuff that was added in NixOS 22.11. I have a PoC. It requires a little hackery, but it should make doing updates a little easier.
  • Add an update script. This would work with part 1 to generate the lockfile and updated hashes. That should make keeping up with new versions less painful.
  • Add v9, v10, and v11 versions of the derivation. v10 would be the default for now. I don’t know if anything still needs v9, but I don’t think it hurts to include it. v11 would be included to let people experiment with the dev version.
  • Add document on using the flake and enabling the service.
  • Add documentation on using nix-store --add-root to avoid GCing the FoundryVTT source zip file.
  • Add an example set up with a reverse proxy (based on my Caddy config?) and Let’s Encrypt
  • Make pngout optional or replace it with a free tool.

Is there anything else that could be useful? It would be nice if there was a config to set up a coturn server (with certificates, etc) to handle voice chat, but I had terrible luck with getting it to work on a recent version of v10.

@ciferkey
Copy link

Thank you for continuing to work on this!

It would be nice to add details to the readme to help new users onboard. I had to find this thread to know to set services.foundryvtt.enable = true. I know more experienced users could figure that out through inspection of the nix files in the repo but that's as obvious to people newer to nix.

Maybe also an example of how to add the repo to a user's flake inputs?

@reckenrode
Copy link
Owner Author

Thanks for the suggestions! I updated the checklist with some documentation items.

@reckenrode
Copy link
Owner Author

I added an item for replacing pngout with something else (not non-free). Ideally, the foundryvtt package would be properly marked, but there’s no pure way to indicate it’s okay to use a non-free flake package as far as I know.

@reckenrode
Copy link
Owner Author

I added another item to the list to remind me to include information on adding a GC root to avoid GCing the FoundryVTT zip file.

@JonBoyleCoding
Copy link
Contributor

I don't know if it will help you or not to make your own guides, but I used this module as an example for writing a tutorial on how to install a nix flake at a system level (it's why I wanted to learn how to use flakes in the first place).

https://falconprogrammer.co.uk/blog/2023/02/nixos-22-11-flakes/

I used #5 as the basis of it with the repo/commit hash (but plan to change it out soon to this repo once I've tested it works). Still - it might serve as a basis for getting the server up and running.

I'm planning on creating another tutorial this weekend with my actual foundry setup using caddy and nix-container. Mostly doing it for my own records but thought I'd put them .

@reckenrode
Copy link
Owner Author

Foundry v11 was released recently. I’ve been pretty busy lately with working on an LLVM bump for the Darwin stdenv, but this stuff is still on my radar. Fortunately, I’m getting close to the point where I can flip the LLVM PR from draft to ready, then I can look at bringing this back up to where it should be.

@reckenrode
Copy link
Owner Author

The big refactor stuff landed in #15.

@reckenrode
Copy link
Owner Author

I added some documentation to the README. I’m still keeping this open because there probably should be more examples and an alternative to using pngout to recompress the PNGs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants