Nix+Direnv: Guide your new maintainers!

I wrote a simple guide so new maintainers can start helping your project more quickly!
(and so you don’t need to write another direnv/nix installation guide)

Also I’ve made some shields!

logo
logo

(not sure why they are so small here, preview is alright. maybe some svg issues?)


I need some help with texts and scripts (maybe even translations :heart:)
Suggestions and comments on idea of popularizing this stack :nix_parrot: more :nix_parrot: aggressively :nix_parrot: are highly appreciated as well)

3 Likes

If you consider it useful, here is a project that also has excellent direnv integration:

Here are some examples from real projects:

3 Likes

I’m personally still waiting for flakes to become stable and documented before I recommend coworkers to start using Nix (in direnv).

The main issue I have with direnv and Nix without flakes is that locking and updating the lock is not trivial. Introducing people to non flakes leaves them wondering whether this is a good solution if it doesn’t have version locking. Some time later they have to migrate their projects to flakes. Both are less than ideal.

When flakes are stable, I’d highly recommend making templates for nix flake init that include the .envrc file. For example I made one for a bare devshell: https://github.com/bobvanderlinden/templates/tree/master/dev-shell

That said, I really like the banners you made. I think making is visible is indeed the right way to go :+1:

8 Likes

Actually, this guide tells to install nix-direnv, as it has support for flakes; and you can use flakes even on older Nix versions with GitHub - edolstra/flake-compat

I already have some templates at GitHub - cab404/templates: Flake templates, although they need some love :two_hearts:

Speaking of unstable-ness – I would say that it doesn’t matter that much for your developers, as they can use already locked flakes with compat)

2 Likes

Oh I wasn’t aware! That’s good to know :+1: Thanks for the tip.