-
Notifications
You must be signed in to change notification settings - Fork 30
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
Document that the module's files
option does env substitution
#70
Comments
It's technically documented under the |
hi, sorry for not replying sooner. I kept thinking I'll find time for this somewhen, but I'm starting to see I won't be able to anytime soon. on top of that, I'm somewhat considering moving my infra over from systemd to nomad. while NixOS modules are superior in many ways, I'm starting to feel the need for a more flexible orchestrator, and would also prefer to spend less time worrying about every other NixOS service being completely unsandboxed. :) |
I just found this without seeing this bug report. This issue of doing env substitution blindly makes the |
The I do agree that the |
The issue with this is that it's a symlink to the Nix Store and Paper (And probably other server codebases.) likes to create the plugin configs in the same directory as the jars... which it can't do since the Nix Store is read-only. This causes Paper to bail with a "read-only file system" because it can't write to the plugins directory symlink makes. Unless there's some other way to get this to work? Is there a setting I overlooked where Paper can create plugin configs outside the plugins directory which is a symlink to the Nix Store? |
<Tired opinion (not because of you but because I've dealt with this before)> The proper way to work around this is to make symlinks individually in the manner you did with the |
Hmm, that's not a perspective I thought of. I honestly don't think it's a problem, but that's why it's opinion, I suppose. What server do you recommend? |
I exclusively use mod loaders and not plugins, so the use case is a bit different. For my part, I use Fabric and Quilt on all of my servers, including vanilla-compatible ones. Forge is also a possibility for highly modded ones, but since that isn't currently packaged (see #15), I just stick with the textiles. |
The new system works by adding a file attribute (user.nix-minecraft-managed) to managed files and symlinks. This makes it possible to correctly cleanup managed files (when stopping, restarting, reloading). I've also added support for directories (Infinidoge#73), and ensured only non-binary files are substituted with env vars (Infinidoge#70)
Will be fixed by #116 |
The new system works by adding a file (.nix-minecraft-managed) to track managed files and symlinks. This makes it possible to correctly cleanup managed files (when stopping, restarting, reloading). I've also added support for directories (Infinidoge#73), and ensured only non-binary files are substituted with env vars (Infinidoge#70)
The new system works by adding a file (.nix-minecraft-managed) to track managed files and symlinks. This makes it possible to correctly cleanup managed files (when stopping, restarting, reloading). I've also added support for directories (Infinidoge#73), and ensured only non-binary files are substituted with env vars (Infinidoge#70)
The new system works by adding a file (.nix-minecraft-managed) to track managed files and symlinks. This makes it possible to correctly cleanup managed files (when stopping, restarting, reloading). I've also added support for directories (Infinidoge#73), and ensured only non-binary files are substituted with env vars (Infinidoge#70)
The new system works by adding a file (.nix-minecraft-managed) to track managed files and symlinks. This makes it possible to correctly cleanup managed files (when stopping, restarting, reloading). I've also added support for directories (Infinidoge#73), and ensured only non-binary files are substituted with env vars (Infinidoge#70)
The new system works by adding a file (.nix-minecraft-managed) to track managed files and symlinks. This makes it possible to correctly cleanup managed files (when stopping, restarting, reloading). I've also added support for directories (#73), and ensured only non-binary files are substituted with env vars (#70)
Currently, neither the readme nor the option docs mention that
services.minecraft-servers.servers.<name>.files
performs environment substitution.I just got bitten by this when working with binaries that were getting mysteriously corrupted, and the module mutating them was not something that I expected.
The ideal case scenario is IMHO that this is disabled by default and opt-in on each file, or at least opt-able out of, but it should really be documented. I can make a PR for either if it helps. 🙂
The text was updated successfully, but these errors were encountered: