Skip to main content

Symlinks your dotfiles from anywhere to your home directory.

Project description

Homekeeper

https://travis-ci.org/retiman/homekeeper.svg?branch=master Latest Version PyPI Wheel Supported versions

This project helps organize dotfiles by symlinking them from another location. You may opt to version your dotfiles using git or another SCM tool so you can have access to them easily while working on other machines.

In the event that you use multiple computers and would like dotfiles to be shared, you can have a list of dotfiles directories that will be overridden. This can be useful if you have your own personal dotfiles, but then want dotfiles for work to be located in a separate directory or repository.

Installation

Install it via pypi:

pip install homekeeper

Versions 5.0.0 and above are compatible with Python 3 only.

Versions 4.0.5 and below are compatible with Python 2 only.

Usage

Create a repository or directory to store your dotfiles (like this one), then create a $HOME/.homekeeper.json that points to that repository. Running homekeeper keep symlinks the dotfiles from the repository to your home directory.

Configuration

Homekeeper will read a $HOME/.homekeeper.json file for configuration. A simple configuration looks like this:

{
    "directories": [
        "/home/johndoe/dotfiles/base",
        "/home/johndoe/dotfiles/host"
    ],
    "excludes": [
        ".git",
        ".gitignore",
    ]
}

Note that all paths must be absolute in the directories array. Homekeeper will symlink files from each directory in order. Homekeeper will not symlink any file in the excludes array in the configuration.

For example, if you have a .bash_profile in $HOME/dotfiles, then after running homekeeper keep, your home directory will contain:

.bash_profile -> /home/$USER/dotfiles/.bash_profile

NOTE: HOMEKEEPER WILL DELETE THE ORIGINAL FILE IN YOUR HOME DIRECTORY AND CREATE A SYMLINK.

To prevent homekeeper from doing this, run with the --no-overwrite flag (although this may prevent homekeeper from doing anything useful).

Run homekeeper unkeep to undo this process.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

homekeeper-5.1.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file homekeeper-5.1.0-py3-none-any.whl.

File metadata

  • Download URL: homekeeper-5.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.3

File hashes

Hashes for homekeeper-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64d115abd397f7a1936e83b078f01ff2bbc2a98776977305392b14d8be907a18
MD5 e18ea55391377e7aa050a97e8a384ac8
BLAKE2b-256 fd308164041bad5f5ab30d8756cdc10b90c6909d0fb4a1c9c4ec6401f46517af

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