Hi HN!<p>We're the team behind garnix, and today we're releasing the beta of garnix modules. Check it out at: <a href="https://garnix.io/modules" rel="nofollow">https://garnix.io/modules</a>.<p>In some ways garnix modules should be very familiar: it's a CI and hosting platform, related to Heroku, Render, Fly.io, and Railway. But it's also been rethought from the ground up in order to provide a lot of advantages over these platforms:<p>- <i>CI isn't an afterthought</i>: garnix modules is meant to be the better choice even if you aren't deploying anything at all, just running CI. No need to learn and integrate two systems (e.g. GitHub Actions and Fly.io)<p>- <i>Caching of builds and dependencies happens automatically</i>: This means, most obviously, faster rebuilds without extra work.<p>- <i>Caching works across repos and organizations</i>: If someone built it, you don't have to.<p>- <i>Easy to reproduce CI locally</i>: Not only does this make development faster, but also spares you from vendor lock-in.<p>- <i>CI doubles as a build-farm</i>: When you "build" locally too, if CI built it, it'll just be substituted.<p>- <i>Provides you with a development shell</i>: Containing everything you need to build and test your project, as well as the development tools you pick.<p>- <i>Web server deployments are zero-downtime</i>: At least if they're not using persistence, we won't switch traffic over until your app successfully started.<p>- <i>Easy VMs</i>: You can start VMs locally reproducing your deployments. You can even create images if you want to deploy yourself, again reducing vendor lock-in<p>- <i>Tens of thousands of packages to choose from</i>: For development shell and for your deployed server.<p>The way we managed to make all this work heavily using Nix and NixOS under the hood. But you don't need to know any Nix at all: that's where the modules come in. They replace the Nix code with simple forms. (It is advantageous, though not necessary, to <i>install</i> Nix - it gets you the local development shell, for example. But all you need to know are one or two commands.)<p>garnix has existed for a while before modules came along (i.e., as a tool for Nix users), so other parts of it are more stable. But we're very quickly adding new features and stacks to modules.<p>We'd love to hear what you think!<p>Alex, Evie, Jean-François, Julian and Sönke