bbigras / rime

Nix Flake Input Versioning

Home Page:https://rime.cx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RIME

Rimed hexagonal snow crystal under electron microscope

Nix Flake Input Versioning

Built with Nix Contributor Covenant Unit tests REUSE status License: AGPL v3

Warning RIME is experimental, and its API is subject to change. You're warned.

Rime

Rime is an open-source middleware, designed to bridge the gap between Nix Flakes and Git Source Forges. Licensed under AGPLv3, it offers a REST API interface that is both REUSE compliant and free of any push action requirements from repositories – every repo is inherently part of Rime.

Unlike some alternatives like flakehub, Rime stands out by not mandating any push actions from the repository. Moreover, Rime currently operates without retaining any state, focusing primarily on logic that facilitates redirection through its API. Please note that the API is in a developmental phase and might be unstable.

As Rime is in in an early phase of development, it only supports github, but aims to support major forges as well as other places you might put a flake, whatever they may be. Rime is not a fan of github defaultism.

(Notice that Rime doesn't aim to be a flakehub replacement, flakehub and Rime have different approaches with different tradeoffs)

Key Features:

  • Built with Rust/Axum: Rime is crafted using the Rust programming language and the Axum web framework.

  • Flakes-First Approach: Designed with a priority on Nix Flakes, ensuring seamless integration with them and Git Source Forges.

  • Auto-Generates Essential Documents: Rime can automatically generate completions and man pages, enhancing the usability.

  • Configurable: Customize Rime using a dedicated configuration file to suit your needs.

  • Decentralized: Rime is not monolithic. Use well-known instances like rime.cx (hosted by me) or set up your personal instance. You have the flexibility to activate your Rime instance as required, such as during system rebuilds.

A technical demo gif based on the script in docs/tapes/demo.tape

Get Started

nix run github:cafkafk/rime

About

Nix Flake Input Versioning

https://rime.cx

License:GNU Affero General Public License v3.0


Languages

Language:Rust 67.5%Language:Just 17.1%Language:Nix 15.5%