Skip to main content

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

Metadata

Release files for dotfile 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dotfile 0.9.0
File Size Uploaded Provenance Actions
dotfile-0.9.0.tar.gz 6.1 kB Without provenance Details for dotfile-0.9.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dotfile 0.9.0
File Interpreter ABI Platform Actions
dotfile-0.9.0-py3-none-any.whl Python 3 none any Details for dotfile-0.9.0-py3-none-any.whl

Total release size: 14.9 kB

Release files / dotfile-0.9.0.tar.gz

Download URL dotfile-0.9.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cab49c401174a076a487e49b1579946d71f24f321314c5922b65b7f1647c549c
BLAKE2b-256 checksum
How to use checksums
c53b8107ffccdb2e8b81711a63aa5877cbe3a4d2e466d7b3831691c58c2bf2fe
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / dotfile-0.9.0-py3-none-any.whl

Download URL dotfile-0.9.0-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5cb3dfe8489b4b62088555a0cce62aaa3797cc76d7b196a56d2ec915524fb3c0
BLAKE2b-256 checksum
How to use checksums
1e8097aabdf903e1005d7d13de31628c1dce55dce85b1d08946e7134aedb8301
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for dotfile 0.9.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page