Command Line Interface to manage (save, export, import) dot files in the form of profiles.
Project description
DotCtl
A CLI Tool to Manage DOT Files/Settings/Configurations.
Features
- Save Profile: Save existing dot files/config/settings.
- Import Profile: Import existing dot files/config/settings from a
.plsvfile. - Export Profile: Export and share existing dot files/config/settings to a
.plsvfile. - Manage multiple profiles with ease.
Installation
pip install dotctl
CLI Guide
Save Profile
dotctl save <profile_name>
Example:
dotctl save MyProfile
Options:
-f, --force→ Overwrite already saved profiles.-c <path>, --config-file <path>→ Use external config file.-e <env>, --env <env>→ Desktop environment (e.g., KDE).-p <password>, --password <password>→ Sudo Password to authorize restricted data (e.g.,/usr/share).--include-global→ Include data from the global data directory (/usr/share).--include-sddm→ Include SDDM data/configs (/usr/share/sddm,/etc/sddm.conf.d).--sddm-only→ Operate only on SDDM configurations (Note: Requires sudo password).--skip-sudo→ Skip all sudo operations.
Remove Profile
dotctl remove <profile_name>
Example:
dotctl remove MyProfile
List Profiles
dotctl list
Apply Profile
dotctl apply <profile_name>
Example:
dotctl apply MyProfile
Options:
-p <password>, --password <password>→ Sudo Password for restricted data.--sddm-only→ Apply only SDDM configurations (Requires sudo password).--skip-global→ Skip data from the global directory (/usr/share).--skip-sddm→ Skip SDDM configurations.--skip-sudo→ Skip all sudo operations.
Import Profile
dotctl import <profile_path>
Example:
dotctl import MyProfile.plsv
Options:
-p <password>, --password <password>→ Sudo Password for restricted data.--config-only→ Apply only dot files/configurations (~/.config).--data-only→ Apply only dot files/data (~/.local/share).--sddm-only→ Apply only SDDM configurations (Requires sudo password).--skip-global→ Skip global data.--skip-sddm→ Skip SDDM configurations.--skip-sudo→ Skip all sudo operations.
Export Profile
dotctl export <profile_path>
Example:
dotctl export MyProfile.plsv
Options:
-p <password>, --password <password>→ Sudo Password for restricted data.--config-only→ Export only dot files/configurations.--data-only→ Export only dot files/data.--sddm-only→ Export only SDDM configurations (Requires sudo password).--skip-global→ Skip global data.--skip-sddm→ Skip SDDM configurations.--skip-sudo→ Skip all sudo operations.
Wipe All Profiles
dotctl wipe
Help
dotctl -h
dotctl <action> -h
Example:
dotctl import -h
Version
dotctl -v
Development & Publishing Guide
Setup Development Environment
# Create virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # On Linux/macOS
venv\Scripts\activate # On Windows
# Install dependencies
pip install -r requirements.txt
Build the Package
python -m build
This will generate a dist/ directory with .tar.gz and .whl files.
Publish to TestPyPI
twine upload --repository testpypi dist/*
Publish to PyPI
twine upload --repository pypi dist/*
Who do I talk to?
- Repo Owner/Admin: Pankaj Jackson
- Community Support: Reach out via GitHub Issues
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
dotctl-1.0.2.tar.gz
(18.8 kB
view details)
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
dotctl-1.0.2-py3-none-any.whl
(24.8 kB
view details)
File details
Details for the file dotctl-1.0.2.tar.gz.
File metadata
- Download URL: dotctl-1.0.2.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b51e3d7cf377510b8d6b0d21ca1f62888a978fdcab159cac48cc8fb2fbb4ef8
|
|
| MD5 |
8e46e2cc71dfeec241cca634504a6875
|
|
| BLAKE2b-256 |
f48152e0d5832b98e5a50fc1bdfc3b025052ec5c20ca84f7af931de209a645d6
|
File details
Details for the file dotctl-1.0.2-py3-none-any.whl.
File metadata
- Download URL: dotctl-1.0.2-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6125cd2a8800fd5f6e3a18122025ee1427e9e12be57f69522293522e89dd7a83
|
|
| MD5 |
33c9c4ca8a0161f6af0a75d5e5a2e6d2
|
|
| BLAKE2b-256 |
93b94873343ad7acd9876b7db94907b00572905ef7cdaca4034fc012f6032b7d
|