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:
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.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size astrality-1.1.1-py3-none-any.whl (2.7 MB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size astrality-1.1.1.tar.gz (2.6 MB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for astrality-1.1.1-py3-none-any.whl