pydotswitcher


Namepydotswitcher JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/Ehllay/PyDotSwitcher
SummarySwitch up your dotfiles
upload_time2023-09-24 16:18:18
maintainer
docs_urlNone
authorEhllay
requires_python>3.11
licenseMIT
keywords dotfiles backup utility config ricing colorscheme linux python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
Switch your dotfiles on demand!
<br><br>
<a href="./LICENSE.md"><img src="https://img.shields.io/badge/license-MIT-cba6f7.svg"></a>
</p>
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Ehllay/PyDotSwitcher",
    "name": "pydotswitcher",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">3.11",
    "maintainer_email": "",
    "keywords": "dotfiles,backup,utility config ricing colorscheme linux python",
    "author": "Ehllay",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/f8/0d/7a2dfd92444575174ed51d42b6b7e3fa9c486868ccbab4d114ca430e149f/pydotswitcher-0.1.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\nSwitch your dotfiles on demand!\n<br><br>\n<a href=\"./LICENSE.md\"><img src=\"https://img.shields.io/badge/license-MIT-cba6f7.svg\"></a>\n</p>\nPyDotSwitcher is a Python utility that allows you to easily switch between your dotfiles.\n\n## Features\n\n- \ud83d\udccb **Declarable**: PDS will only change between dotfiles YOU declare.\n- \ud83d\udcc1 **Grouped**: Make a group to change multiple configurations at the same time. Especially useful for changing colorschemes!\n- \ud83d\udedf **Safe**: PDS Backs up files before it switches them, and changes to the dotfiles are linked with your current configuration group.\n- \ud83d\udcdc **Scriptable**: You can also embed shell scripts for doing stuff when changing themes.\n\n## Installation:\n\nInstall using PIP:\n`pip install pydotswitcher` or 'python -m pip install pydotswitcher'\n\nFor Arch Linux users, install the `python-pydotswitcher` package\n\n## Usage\n\nOut of the box, PDS won't do anything. That is because you have to declare what files you want.\n\nBut first, a configuration group is needed:\n\n`$ dotswitch -n MyConfig # Creates the MyConfig Group if it doesn't exist`\n\nNow, let's add a file to our new group with the -a (Append) flag. For example, let's add our GTK settings:\n\n`$ dotswitch -a ~/.config/gtk-3.0/settings.ini MyConfig`\n\nGroups 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/).\n\nNow, to switch up our files, run:\n`$ dotswitch -sw [group]`\n\nThis 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.\n\nFor 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`.\n\n## Tips & Tricks\n\nSome 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.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Switch up your dotfiles",
    "version": "0.1.0",
    "project_urls": {
        "Download": "https://github.com/Ehllay/PyDotSwitcher/archive/PDS_0.1.0.tar.gz",
        "Homepage": "https://github.com/Ehllay/PyDotSwitcher"
    },
    "split_keywords": [
        "dotfiles",
        "backup",
        "utility config ricing colorscheme linux python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff12ecc268c0321d3a6c5d322878058228bc829f21e0557d91866438b4e0e69b",
                "md5": "c9380293aa84576838dd71df3e531d01",
                "sha256": "e0cc6ee5f085d26b680afad4ecced8278c6d9acec45b9bd870a5b73ef22c153c"
            },
            "downloads": -1,
            "filename": "pydotswitcher-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c9380293aa84576838dd71df3e531d01",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">3.11",
            "size": 6877,
            "upload_time": "2023-09-24T16:18:16",
            "upload_time_iso_8601": "2023-09-24T16:18:16.964903Z",
            "url": "https://files.pythonhosted.org/packages/ff/12/ecc268c0321d3a6c5d322878058228bc829f21e0557d91866438b4e0e69b/pydotswitcher-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f80d7a2dfd92444575174ed51d42b6b7e3fa9c486868ccbab4d114ca430e149f",
                "md5": "06883870765476ce4c7f710761285fb4",
                "sha256": "7f0ddeec819c554a21a68d6306a47d017e4d4a3cd4b86c0f7af76007236a602f"
            },
            "downloads": -1,
            "filename": "pydotswitcher-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "06883870765476ce4c7f710761285fb4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">3.11",
            "size": 5748,
            "upload_time": "2023-09-24T16:18:18",
            "upload_time_iso_8601": "2023-09-24T16:18:18.754076Z",
            "url": "https://files.pythonhosted.org/packages/f8/0d/7a2dfd92444575174ed51d42b6b7e3fa9c486868ccbab4d114ca430e149f/pydotswitcher-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-24 16:18:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Ehllay",
    "github_project": "PyDotSwitcher",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pydotswitcher"
}
        
Elapsed time: 0.13761s