konfigkoll

Crates.iokonfigkoll
lib.rskonfigkoll
version0.1.9
sourcesrc
created_at2024-07-25 19:29:45.101687
updated_at2024-09-20 18:19:49.453055
descriptionKonfigkoll is a configuration management tool for Arch Linux and Debian (and derivatives)
homepage
repositoryhttps://github.com/VorpalBlade/paketkoll
max_upload_size
id1315372
size138,837
Arvid Norlander (VorpalBlade)

documentation

README

Konfigkoll

Documentation [ lib.rs ] [ crates.io ] [ AUR ]

Konfigkoll is a work in progress cross distro configuration manager. It aims to solve the problem "I have too many computers and want to keep the system configs in sync", rather than "I am a sysadmin and want to manage a fleet". As such it is a personal system configuration manager.

The design of konfigkoll is heavily inspired by the excellent Aconfmgr, but with a few key differences:

  • Aconfmgr is Arch Linux specific, konfigkoll aims to be cross distro (currently Arch Linux + work in progress support for Debian & derivatives).
  • Aconfmgr is written in Bash, and is rather slow. Konfigkoll is written in Rust, and is much faster.
    As an example, applying my personal config with aconfmgr on my system takes about 30 seconds, while konfigkoll takes about 2 seconds for the equivalent config. (This is assuming --trust-mtime, both are significantly slowed down if checksums are verified for every file).
  • Aconfmgr uses bash as the configuration language, konfigkoll uses [Rune].

Please see the documentation for more information.

Installed binaries

This crate consists of two binaries:

konfigkoll

This is the main binary you will be interacting with

konfigkoll-rune

This is a helper binary for [konfigkoll] that provides Rune support (the embedded scripting language used by konfigkoll) functions such as:

  • Documentation generation
  • LSP language server
  • Formatting of rune files
  • Syntax checking
  • etc

MSRV (Minimum Supported Rust Version) policy

The MSRV may be bumped as needed. It is guaranteed that this program will at least build on the current stable Rust release. An MSRV change is not considered a breaking change and as such may change even in a patch version.

What does the name mean?

konfigkoll is a Swedish for "config check/tracking", though the translation to English isn't perfect ("ha koll på" means "keep an eye on" for example). Some nuance is lost in the translation!

Commit count: 380

cargo fmt