rensa-nix: A More Lightweight and Powerful Flake Framework

// 2 min read

Why I created the rensa-nix framework and ecosystem of projects and their benefits

nix

If you used devenv before, you might be familiar with this:

Terminal window
[1/97/99 built, 763 copied (3553.7 MiB), 567.6/617.8 MiB DL] building devenv-tasks-1.8.0 (buildPhase): [...]

If you don’t follow devenv’s opinionated approach exactly, like using their fork of nixpkgs etc., you will quickly be greeted by very long and very heavy builds. I don’t even use the tasks feature of devenv, but it still has to compile a whole new Rust binary for it. And while I love Rust, building it is not great. It’s pretty slow and has to download a lot of dependencies most of the time…

But the alternatives don’t really look that good. As a general flake framework I’ve been using flake-parts.

// TODO: drawbacks of flake parts

// TODO: maybe talk about the general framework later? and then also include stuff like std & hive

But for devshells, the only alternative would have been numtide/devshell. Which is nicely slim, but also doesn’t have that many features.

// TODO: drawbacks

Solution 1: rensa-nix/devshell

I wanted a more powerful devshell, while keeping things light. So I created rensa-nix/devshell.

Solution 2: rensa-nix/direnv

// TODO: other projects aswell

// TODO: also show nix gitlab ci and why it requires stuff like rensa to be more lighweight and faster