Next-generation Nix CI system for clowns
  • Rust 69.7%
  • Nix 20.2%
  • HTML 6.3%
  • PLpgSQL 2%
  • CSS 1.8%
Find a file
NotAShelf 0782d891f1
crates/server: add project setup endpoint and update routes
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9087c90a3b81cfa6f148a8d0131e87796a6a6964
2026-02-02 01:49:38 +03:00
crates crates/server: add project setup endpoint and update routes 2026-02-02 01:49:38 +03:00
docs docs: highlight Hydra's core issues 2026-02-02 01:15:03 +03:00
.envrc nix: initial tooling setup 2026-02-02 01:14:58 +03:00
.gitignore meta: ignore VM disk images; ignore migrations 2026-02-02 01:15:10 +03:00
Cargo.lock chore: update workspace deps 2026-02-02 01:49:36 +03:00
Cargo.toml chore: update workspace deps 2026-02-02 01:49:36 +03:00
fc.toml chore: add sample config 2026-02-02 01:49:37 +03:00
flake.lock nix: initial tooling setup 2026-02-02 01:14:58 +03:00
flake.nix nix: build migrate-cli crate 2026-02-02 01:15:04 +03:00
README.md docs: add very basic README 2026-02-02 01:14:57 +03:00

FC

FC is a modern, Rust-based continuous integration system designed to replace Hydra for our systems. Heavily work in progress.

Architecture

  • server: Web API and UI (Axum)
  • evaluator: Git polling and Nix evaluation
  • queue-runner: Build dispatch and execution
  • common: Shared types and utilities

Development

nix develop
cargo build

Components

Server

Web API server providing REST endpoints for project management, jobsets, and build status.

Evaluator

Periodically polls Git repositories and evaluates Nix expressions to create builds.

Queue Runner

Processes build queue and executes Nix builds on available machines.