Documentation

menu
ModulesNodejsHaskellRustPostgreSQLUserHostingIntroductionBranch HostingPull-request DeploymentsSecretsPersistenceDebuggingMultiple ServersCustom DomainsExample: Typescript & GoExample: JitsiExample: RSS BridgeExample: Tiny Tiny RSSExample: SearxInstalling Nixyaml configNix FlakesWhat Garnix CI doesIncremental BuildsUsing Private InputsCachingGitHub Actions IntegrationBadgesGarn

Garnix Modulesshare

garnix modules allows setting up garnix CI and hosting quickly through the modules tab. After specifying basic facts about your project, such as what your repository is, what stack it uses and whether there is a web server you want to deploy, garnix allows you to test run a build and deployment.

The modules form

If you're happy with the result, you can ask us to create a pull request with the code for your project. This captures how to build and test your project reproducibly within your project itself. garnix can then run CI, and redeploy, on every commit.

What else you getshare

That commit will provide several cool things besides CI and hosting:

  • A development environment (devshell). Just install Nix, and then typing nix develop in your repo will put you in a shell with all of your dependencies, ready to start work. Your contributors and coworkers will love you!

  • A easy way to build your project locally. If you have Nix installed, tab complete nix build .# to see what you can build locally. Bonus: if garnix already built it, you'll skip doing it yourself by using our cached artifacts.

  • A easy way to run your project's server in a VM. Just run:

nix build .#nixosConfigurations.default.config.system.build.toplevel
./result/bin/run-nixos-vm