Skip to main content

A simple dotfiles manager. Uses symlinks and a git repo.

Project description

Tod

Central management of your personal configs using a git repository and symlinks.

Installation

Install the client:

pip install tod

Point to your configuration repo:

# Environment variables will be expanded.
export $TOD_FILE_REPO='/path/to/your/repo'

Config Repo Layout

The Config Repo format is as follows:

Root Config Directory
├── files
│   ├── file_a
│   ├── ...
│   └── file_z
└── mapping.ini

The mapping.ini file maps configs from the files directory to their installation path. Currently everything lives under a default section, and all mappings are of the form CONFIG_FILE: INSTALL_PATH. An example config is shown below. It would map $REPO/files/vimrc to ~/.vimrc, and REPO/files/tmux.conf to ~/.tmux.conf:

[default]
vimrc: ~/.vimrc
tmux.conf: ~/.tmux.conf.

[git]
gitconfig: ~/.gitconfig

Usage

See the current status of the of all sections:

tod status

See the current status of a single section:

tod status -s SECTION

Link a single config into the system:

tod link -S SECTION -n NAME

Link a single section into the system:

tod link -s SECTION -a

Link all sections into the system:

tod link -a

Unlink a single config from the system:

tod unlink -s SECTION -n NAME

Unlink a all sections from the system:

tod unlink -a

TODO

  • Add section inheritance * example: [osx] inherits all of [vim], [git], and [zsh]

  • Add more helpers to initiliaze a system quickly * tod init -g GIT_URI -s SECTION would clone the specified git repo then link the specified section into the system.

  • Force linking. * move the conflicting files to a backup location, then link as needed.

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

tod-0.2.2.tar.gz (4.7 kB view details)

Uploaded Source

File details

Details for the file tod-0.2.2.tar.gz.

File metadata

  • Download URL: tod-0.2.2.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tod-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c4456520ba738d34bb573ebbcc68bfde2a56b8f2b3ce70e67a93b22fa4f42f23
MD5 51be1fc6c878b92b6c7670ad5894c8d1
BLAKE2b-256 a517e81dabad962b295b5f605e42ff0e4d71e41d22465262fb6fd19d68fb23f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page