Skip to main content

Local app configuration manager

Project description

Symconf

symconf is a CLI tool for managing local application configuration. It implements a general model that supports dynamically switching/reloading themes for any application, and makes it easy to templatize your config files.

Quick example

The single command symconf config -m dark -s gruvbox indicates a dark mode preference and that the gruvbox palette should be used. In this example, invoking this command kicks off several app-specific process to update the system state:

  • GTK: reacts to the mode setting and sets prefer-dark system-wide, changing general GTK-responsive applications like Firefox (and subsequently websites that are responsive to prefers-color-scheme)
  • kitty: theme template is re-generated using the dark gruvbox palette, and kitty processes are sent a message to live reload the new config
  • neovim: a vim theme file is generated from the gruvbox palette, and running instances of neovim are sent a message to re-source this theme
  • waybar: bar styles are updated to match the mode setting
  • sway: the background color and window borders are dynamically set to base gruvbox colors, and swaymsg reload is called
  • fzf: a palette-dependent theme is re-generated for gruvbox colors and re-exported
  • rofi: launcher text and highlight colors are set according to mode

Behavior

It uses a simple operational model that symlinks centralized config files to their expected locations across one's system. This central config directory can then be version controlled, and app config files can be updated in one place.

symconf also facilitates dynamically setting system and application themes. You can create themed variants of your config files, and symconf will "swap out" the matching theme config files for registered apps and running config reloading scripts.

Usage

See more in USAGE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

symconf-0.5.1.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

symconf-0.5.1-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file symconf-0.5.1.tar.gz.

File metadata

  • Download URL: symconf-0.5.1.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for symconf-0.5.1.tar.gz
Algorithm Hash digest
SHA256 0e8b4c256941d83c6d8a555f861ad6b3cab6687052f557fe5a0e8d24c0f4b3a3
MD5 47a83714a03abdfb620c3a204dae5316
BLAKE2b-256 67bc189beffb4daca03fb1bc48f80f15835d127ed8a9ea20565713db2a0a27f7

See more details on using hashes here.

File details

Details for the file symconf-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: symconf-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for symconf-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4705d74fcbe9ab9f29eb70b936c46624e01f80890d222d448ba7509d55aeb393
MD5 e28a18cfef72845b1721ea04413f7d41
BLAKE2b-256 51b403556bc7f7112deb763576683f76f739719881ceed6b321f9fe2bfb1e2ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page