r33drichards / comin

Git Push NixOS Machines

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

comin - Git Push NixOS Machines

comin is a deployment tool working in the pull mode. Running on a machine, it periodically polls Git repositories and deploys the NixOS configuration associated to the machine.

Features

  • Git push to deploy NixOS configurations
  • Support testing branches to try changes
  • Poll multiple Git remotes to avoid SPOF
  • Support machines migrations
  • Fast iterations with local remotes

Quick start

In your configuration.nix file:

services.comin = {
  enable = true;
  remotes = [
    {
      name = "origin";
      url = "https://gitlab.com/your/infra.git";
    }
  ];
};

This enables a systemd service, which periodically pulls the main branch of the repository https://gitlab.com/your/infra.git and deploys the NixOS configuration corresponding to the machine hostname.

A new commit in the main branch of the repository https://gitlab.com/your/infra.git is then deployed in the next 60 seconds.

Documentation

About

Git Push NixOS Machines

License:MIT License


Languages

Language:Go 91.2%Language:Nix 8.8%