8b20c2a490
Setup only for loading config file for now, probably not a lot of code here that is super intensive, but having the structure set up to bench is pretty nice when it's needed suddenly. Two steps ahead as always, still haven't capitalized on the architecture rewrite, yet here I am adding this. Signed-off-by: Christina Sørensen <christina@cafkafk.com> |
||
---|---|---|
benches | ||
bin | ||
doc | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
cliff.toml | ||
CODE_Of_CONDUCT.md | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.org |
gg - git gut
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/gg
$ cd gg
$ cargo install --path .
Configuration
If you want a template, you can copy the file from src/test/config.yaml:
$ mkdir -p ~/.config/gg/
$ cp src/test/config.yaml ~/.config/gg/config.yaml
You should seriously change this file before running any commands.
The configuration format will likely break regularly in versions 0.Y.Z.