hasql-interpolate
node2nix
hasql-interpolate | node2nix | |
---|---|---|
1 | 4 | |
12 | 487 | |
- | - | |
5.3 | 0.0 | |
8 days ago | 6 months ago | |
Haskell | Nix | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hasql-interpolate
-
The Magic Nix Cache
One project cut their CI time from 18m to 3m: https://github.com/awkward-squad/hasql-interpolate/actions. I wonder who will see the biggest cut!
Note that when PRs merge to the default branch, their cache doesn't come with them. This is how GitHub Action's cache works, as a security measure. However: subsequent rebuilds will, and PRs off the default branch will too.
node2nix
-
The Magic Nix Cache
You may find something like node2nix helpful (https://github.com/svanderburg/node2nix). This converts your package.json into a Nix expression that can then be cached. You're right that it does require some setup and a bit of Nix knowledge but could yield significant benefits and take a good chunk out of that 20 minutes.
Another option might be to use pnpm instead of Yarn and cache your pnpm dependencies. pnpm actually works a bit like Nix in that it creates a pnpm-lock.yaml file with content-based hashes for the full package.json dependency tree. This enables it to quickly determine which parts of the dependency tree it needs to build and which are already available.
-
Override `nodePackages' with the `default.nix' from `node2nix' multiple times
I got it from this github issue in the node2nix repo.
-
how to install Mozilla's readability library?
As Gerschtli commented, it may be possible to generate a Nix expression for @mozilla/readability using node2nix. Then get its node_modules path like this and set NODE_PATH to the value.
-
How to install dependencies with Nix?
For node programs, you may be able to find the commands as just packages, or look at https://github.com/svanderburg/node2nix for creating the nix equivalent of a node-modules
What are some alternatives?
nix-cde - Nix Common Development Environment
nixpkgs - Nix Packages collection & NixOS
flakeforge - Container registry generating container image tarfiles on the fly
nix-npm-buildpackage - Build nix packages that use npm/yarn
relocatable.nix - A nix bundler that produces relocatable deployment script for nix store paths.
nur-packages - My NUR packages
bundlers
readability-cli
at-node-nix - Node.js Nix expressions