A dynamic configuration file manager.
TL;DR: Automatically deploy dotfiles. Grouped into modules with dynamic behaviour.
What does it do?
Let’s begin with a list of some of Astrality’s key features:
Manage and deploy configuration files according to a central YAML config file.
Group related configuration into modules.
Conditionally enable modules based on environment variables, OS, installed programs and shell commands.
Copy and/or symlink files.
Execute shell commands.
Compile Jinja2 templates templates to target destinations.
Dynamically manipulate context values used during jinja2 compilation.
Automatically re-deploy dotfiles when source content is modified.
Subscribe to pre-defined events, such as local daylight, and execute actions accordingly.
Fetch modules from GitHub.
Restore files created and/or overwritten by modules.
Here is gif demonstrating how Astrality is used to:
Astrality requires python 3.6 or greater. Check your version by running python --version.
astrality-git is published on the AUR for ArchLinux users. Otherwise, you can install Astrality using pip:
$ python3.6 -m pip install astrality
You should now be able to start astrality from your command line, but first, let us create an example configuration:
$ astrality --create-example-config
Take a look at the generated example configuration at ~/.config/astrality. Now start astrality:
Configuration and further documentation
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for astrality-1.1.1-py3-none-any.whl