# nixbuild.net Announces Remote Store Builds for Faster Nix CI

DevFeed: [nixbuild.net Announces Remote Store Builds for Faster Nix CI](<https://devfeed.tech/articles/lightning-fast-ci-with-nixbuild-net-34139.md>)

Original publisher: [Read original article](<https://blog.nixbuild.net/posts/2022-03-16-lightning-fast-ci-with-nixbuild-net.html>)

Author: support@nixbuild.net

Published: 2022-03-16T00:00:00Z

Content type: release

Language: en

Sources: [nixbuild.net blog](<https://devfeed.tech/sources/nixbuild-net-blog.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [ci](<https://devfeed.tech/topics/ci.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [build-performance](<https://devfeed.tech/tags/build-performance.md>), [cache](<https://devfeed.tech/tags/cache.md>), [ci](<https://devfeed.tech/tags/ci.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [ssh](<https://devfeed.tech/tags/ssh.md>)

## AI overview

nixbuild.net announces support for remote store builds, an alternative Nix build mode intended to improve performance in some environments, especially hosted CI services such as GitHub Actions. The article describes how remote builders and stores work and reports a reduction in the best-case time of the company's slowest CI job from 20 minutes to 20 seconds after switching modes.

## Source excerpt

Today we are announcing support for remote store builds in nixbuild.net. This is an alternative way of remote building in Nix, which can improve build performance greatly for certain types of environments. The biggest performance impact can be had in CI setups, especially in hosted CI services like GitHub Actions. By switching over our own CI setup (running on GitHub Actions) to this build mode we reduced the best-case build time of our slowest CI job from 20 minutes down to just 20 seconds, an amazing 60x speedup! No extra setup is needed, everything is already built into Nix and the feature is available to all nixbuild.net users right now. Read on to find out how to try this out on your own CI builds! Remote Builders vs Stores Usually, when Nix distributes builds, it sends them to one or more remote builder. These remote builders are just normal Nix machines, accessed over SSH by the Nix client. Since nixbuild.net tries hard to act just like a normal Nix machine from the outside, you can use nixbuild.net as a drop-in replacement for a remote builder. This is how nixbuild.net has worked from the very launch. Here is a brief iteration of what happens when Nix uses a remote builder to perform a build: Nix checks if the build result already is available in the local store or can be fetched from any configured substituter (binary cache). If Nix needs to run the build, it will first make sure that all dependencies (inputs), and their transitive closures, are in place in the local Nix store. This might mean it has to build the inputs, if there are no existing builds to be found. Once all inputs are locally available, Nix will select a remote builder machine that can perform the build, and then check if the builder has all build inputs in place in its store. If there are any missing closures, they will either be downloaded from a substituter directly to the remote builder, or uploaded from the local store to the builder. Now, Nix asks the remote builder to perform the bui