A dynamic configuration file manager.
Project description
What Does It Do?
Astrality is a tool for managing configuration files and scheduling tasks related to those files.
You can create templates for your configuration files, and Astrality will replace placeholders within those templates with context values defined in a central configuration file. Furthermore, you can dynamically manipulate that context at predefined times and events.
Possible use cases are:
Insert environment variables (e.g. $USER) and command substitutions (e.g. $(xrandr | grep -cw connected)) into configuration files that do not support them.
Create a single source of truth for configuration options. Change your preferred font type or color scheme, and instantly see that change be applied across several different applications.
Change your desktop wallpaper when your specific location (given by latitude and longitude) experiences dawn, noon, sunset, and dusk. It adapts to the length of day through the year. Make your Conky modules change font color accordingly.
And much more… An example configuration with several examples is included.
The configuration format uses the flexible YAML format, and the template language uses the Jinja2 syntax, which is easy to get started with, but allows complex templating for those who need it.
It is relatively easy to create modules to your own liking. Pull requests with new themes, conky modules, and improvements are very welcome.
Getting Started
Prerequisites
Astrality requires python 3.6 or greater. The included configuration for Astrality also contains modules which utilize conky and feh. You can either disable these modules or install their dependencies. An example installation on ArchLinux would be:
sudo pacman -Syu conky feh python
The default configuration also uses the Nerd Font “FuraCode Nerd Font”. Install it if you don’t change the font in your configuration. On ArchLinux, it can be installed with the nerd-fonts-complete AUR package:
yaourt -S nerd-fonts-complete
Installation
Create a new virtualenv for python 3.6 (or use your system python 3.6 if you prefer). Install Astrality from pypi like so:
pip3 install astrality
You should now be able to start astrality from your command line, but first, let’s create an example configuration:
astrality --create-example-config
And now start astrality:
astrality
If you have feh installed, your desktop wallpaper should now be changed according to the sun’s position in the sky at Null Island. Since you probably don’t live there, you should now configure 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
Hashes for astrality-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32baec652a3a13f933da89215039fb1d067fc26b5ad30d99cbd4bb29d83958ce |
|
MD5 | 7bcefdd13b59f55d9d383a9fd430e85c |
|
BLAKE2b-256 | fbda3b0788ab77d148807a4d39d68115983b2609f0da583019264bb63f61a447 |