A Rust GitOps/symlinkfarm orchestrator inspired by GNU Stow.
Find a file
Christina Sørensen 5aabd48fec
chore(flake): bump flake lock
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-09-25 10:45:59 +02:00
.github/workflows ci: borrow ci setup from eza 2023-08-09 14:40:17 +00:00
benches chore: name project seidr 2023-08-09 16:27:56 +02:00
bin feat(git): made SUCCESS/FAILURE emoji const 2023-07-03 11:34:22 +02:00
doc chore: name project seidr 2023-08-09 16:27:56 +02:00
src chore: name project seidr 2023-08-09 16:27:56 +02:00
tests chore: name project seidr 2023-08-09 16:27:56 +02:00
.gitignore build(git): add gitignore 2023-09-25 10:45:25 +02:00
Cargo.lock chore: name project seidr 2023-08-09 16:27:56 +02:00
Cargo.toml chore: name project seidr 2023-08-09 16:27:56 +02:00
CHANGELOG.md chore(version): bump to v0.2.0 2023-07-07 04:13:59 +00:00
cliff.toml doc(git-cliff): added git cliff config 2023-07-02 10:45:39 +02:00
CODE_OF_CONDUCT.md chore: fix code of conduct 2023-08-09 16:44:09 +02:00
flake.lock chore(flake): bump flake lock 2023-09-25 10:45:59 +02:00
flake.nix refactor: removed unused code from flake 2023-06-18 19:34:51 +02:00
LICENSE initial commit 2023-06-08 18:50:09 +02:00
README.md doc: fix readme 2023-08-09 16:36:56 +02:00

Seiðr

An experimental Rust GitOps/symlinkfarm orchestrator inspired by GNU Stow.

Highly unstable project, expect each change to be breaking.

Built with Nix Contributor Covenant

Unit tests Crates.io Crates.io

asciicast

A Rust GitOps/symlinkfarm orchestrator inspired by GNU Stow. Useful for dealing with "dotfiles", and with git support as a first class feature. Configuration is done throug a single yaml file, giving it a paradigm that should bring joy to those that use declarative operating systems and package managers.

Although this isn't really a case where it matters that much for performance, being written in rust instead of e.g. /janky/ scripting languages does also mean it is snappy and reliable, and the /extensive/ (hardly, but eventually) testing helps ensure regressions aren't introduced.

That said, we're in 0.Y.Z, here be dragons for now (although a little less each commit).

Installation

git clone https://github.com/cafkafk/seidr
cd seidr
cargo install --path .

Configuration

If you want a template, you can copy the file from src/test/config.yaml:

mkdir -p ~/.config/seidr/
cp src/test/config.yaml ~/.config/seidr/config.yaml

You should seriously change this file before running any commands.

The configuration format will likely break regularly in versions 0.Y.Z.