ansible-like tool with a smaller scope, focused primarily on complementing dotfiles for cross-machine bliss
MOVED: https://gitlab.com/jokeyrhyme/tuning
- some functionality, but still missing some basics that will make it actually useful
-
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
-
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
- Rust compiler and
cargo
: https://rustup.rs/
$ cargo install tuning
$ tuning
- read about job metadata
- read about job file template rendering
- read about the jobs configuration file format
- read config from user's HOME directory
-
needs
to support optional sequencing of jobs - support the "command" job
- support the "file" job
- resolve references to path expressions (e.g. ~) (#9)
-
when
to support conditional jobs - specify that a job needs a certain OS
- specify that a job needs certain executables
-
needs_any
for flexible sequencing of jobs - support the "git" job
- flag to point at a different config file
-
import
orinclude
to help decompose large config files