A Python script to help with dot file management
Project description
dotboy
A Python script to help with dot file management.
I originally started this because I got tired of manually copying dot files into my configuration repo any time I changed one and I didn't realize how many existing solutions there were.
Anyways, I kept working on it because it's a fun learning experience and I wanted to add specific features that I could use for myself and decided to share it with the world.
Requirements:
python>=3.8
Dependencies:
GitPython (handled by both pip and the aur packages)
Installation:
On Arch, you can use the python-dotboy or python-dotboy-git AUR packages.
Otherwise, you can install DotBoy with pip via pip install dotboy.
Configuration:
Configuration is done in a json stored in '~/.config/dotboy/config.json'
An example configuration json is:
{
"repo_url": "https://gitlab.com/bwbuhse/dotboy",
"repo_path": "~/projects/dot-files",
"paths": [
{
"installed_path": "~",
"repo_path": "",
"files_to_copy": [
".tmux.conf",
".zshrc",
".zprofile",
".zpreztorc"
]
},
{
"installed_path": "~/.config",
"repo_path": ".config",
"files_to_copy": [
"nvim/init.vim",
"nvim/coc-settings.json"
],
"dirs_to_copy": [
"alacritty",
"sway",
"waybar",
"i3",
"polybar",
"picom",
"dotboy"
]
},
{
"installed_path": "/efi/EFI/refind",
"repo_path": "refind",
"files_to_copy": [
"refind.conf"
]
}
]
}
repo_url is the url to your dot file repository. This field is optional. If the repository path exists on the local machine, then this field is ignored. Otherwise, if the path doesn't yet exist, dotboy will clone the repo at this URL to the repo_path location.
repo_path is the path to the repository that you want to store the dot files in or where the repository already exists. This field is optional. If a path is supplied, the repository will be there, if not then the default path of ~/.dotboy will be used.
paths is a list of json objects, each corresponding to a path where dot files
are stored on the system. Each object in paths needs two fields with two
other optional variables.
installed_path is the path to the installed location of the dot_files. This field is required for each element in paths.
repo_path is the path that you want the files stored within each host-folder
inside of the repo. This field is required for each element in paths.
files_to_copy and folders_to_copy are both lists of files and folders,
respectively to/from the installed path and repo path. These elements are optional, however the paths element will be useless without at least one.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dotboy-0.3.1.tar.gz.
File metadata
- Download URL: dotboy-0.3.1.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87c53fe8c18a421ceeb29bcd3c3e765f2c0f520361d83cadd74b3e33894325e6
|
|
| MD5 |
61edfbe4b5f2f639b1c2944d68649cba
|
|
| BLAKE2b-256 |
cd48b1b5e62033829c65187bd1c47f9ad8858ea50a6220229451e2e6739e8b5e
|
File details
Details for the file dotboy-0.3.1-py3-none-any.whl.
File metadata
- Download URL: dotboy-0.3.1-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
914d4046bb415974ab442881232ea1bb15d93091ccaa9ce4a88ef9b7c5a71834
|
|
| MD5 |
26082ffaf99c3ebc2a0786b9914e7646
|
|
| BLAKE2b-256 |
0d35271fe6e83a968b630327246747acb69d99558aa21d1b6a69c763b7897638
|