Documentation on Nix and common edits needed

Thanks Shane.

There are a growing number of manual fixes required for the .replit and replit.nix file as a result of the NIX migration.

Does replit have documentation pages or Bug Errata that describe the specific edits to address the NIX shortcomings?

This seems like something replit could do that would alleviate the problems for dedicated replit users with lots of repls who are impacted by the NIX change - I know these files are not complicated, but I’ve not been able to find any official documentation format for them, or any comprehensive replit editing guidelines that would make it fast and reliable to address issues like this when they come up. That kind of thing would be very helpful!

The Replit Docs are located at docs.replit.com. I believe the following pages may help:
https://docs.replit.com/programming-ide/nix-on-replit
https://docs.replit.com/programming-ide/configuring-repl

4 Likes

If you need to push config changes for a popular template, you could try and create PRs to add a module to nixmodules which adds in the changes (or, to change an existing module, e.g. python-3.*). If you aren’t fully sure how to do so you could always create an issue or a draft PR and ask for help there or here.

You could search or ask in Nix Python etc. (or post your fixes / an index of fixes in community-guide and we might make your post a wiki if you like)

2 Likes

These docs are still useful but a bit outdated, missing some of the newer configuration.

1 Like

Only new undocumented thing is modules, right? (and, optimally, especially in the light of this topic, it’s the only one of them you should be made to use, and so the only one I’ll mention).

modules Array including any keys listed in https://github.com/replit/nixmodules/blob/main/modules.json [1]

  1. :nerd_face:: or any module you’ve hacked in by adding to .cache/replit/modules/ ↩︎

2 Likes

I was thinking about 3 things, modules (important), packager (and new related config), and possibly languageServer (I tried to configure it but probably just did it wrong). (Also unit tests still don’t work I think)
Plus, there’s some clarification needed on some of the existing features, such as those replaced with the new modules (yes, a lot of the docs aren’t as relevant anymore because of this).

Thank you all for the documentation feedback and discussion! We’ll be submitting this feedback to our team internally for consideration towards future documentation improvements. Let us know if you think of anything else relating to this topic.

4 Likes