Skip to main content

Switch up your dotfiles

Project description

Switch your dotfiles on demand!

PyDotSwitcher is a Python utility that allows you to easily switch between your dotfiles.

Features

  • 📋 Declarable: PDS will only change between dotfiles YOU declare.
  • 📁 Grouped: Make a group to change multiple configurations at the same time. Especially useful for changing colorschemes!
  • 🛟 Safe: PDS Backs up files before it switches them, and changes to the dotfiles are linked with your current configuration group.
  • 📜 Scriptable: You can also embed shell scripts for doing stuff when changing themes.

Installation:

Install using PIP: pip install pydotswitcher or 'python -m pip install pydotswitcher'

For Arch Linux users, install the python-pydotswitcher package

Usage

Out of the box, PDS won't do anything. That is because you have to declare what files you want.

But first, a configuration group is needed:

$ dotswitch -n MyConfig # Creates the MyConfig Group if it doesn't exist

Now, let's add a file to our new group with the -a (Append) flag. For example, let's add our GTK settings:

$ dotswitch -a ~/.config/gtk-3.0/settings.ini MyConfig

Groups act as separate Home directories, so, running this command will create a ./.config/gtk-3.0 directory to store the settings.ini file inside the MyConfig group (Which, by default resides in ~/.config/pydotswitcher/groups/).

Now, to switch up our files, run: $ dotswitch -sw [group]

This will apply all the configurations inside the group and will backup the existing configuration inside ~/.config/pydotswitcher/, however, if you want to disable this, add the --no-backup flag.

For scripting, run $ dotswitch -sh [group]. This will auto generate a .sh file for you to do scripting, and it will be executed when you switch up the files. If you have added a script to a group but don't want to execute it, append --no-script.

Tips & Tricks

Some applications require a restart after having an updated. To fix this, create a script in your group and add killall program-name && program-name & to your script.

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

pydotswitcher-0.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

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

pydotswitcher-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file pydotswitcher-0.1.0.tar.gz.

File metadata

  • Download URL: pydotswitcher-0.1.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pydotswitcher-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7f0ddeec819c554a21a68d6306a47d017e4d4a3cd4b86c0f7af76007236a602f
MD5 06883870765476ce4c7f710761285fb4
BLAKE2b-256 f80d7a2dfd92444575174ed51d42b6b7e3fa9c486868ccbab4d114ca430e149f

See more details on using hashes here.

File details

Details for the file pydotswitcher-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pydotswitcher-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pydotswitcher-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0cc6ee5f085d26b680afad4ecced8278c6d9acec45b9bd870a5b73ef22c153c
MD5 c9380293aa84576838dd71df3e531d01
BLAKE2b-256 ff12ecc268c0321d3a6c5d322878058228bc829f21e0557d91866438b4e0e69b

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