A dynamic configuration file manager.
Project description
TL;DR: Automatically deploy dotfiles. Grouped into modules with dynamic behaviour.
What does it do?
Astrality is a flexible tool for managing configuration files, inspired by GNU Stow and Ansible.
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.
Take a look at the tutorial for managing a dotfile repository, or see the full documentation for all available functionality. Feel free to drop by our Gitter room when getting started.
Here is gif demonstrating how Astrality is used to:
Getting started
Prerequisites
Astrality requires python 3.6 or greater. Check your version by running python --version.
Installation
astrality-git is published on the AUR for ArchLinux users. Otherwise, you can install Astrality using pip:
Create a new virtualenv for python 3.6 (or use your system python 3.6 if you prefer). Install Astrality from PyPI like so:
$ 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:
$ astrality
Configuration and further documentation
I recommend taking a look at the full documentation of Astrality hosted at Read the Docs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file astrality-1.1.1.tar.gz
.
File metadata
- Download URL: astrality-1.1.1.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7df694b7a970ad38203e82b2e300194a1f3d1a89c6b4e512a7ebafd2901b8103 |
|
MD5 | b60fd6db513e164fa485ab56d63c0f81 |
|
BLAKE2b-256 | e233a6ba106faa0ade9a89c06801e4a9172640c3aaa373b37c2c2baff4efdbfd |
File details
Details for the file astrality-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: astrality-1.1.1-py3-none-any.whl
- Upload date:
- Size: 2.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eccec3d8a21223a2cd0ec6439bef67eb1bd4ba98b7a3128c3c5c7e80304d4dcb |
|
MD5 | e54360eb5287d99aae8539bfccdbc4c4 |
|
BLAKE2b-256 | 3ffb221186a6b8fa8112702abbc5faff33013e1eda68b906c50be774dd0947f8 |