CLI tool to sync and manage dotfiles across machines
Project description
dotfiles-cli
CLI tool to sync and manage dotfiles across machines. Works with dotbot.
Installation
# with uv (recommended)
uvx dotfiles-cli
# or install globally
uv tool install dotfiles-cli
# or with pip
pip install dotfiles-cli
Usage
# first time setup - clone and install dotfiles
dotfiles install
# sync: pull latest and run dotbot
dotfiles sync
# check status
dotfiles status
# update submodules only
dotfiles update
dotfiles update --remote # fetch latest from remotes
# push changes (handles submodules)
dotfiles push # push main repo
dotfiles push kickstart.nvim # push submodule first
# open in editor
dotfiles edit
Notes Sync
Sync notes/docs across machines with GitHub as source of truth:
# clone notes repo (first time)
dotfiles notes clone
# check status
dotfiles notes status
# two-way sync (recommended)
dotfiles notes sync
# pull only (with optional hard reset)
dotfiles notes pull
dotfiles notes pull --hard # discard local, reset to GitHub
# push local changes
dotfiles notes push -a -m "update notes"
Configuration
By default, dotfiles-cli expects:
- dotfiles at
~/repos/.dotfiles - notes at
~/repos/docs
Override with environment variables:
export DOTFILES_DIR=~/my-dotfiles
export NOTES_DIR=~/my-notes
Commands
Dotfiles
| Command | Description |
|---|---|
install |
Clone and setup dotfiles from scratch |
sync |
Pull latest changes and run dotbot |
status |
Show git status and submodule versions |
update |
Update submodules |
push |
Commit and push changes |
edit |
Open dotfiles in $EDITOR |
Notes
| Command | Description |
|---|---|
notes clone |
Clone notes repository |
notes status |
Show notes repo status |
notes sync |
Two-way sync (stash, pull, push) |
notes pull |
Pull from GitHub (--hard to reset) |
notes push |
Commit and push to GitHub |
Platform Support
- Windows: Uses
install-windows.conf.yaml - Linux/Mac: Uses
install.conf.yaml
License
MIT
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
dotfiles_cli-0.2.4.tar.gz
(20.4 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
File details
Details for the file dotfiles_cli-0.2.4.tar.gz.
File metadata
- Download URL: dotfiles_cli-0.2.4.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e64ea02ee961e9a24112889d01189c5d977ff964a6bdf7743b2349379e5ab80
|
|
| MD5 |
dce71d7add817338b3975c5a214f8c05
|
|
| BLAKE2b-256 |
860879873d4645010ff1d4055c5be272ae327597c1162ed8fad6c980cb332b8d
|
File details
Details for the file dotfiles_cli-0.2.4-py3-none-any.whl.
File metadata
- Download URL: dotfiles_cli-0.2.4-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf39048b80309222a4210ed05cdc3d91b691444cfcddb5bda867ca5166ec5649
|
|
| MD5 |
d2d736f095cf4dcfdb087b2487273721
|
|
| BLAKE2b-256 |
1fc222583be75e9892c8522bc1cfcbd42d5f0396cf9e06305dd7057bacb538e0
|