Skip to main content

dot is a git wrapper for managing dotfiles

Project description

dot

dot is a git wrapper for managing dotfiles

Installation

pip install dotfile

How it works

The basics of dot is that it runs this git command:

git --git-dir=$HOME/.dotfiles --work-tree=$HOME 

You can easily specify where your git-dir is and what your work-tree is with dot.

Why use dot instead of aliasing this command?

dot comes with a few handy custom git commands that are specific with managing dotfiles.

  • dot cwf (short for commit-with-filenames) will create a nice commit message showing which files you added/deleted/modified. You can also add your own description with the -m flag.
  • dot s status of tracked files only
  • dot au add/update currently tracked files
  • dot list list all currently tracked files

Usage

To setup your dotfile repository, run dot init and it will walk you through the setup. You can setup a new repository, or use an existing repository already on your machine.

New repository setup

[~]$ dot init
===== dotfile setup =====
Choose how you want to initialize your dotfiles:
[0] Create new dotfile repository
[1] Use existing dotfile repository
 > 0
New repository setup
--------------------
Repository name: [.dotfiles]
Default work tree: [/Users/kyle]

Generated configs: /Users/kyle/.config/dot/config.toml

[dot]
git-dir=/Users/kyle/.dotfiles/.git
work-tree=/Users/kyle

Do you wish to continue? (y/n [y]) y

Created config file at /Users/kyle/.config/dot/config.toml
Initialized empty Git repository in /Users/kyle/.dotfiles/.git/
Dotfile repository created at /Users/kyle/.dotfiles

Existing repository setup

[~]$ git clone https://github.com/kylepollina/.dotfiles
Cloning into '.dotfiles'...
remote: Enumerating objects: 65, done.
remote: Counting objects: 100% (65/65), done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 2101 (delta 39), reused 43 (delta 20), pack-reused 2036
Receiving objects: 100% (2101/2101), 1.18 MiB | 1.89 MiB/s, done.
Resolving deltas: 100% (577/577), done.
[~]$
[~]$ dot init
===== dotfile setup =====
Choose how you want to initialize your dotfiles:
[0] Create new dotfile repository
[1] Use existing dotfile repository
 > 1
Existing repository setup
-------------------------
Repository name: .dotfiles
Work tree directory: [/Users/kyle]

Generated configs: /Users/kyle/.config/dot/config.toml

[dot]
git-dir=/Users/kyle/.dotfiles/.git
work-tree=/Users/kyle

Do you wish to continue? (y/n [y]) y

Created config file at /Users/kyle/.config/dot/config.toml
Dotfiles setup at /Users/kyle/.dotfiles

Analyzing dotfile repository...
There is 2 files and 0 directories in /Users/kyle/.dotfiles

Files
-----
.zprofile
.bash_profile

Would you like to move these into your work tree? (y/n [y]) y

Moving file /Users/kyle/.dotfiles/.zprofile to /Users/kyle
overwrite /Users/kyle/.zprofile? (y/n [n]) y
/Users/kyle/.dotfiles/.zprofile -> /Users/kyle/.zprofile

Moving file /Users/kyle/.dotfiles/.bash_profile to /Users/kyle
overwrite /Users/kyle/.bash_profile? (y/n [n]) n
not overwritten

License

MIT License

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

dotfile-0.9.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

dotfile-0.9.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file dotfile-0.9.0.tar.gz.

File metadata

  • Download URL: dotfile-0.9.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.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.4

File hashes

Hashes for dotfile-0.9.0.tar.gz
Algorithm Hash digest
SHA256 cab49c401174a076a487e49b1579946d71f24f321314c5922b65b7f1647c549c
MD5 d9f18d1865a535f70ffef224038f0be9
BLAKE2b-256 c53b8107ffccdb2e8b81711a63aa5877cbe3a4d2e466d7b3831691c58c2bf2fe

See more details on using hashes here.

File details

Details for the file dotfile-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: dotfile-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.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.4

File hashes

Hashes for dotfile-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cb3dfe8489b4b62088555a0cce62aaa3797cc76d7b196a56d2ec915524fb3c0
MD5 bc6527e7678718fab64dbd4544362540
BLAKE2b-256 1e8097aabdf903e1005d7d13de31628c1dce55dce85b1d08946e7134aedb8301

See more details on using hashes here.

Supported by

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