Way to get NVM working in CI/CD systems

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • devenv

    Fast, Declarative, Reproducible, and Composable Developer Environments

    Just use nix or a wrapper such as https://devenv.sh

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • gomod2nix

    Convert applications using Go modules to Nix expressions [maintainer=@marcusramberg]

    I'm actually working on a blog article about our setup (or possibly a series of articles, depending on how much longer it gets), it'll be published on https://korz.dev once its done. In the meantime, here's the rough summary:

    - Go projects are built with https://github.com/nix-community/gomod2nix. We generate a list of internal packages a project depends on using `go list -json` that is then passed to gomod2nix's `buildGoApplication`.

  • cargo2nix

    Granular builds of Rust projects for Nix

    - Rust projects are built with https://github.com/cargo2nix/cargo2nix. We chose cargo2nix to get incremental builds, meaning that dependency builds can be shared between our Rust projects and that not all dependencies have to be rebuilt when adding/updating/removing dependencies from a project.

  • yarnpnp2nix

    A performance focused and space efficient way of packaging NodeJS applications with Nix

    - Node projects are far trickier if you want them to be able to share dependencies and depend on one another. We have found Yarn 4 (currently release candidate, not stable yet) in combination with https://github.com/madjam002/yarnpnp2nix to work best for this. Unfortunately we have to patch some package hashes of packages that contain platform-specific binaries (such as esbuild).

  • nix2container

    An archive-less dockerTools.buildImage implementation

    - Container images are built with https://github.com/nlewo/nix2container instead of Nix's built-in docker tools, because nix2container allows configuration of layers and thus makes it easier to share layers between images and improve layer caching.

    As for integrating it into our CI pipeline, this is pretty much CI system agnostic as all you have to do is run `nix build ...` inside the pipeline, generating a `result` directory or file as an artifact that, in the case of nix2container, can be pushed to your container image registry.

  • nixery

    Container registry which transparently builds images using the Nix package manager. Canonical repository is https://cs.tvl.fyi/depot/-/tree/tools/nixery

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How do I create a docker image for postgres with nix?

    4 projects | /r/NixOS | 10 Mar 2023
  • Nix-Powered Development with OCaml

    12 projects | news.ycombinator.com | 6 Mar 2023
  • Nixpacks takes a source directory and produces an OCI compliant image

    7 projects | news.ycombinator.com | 17 Aug 2022
  • How to make a quick install setup?

    3 projects | /r/linuxquestions | 6 Sep 2021
  • Epic Allows Internet Archive to Distribute Unreal and Unreal Tournament Forever

    4 projects | news.ycombinator.com | 19 Nov 2024

Did you konow that Nix is
the 28th most popular programming language
based on number of metions?