Skip to main content

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


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)

Uploaded Source

Built Distribution

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

dotfiles_cli-0.2.4-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for dotfiles_cli-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3e64ea02ee961e9a24112889d01189c5d977ff964a6bdf7743b2349379e5ab80
MD5 dce71d7add817338b3975c5a214f8c05
BLAKE2b-256 860879873d4645010ff1d4055c5be272ae327597c1162ed8fad6c980cb332b8d

See more details on using hashes here.

File details

Details for the file dotfiles_cli-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for dotfiles_cli-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cf39048b80309222a4210ed05cdc3d91b691444cfcddb5bda867ca5166ec5649
MD5 d2d736f095cf4dcfdb087b2487273721
BLAKE2b-256 1fc222583be75e9892c8522bc1cfcbd42d5f0396cf9e06305dd7057bacb538e0

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