Apply a base configuration to a system, quickly!
It reads a configuration and template structure from a [dotfiles] directory and tries to normalize the machine that it is run base on this configuration.
WARNING: This will modify your system and potentially overwrite files! Make sure you have backed everything up before using it!
quickcfg
binary and your configuration repo.copy_dir
), which does a lot of work
with very little configuration.Create a repository with a quickcfg.yml
in its root:
``` hierarchy: - secrets.yaml - db/common.yaml - db/{distro}.yaml
systems: # system to copy an entire directory to another. - type: copydir # directory relative to root of this project. from: home tohome: true # system to ensure that a set of packages are installed. - type: install-packages # data key to use when resolving packages # will look up this key in the specified hierarchy. key: packages ```
We support installing packages on the following platforms:
dpkg-query
and apt
(fact: distro=debian
).Any file being copied is treated as a [handlebars
] template.
Any template file can make use of hierarchy data, by specifying their dependencies using
a quickcfg:
tag at the top of the file, like this:
```
Hi, my name is {{name}} ```
quickcfg
will scan the first 5 lines of any file being copied for this.