tuning 0.4.0

ansible-like tool with a smaller scope, focused primarily on complementing dotfiles for cross-machine bliss
tuning-0.4.0 is not a library.

tuning Status Gitlab pipeline status Crates.io docs.rs

ansible-like tool with a smaller scope, focused primarily on complementing dotfiles for cross-machine bliss

status

  • some functionality, but still missing some basics that will make it actually useful

what?

  • inspired by ansible, with jobs defined in a declarative file format

  • will focus on the dotfiles use-case: maintaining the same user preferences across machines, or restoring user preferences to a fresh machine

  • no remote or fleet functionality / complexity

  • not aiming to do anything that requires root / Administrator permissions (yet)

  • named after the reality-bending ability in Dark City

why?

  • my dotfiles started as a whole bunch of shell-scripts, but didn't have any support for Windows,

  • I'd partially moved to my second attempt, which is cross-platform, but required too much work for new jobs

  • other existing tools use interpretted languages, which are fine for web services that run in containers, but can be overly-sensitive to interpreter versions and globally-installed packages

  • yes, I am firmly trapped in The Code/Data Cycle

prerequisites

getting started

$ cargo install tuning
$ tuning

documentation

roadmap for 1.0

  • support machine hostname as a when condition (#10)
  • --config flag to point at a different config file (#11)
  • support job status as a when condition (#12)
  • [[includes]] to help decompose large config files (#15)
  • validate that there are no circular dependencies between jobs (#17)

known issues

security

  • this project is vulnerable to symlink races, which is why we do not recommend running it with root privileges for now

see also