<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cachix Blog</title>
    <link>/</link>
    <description>Recent content on Cachix Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>support@cachix.org (Domen Kožar)</managingEditor>
    <webMaster>support@cachix.org (Domen Kožar)</webMaster>
    <lastBuildDate>Wed, 28 Jan 2026 12:00:00 +0000</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cachix Deploy is Generally Available and Cachix 1.10</title>
      <link>/posts/2026-01-28-cachix-deploy-ga-and-cachix-1-10/</link>
      <pubDate>Wed, 28 Jan 2026 12:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2026-01-28-cachix-deploy-ga-and-cachix-1-10/</guid>
      <description>&lt;p&gt;After three years in beta, Cachix Deploy is now generally available.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cachix-deploy-ga&#34;&gt;Cachix Deploy GA&lt;/h2&gt;&#xA;&lt;p&gt;Back in &lt;a href=&#34;/posts/2022-07-29-cachix-deploy-public-beta/&#34;&gt;July 2022&lt;/a&gt;, we launched Cachix Deploy in public beta. Since then, it has seen extensive usage with thousands of agents deployed - from developer laptops to production fleets.&lt;/p&gt;&#xA;&lt;p&gt;Cachix Deploy provides continuous deployments to any Nix profile (NixOS, nix-darwin, or home-manager) using a binary cache. The architecture is simple: agents pull from your binary cache and activate new profiles, with no evaluation or building done on the target machines.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configurable Upstream Caches</title>
      <link>/posts/2025-12-15-configurable-upstream-caches/</link>
      <pubDate>Mon, 15 Dec 2025 08:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2025-12-15-configurable-upstream-caches/</guid>
      <description>&lt;p&gt;Back in 2020, we introduced &lt;a href=&#34;/posts/2020-07-28-upstream-caches-avoiding-pushing-paths-in-cache-nixos-org/&#34;&gt;upstream caches&lt;/a&gt; - a feature that avoids pushing store paths already present in cache.nixos.org. At the time, we mentioned:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;In the future you are going to define upstream caches within Cachix so that the typical setup of a private and public cache does not duplicate the entries between the two.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;That future is now.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whats-new&#34;&gt;What&amp;rsquo;s New&lt;/h2&gt;&#xA;&lt;p&gt;The simple boolean setting has been replaced with a &lt;strong&gt;configurable list of upstream caches&lt;/strong&gt;. You can now add:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Downtime due to sign up spam</title>
      <link>/posts/2023-02-19-downtime-due-to-signup-spam/</link>
      <pubDate>Mon, 19 Feb 2024 11:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2023-02-19-downtime-due-to-signup-spam/</guid>
      <description>&lt;p&gt;At around 2am last night, I got woken up by a PagerDuty call due to our database being unresponsive.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/images/tweet-downtime.png&#34; alt=&#34;!&#34; title=&#34;tweet downtime&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I immediately restarted the database and it was back up in a few minutes.&lt;/p&gt;&#xA;&lt;p&gt;While waiting for the database to come back up, I noticed that our sign ups were being overwhelmed with spam.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/images/users-spam.png&#34; alt=&#34;!&#34; title=&#34;user signups spam&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The usual approach to this problem is to add a CAPTCHA. Since we&amp;rsquo;re already using a honeypot, it felt like a natural next step.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cachix v1.7</title>
      <link>/posts/2024-01-12-cachix-v1-7/</link>
      <pubDate>Fri, 12 Jan 2024 12:50:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2024-01-12-cachix-v1-7/</guid>
      <description>&lt;p&gt;The v1.7 release brings two new features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a &lt;code&gt;cachix import mycache s3://mybucket&lt;/code&gt; command to ingest the contents of an existing S3-based binary cache into Cachix.&lt;/li&gt;&#xA;&lt;li&gt;a standalone daemon mode that opens up a bevy of workflow improvements. &lt;a href=&#34;https://github.com/cachix/cachix/issues/343&#34;&gt;Requested&lt;/a&gt; &lt;a href=&#34;https://github.com/cachix/cachix-action/issues/104&#34;&gt;many&lt;/a&gt; &lt;a href=&#34;https://github.com/cachix/cachix-action/issues/86&#34;&gt;times&lt;/a&gt; &lt;a href=&#34;https://github.com/cachix/cachix-action/issues/68&#34;&gt;before&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;external-cache-ingestion&#34;&gt;External cache ingestion&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;code&gt;cachix import&lt;/code&gt; command is designed to facilitate the migration of static binary caches to Cachix.&#xA;This feature is critical for users seeking to leverage Cachix&amp;rsquo;s hosted binary cache services while transitioning from their existing setups.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stamina: Haskell library for retries</title>
      <link>/posts/2024-01-02-stamina-haskell-library-for-retries/</link>
      <pubDate>Tue, 02 Jan 2024 15:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2024-01-02-stamina-haskell-library-for-retries/</guid>
      <description>&lt;p&gt;As we deal with networking and databases in our day-to-day work,&#xA;Haskell exceptions frequently arise in our code.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;ve been using the Haskell &lt;a href=&#34;https://hackage.haskell.org/package/retry&#34;&gt;retry&lt;/a&gt; package&#xA;for retrying exceptions so far, but it presents several issues:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The API is cumbersome to remember, so we&amp;rsquo;ve always built a thin layer on top.&lt;/li&gt;&#xA;&lt;li&gt;It lacks built-in support for retrying HTTP exceptions, which requires careful selection of retryable instances and adherence to the &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After&#34;&gt;retry-after&lt;/a&gt; header.&lt;/li&gt;&#xA;&lt;li&gt;To log the exception that occurred, one needs to write a logger as an exception handler.&lt;/li&gt;&#xA;&lt;li&gt;It&amp;rsquo;s not possible to reset the retry state when a long-lived task (such as a WebSocket connection) finally succeeds.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Heavily inspired by Hynek&amp;rsquo;s &lt;a href=&#34;https://github.com/hynek/stamina&#34;&gt;Stamina&lt;/a&gt; for Python, we&amp;rsquo;re releasing&#xA;&lt;a href=&#34;https://github.com/cachix/stamina.hs&#34;&gt;Stamina&lt;/a&gt; for Haskell:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgraded storage plans</title>
      <link>/posts/2023-09-12-upgraded-storage-plans/</link>
      <pubDate>Tue, 12 Sep 2023 13:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2023-09-12-upgraded-storage-plans/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve recently reached a couple of milestones:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://discourse.nixos.org/t/announcing-cachix-binary-cache-as-a-service/301&#34;&gt;It&amp;rsquo;s been 5 years since we first announced Cachix&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/nixos_org/status/1697157404515815504&#34;&gt;We sponsored and participated in NixCon 2023&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cachix.org&#34;&gt;We&amp;rsquo;ve grown to over 6500 users and almost 5000 binary caches&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And we&amp;rsquo;re happy to announce one more milestone: upgraded storage plans for everyone!&lt;/p&gt;&#xA;&lt;h2 id=&#34;upgraded-plans&#34;&gt;Upgraded plans&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Starter: &lt;strong&gt;50 GB&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Standard: &lt;strong&gt;250 GB&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Pro: &lt;strong&gt;1500 GB&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;previous-plans&#34;&gt;Previous plans&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Starter: 20 GB&lt;/li&gt;&#xA;&lt;li&gt;Basic: 100 GB&lt;/li&gt;&#xA;&lt;li&gt;Pro: 1000 GB&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Existing users will be upgraded to the new plans at no extra cost. Enjoy the extra space!&#xA;Additionally, organizations now enjoy &lt;strong&gt;a free plan of 5 GB&lt;/strong&gt;, just like regular accounts, to deepen&#xA;our support for Open Source development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing Pins: Permanent Nix Binary Storage</title>
      <link>/posts/2023-05-23-introducing-pins-permanent-nix-binary-storage/</link>
      <pubDate>Tue, 23 May 2023 11:30:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2023-05-23-introducing-pins-permanent-nix-binary-storage/</guid>
      <description>&lt;p&gt;Binary caches are an indispensable ally when it comes to avoiding tedious rebuilds by distributing Nix binaries. However, caches can &lt;strong&gt;hoard obsolete store paths that aren&amp;rsquo;t necessary anymore&lt;/strong&gt;, which occupy precious storage space. As the cache swells beyond its storage capacity, these old store paths eventually have to be evicted. Cachix takes care of this routinely by initiating a process known as &lt;a href=&#34;https://docs.cachix.org/garbage-collection&#34;&gt;garbage collection&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Previously, the decision of what to remove from the cache was not in the hands of the users. Store paths were &lt;strong&gt;cleared based on the LRU (Least Recently Used) principle&lt;/strong&gt;. This could lead to inadvertent removal of significant files that were not accessed regularly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cachix 1.3: Uploads unleashed</title>
      <link>/posts/2023-03-08-cachix-1-3-uploads-unleashed/</link>
      <pubDate>Wed, 08 Mar 2023 06:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2023-03-08-cachix-1-3-uploads-unleashed/</guid>
      <description>&lt;p&gt;Serving files is the bread and butter of Cachix.&#xA;Fetching store paths from Cachix is fast — downloads are served directly from fast distributed cloud storage.&#xA;Uploads, however, are a different story.&lt;/p&gt;&#xA;&lt;p&gt;Each upload still had to go directly through one of our servers, making our ingest bandwidth a scarce and highly&#xA;contested resource during peak times.&lt;/p&gt;&#xA;&lt;p&gt;Many of our users rely on &lt;a href=&#34;https://nix.dev/tutorials/continuous-integration-github-actions&#34;&gt;Cachix in their CI pipelines&lt;/a&gt;,&#xA;where slower uploads lead to longer CI runs and a worse developer experience, which is why we&amp;rsquo;ve been busy&#xA;reorganizing our internals to remove this bottleneck.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ZSTD compression by default</title>
      <link>/posts/2022-12-19-zstd-compression/</link>
      <pubDate>Mon, 19 Dec 2022 13:50:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2022-12-19-zstd-compression/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve been &lt;a href=&#34;https://github.com/NixOS/nix/issues/2255&#34;&gt;pioneering and supporting&lt;/a&gt; the addition of &lt;a href=&#34;http://facebook.github.io/zstd/&#34;&gt;ZSTD compression&lt;/a&gt; to Nix since 2018.&lt;/p&gt;&#xA;&lt;p&gt;In November 2021, &lt;a href=&#34;https://github.com/NixOS/nix/releases/tag/2.4&#34;&gt;Nix 2.4&lt;/a&gt; was finally released with ZSTD support.&lt;/p&gt;&#xA;&lt;p&gt;As of today, the &lt;a href=&#34;https://github.com/cachix/cachix/releases/tag/v1.1&#34;&gt;Cachix 1.1&lt;/a&gt; client will compress&#xA;any pushed binaries using zstd by default, which can be reversed back to &lt;a href=&#34;https://en.wikipedia.org/wiki/XZ_Utils&#34;&gt;XZ compression&lt;/a&gt; in the &lt;a href=&#34;https://app.cachix.org/&#34;&gt;binary cache settings&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This will &lt;strong&gt;significantly&lt;/strong&gt; speed up pushing, as it was previously capped at around &lt;strong&gt;~3-5mbit/s due to XZ compression hitting CPU per-core limits&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cachix Deploy Public Beta</title>
      <link>/posts/2022-07-29-cachix-deploy-public-beta/</link>
      <pubDate>Fri, 29 Jul 2022 13:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2022-07-29-cachix-deploy-public-beta/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m happy to announce the public beta for &lt;a href=&#34;https://app.cachix.org/deploy/&#34;&gt;Cachix Deploy&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Cachix Deploy was built to remove the hassle around managing the life cycle of a Nix profile.&lt;/p&gt;&#xA;&lt;p&gt;Cachix Deploy provides continuous deployments to a &lt;a href=&#34;https://nixos.org/manual/nix/stable/package-management/profiles.html&#34;&gt;Nix profile&lt;/a&gt;&#xA;(like NixOS, nix-darwin or home-manager) using a binary cache.&lt;/p&gt;&#xA;&lt;p&gt;It consists of running a simple agent process &lt;code&gt;cachix deploy agent&lt;/code&gt; that listens for a new deployment and executes them.&#xA;There’s no Nix evaluation or building done on the agent. The agent pulls all dependencies from your binary cache and activates the new profile.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NixOS OceanSprint 2021 wrap up</title>
      <link>/posts/2021-12-17-nixos-ocean-sprint-wrap-up/</link>
      <pubDate>Fri, 17 Dec 2021 14:30:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2021-12-17-nixos-ocean-sprint-wrap-up/</guid>
      <description>&lt;p&gt;Last week a dozen or so people &lt;a href=&#34;https://oceansprint.org/&#34;&gt;gathered on the island of Lanzarote&lt;/a&gt; to hack on &lt;a href=&#34;https://nixos.org/&#34;&gt;NixOS&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;If it wasn&amp;rsquo;t for COVID-19, we&amp;rsquo;d have a week long of sauna and a private lake in Finland last year, but we had to cancel the event before it was even announced.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;wrap-up&#34;&gt;Wrap up&lt;/h2&gt;&#xA;&lt;p&gt;The weather on Lanzarote is usually sunny all year long.&lt;/p&gt;&#xA;&lt;p&gt;Last week we were a bit unfortunate to have two days of wind/clouds and we still managed to hack outdoors all days!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing Organizations</title>
      <link>/posts/2021-10-15-introducing-organizations/</link>
      <pubDate>Fri, 15 Oct 2021 15:30:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2021-10-15-introducing-organizations/</guid>
      <description>&lt;p&gt;Today I&amp;rsquo;m introducing &lt;strong&gt;Organizations&lt;/strong&gt; support in &lt;a href=&#34;https://www.cachix.org&#34;&gt;Cachix&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you’ve ever had to manage &lt;strong&gt;multiple Cachix accounts&lt;/strong&gt;,&#xA;wanted &lt;strong&gt;a team-specific dashboard&lt;/strong&gt; or needed to have &lt;strong&gt;multiple admins&lt;/strong&gt;,&#xA;you’re going to love Organizations.&lt;/p&gt;&#xA;&lt;p&gt;Once you&amp;rsquo;ve created an organization, it will automatically enter &lt;strong&gt;a 14-day trial period&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;d like to use Organizations for an &lt;strong&gt;open source project&lt;/strong&gt;, please reach out&#xA;via live chat or &lt;a href=&#34;mailto:domen@cachix.org&#34;&gt;domen@cachix.org&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;get-started&#34;&gt;Get started&lt;/h2&gt;&#xA;&lt;p&gt;Click on &amp;ldquo;Select an account&amp;rdquo; dropdown at the top right corner:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Postmortem of outage on 20th December</title>
      <link>/posts/2020-12-23-post-mortem-recent-downtime/</link>
      <pubDate>Thu, 24 Dec 2020 11:30:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-12-23-post-mortem-recent-downtime/</guid>
      <description>&lt;p&gt;On 20 December, Cachix experienced a six-hour downtime, the &lt;a href=&#34;https://domenkozar.com/2018/09/04/recent-cachix-downtime/&#34;&gt;second significant outage&lt;/a&gt; since the service started operating on 1 June 2018.&lt;/p&gt;&#xA;&lt;p&gt;Here are the details of what exactly happened and what has been done to prevent similar events from happening.&lt;/p&gt;&#xA;&lt;h2 id=&#34;timeline-utc&#34;&gt;Timeline (UTC)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;02:55:07 - Backend starts to emit errors for all HTTP requests&lt;/li&gt;&#xA;&lt;li&gt;02:56:00 - Pagerduty tries to notify me of outage via email, phone and mobile app&lt;/li&gt;&#xA;&lt;li&gt;09:01:00 - I wake up and see the notifications&lt;/li&gt;&#xA;&lt;li&gt;09:02:02 - Backend is restarted and recovers&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;root-cause-analysis&#34;&gt;Root cause analysis&lt;/h2&gt;&#xA;&lt;p&gt;All ~24k HTTP requests that reached the backend during the outage failed with the following exception:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Write access control for binary caches</title>
      <link>/posts/2020-11-09-write-access-control-for-binary-caches/</link>
      <pubDate>Tue, 10 Nov 2020 11:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-11-09-write-access-control-for-binary-caches/</guid>
      <description>&lt;p&gt;As Cachix is growing, I have noticed a few issues along the way: Signing keys are still the best way to upload content and not delegate trust to Cachix, but users have also found that they can be difficult to manage, particularly if the secret key needs to be rotated.&lt;/p&gt;&#xA;&lt;p&gt;At this point, the best option is to clear out the cache completely, and re-sign everything with a newly generated key. Since the clients require the public key, rolling out a new key-pair can be somewhat complicated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Changes to Garbage Collection</title>
      <link>/posts/2020-10-01-changes-to-garbage-collection/</link>
      <pubDate>Thu, 01 Oct 2020 09:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-10-01-changes-to-garbage-collection/</guid>
      <description>&lt;p&gt;Based on your feedback, I have made the following two changes:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;When downloading &lt;code&gt;&amp;lt;store-hash&amp;gt;.narinfo&lt;/code&gt; the timestamp of last access is updated,&#xA;&lt;a href=&#34;https://github.com/cachix/cachix/issues/338&#34;&gt;previously this would happen only with &lt;code&gt;nar&lt;/code&gt; archives&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This change allows tools like &lt;a href=&#34;https://github.com/Mic92/nix-build-uncached#nix-build-uncached&#34;&gt;nix-build-uncached&lt;/a&gt; to prevent unneeded downloads&#xA;and playing nicely with Cachix garbage collection algorithm!&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Previously, the algorithm ordered paths first by last accessed timestamp and then by creation timestamp.&lt;/p&gt;&#xA;&lt;p&gt;That worked well until you had all entries with last accessed and all newly created store paths will get deleted first.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upstream caches: avoiding pushing paths in cache.nixos.org</title>
      <link>/posts/2020-07-28-upstream-caches-avoiding-pushing-paths-in-cache-nixos-org/</link>
      <pubDate>Tue, 28 Jul 2020 14:30:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-07-28-upstream-caches-avoiding-pushing-paths-in-cache-nixos-org/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/cachix/cachix/issues/16&#34;&gt;One of the most requested features&lt;/a&gt;, the so-called&#xA;&lt;strong&gt;upstream caches&lt;/strong&gt; was released today.&lt;/p&gt;&#xA;&lt;p&gt;It is &lt;strong&gt;enabled by default for all caches&lt;/strong&gt;, and the owner of the binary cache can &lt;strong&gt;disable it via Settings&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When you push store paths to Cachix, &lt;strong&gt;querying cache.nixos.org adds overhead of multiples of 100ms&lt;/strong&gt;,&#xA;but you &lt;strong&gt;save storage and possibly minutes&lt;/strong&gt; for avoiding the pushing of already available paths.&lt;/p&gt;&#xA;&lt;p&gt;Queries to cache.nixos.org are also cached, so that &lt;strong&gt;subsequent push operations do not have the overhead&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Documentation and More Documentation</title>
      <link>/posts/2020-07-20-documentation-and-more-documentation/</link>
      <pubDate>Mon, 20 Jul 2020 14:45:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-07-20-documentation-and-more-documentation/</guid>
      <description>&lt;p&gt;Documentation is an important ingredient of a successful software project.&lt;/p&gt;&#xA;&lt;p&gt;Last few weeks I&amp;rsquo;ve worked on improving status quo on two fronts:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://nix.dev&#34;&gt;https://nix.dev&lt;/a&gt; is an opinionated guide for developers getting things done using the Nix ecosystem.&lt;/p&gt;&#xA;&lt;p&gt;A few highlights:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://nix.dev/templates/index.html#getting-started-nix-template&#34;&gt;Getting started repository template&lt;/a&gt; with a tutorial for &lt;a href=&#34;https://nix.dev/tutorials/declarative-and-reproducible-developer-environments.html&#34;&gt;using declarative and reproducible developer environments&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://nix.dev/tutorials/continuous-integration-github-actions.html&#34;&gt;Setting up GitHub Actions with Nix&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://nix.dev/anti-patterns/index.html&#34;&gt;Nix language anti-patterns&lt;/a&gt; to avoid and recommended alternatives&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://nix.dev/tutorials/building-and-running-docker-images.html&#34;&gt;Building docker images with Nix&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Proposal for improving Nix error messages</title>
      <link>/posts/2020-03-18-proposal-for-improving-nix-error-messages/</link>
      <pubDate>Wed, 18 Mar 2020 08:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-03-18-proposal-for-improving-nix-error-messages/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m lucky to be in touch with a lot of people that use Nix day to day.&lt;/p&gt;&#xA;&lt;p&gt;One of the most occouring annoyances that pops up more frequently with those starting with Nix are confusing error messages.&lt;/p&gt;&#xA;&lt;p&gt;Since Nix community has previously succesfully stepped up and funded &lt;a href=&#34;https://www.gofundme.com/f/htuafwrg&#34;&gt;removal of Perl&lt;/a&gt;&#xA;to reduce barriers for source code contributions, I think we ought to &lt;strong&gt;do the same for removing barriers when using Nix&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CDN and double storage size</title>
      <link>/posts/2020-01-28-cdn-and-double-storage/</link>
      <pubDate>Wed, 29 Jan 2020 08:00:00 +0000</pubDate><author>support@cachix.org (Domen Kožar)</author>
      <guid>/posts/2020-01-28-cdn-and-double-storage/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://cachix.org/&#34;&gt;Cachix&lt;/a&gt; - &lt;a href=&#34;nixos.org/&#34;&gt;Nix&lt;/a&gt; binary cache hosting, has grown quite a bit in recent months in terms of day to day usage and that was mostly noticable on bandwidth.&lt;/p&gt;&#xA;&lt;p&gt;Over &lt;strong&gt;3000 GB&lt;/strong&gt; were served in December 2019.&lt;/p&gt;&#xA;&lt;h1 id=&#34;cdn-by-cloudflare&#34;&gt;CDN by CloudFlare&lt;/h1&gt;&#xA;&lt;p&gt;Increased usage prompted &lt;strong&gt;a few backend machine instance upgrades&lt;/strong&gt; to handle concurrent upload/downloads,&#xA;but it became clear it&amp;rsquo;s time to &lt;strong&gt;abandon single machine infrastructure&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As of today, &lt;strong&gt;all binary caches are served by &lt;a href=&#34;http://cloudflare.com/&#34;&gt;CloudFlare CDN&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
