Floco: Packaging JS modules with native dependencies and installs

Just cooked up a huge big guide that covers how to package JS packages with “native dependencies” and node-gyp or other install scripts using floco/nix.

Something to highlight in comparison to other “js->nix” tooling is that once a module with an install is packaged and built, by default you’ll skip recompilation if you use that same module in multiple projects. This is because it’s the dankest JS/Nix tool on the scene and I worked my ass of on it.

Here’s the guide. I walk through packaging two releases of zeromq, one of which I did for the first time while writing the guide. I think doing it “live” really gives the guide a sense of “process” that would otherwise be lacking:

Also if you package something that you’d like to contribute to the “nixpkgs like” monorepo ( and its public caches ), feel free to PR GitHub - aakropotkin/flocoPackages: A collection of Node.js+Nix packages created with `floco'. and don’t hesitate to reach out with any questions.
I’m cooking up a “contributors guide” and “organizing multiple projects” article next that will make contributing to the monorepo and using it more approachable; but wanted to at least plug it for the intrepid few out there that might be interested.

5 Likes