Skip to main content

Manage your dotfiles seamlessly with a bare repo

Project description

Bare Estate

Table of Contents

About

Have you ever needed to install a brand new Linux distro or BSD system? Any experient user has done this at least a couple times, and certainly has a dotfiles repository somewhere. But how would you transfer your dotfiles? Maybe with symbolic links, copying files from a cloned repository, flash drive or perhaps a combination of those.

With Bare Estate you don't need a convoluted strategy for managing your dotfiles. You can create a bare repository that will store your repository's data. Manage your dotfiles as if they were on a regular repo. Even files from your home directory, without actually turning your home into a git repository itself.

And the best part is the application handles the abstraction for you, so you can use it in the same you use git!

Configuration

The configuration is made by using a json file. The path of the file is ${XDG_CONFIG_HOME}/bare_estate.json. If you didn't set the value of the XDG_CONFIG_HOME environment variable, then it defaults to ${HOME}/.config/bare_estate.json.

Config Options:

  • history_location: it says where your bare repository directory will be located. Environment variables don't expand. So you will have to write the complete path of the file.
  • base_directory: the directory from where you will manage all your dotfiles. You can either put them directly in the base directory, or in subdirectories within it.

Examples:

bare_estate.json:

{
    "history_location": "/home/lucas/.local/share/bare_estate",
    "base_directory": "/home/lucas"
}

Usage

The package introduces an executable script called estate as the main entrypoint for the application. It is used just like you would use git.

Examples:

  • Initialize a new repo:
estate init
  • Clone an existing repository:
estate clone <dotfiles-repo-url>

Warning: cloning a repository will overwrite your local files if the remote repository has files with the same name.

  • Add files to the staging area:
estate add file1 file2 file3
  • Check your repository's status:
estate status
  • Commit your changes:
estate commit
  • Push your changes to the remote repo:
estate push

Install

To install this package from the PyPI, you can use the command:

pip install -U bare-estate

The current version has no Python dependencies, other than the base install. However, it requires git and rsync installed locally in order to work.

Credits

  • Greg Owen, for the blog post that inspired this project
  • StreakyCobra and the other users from Hacker News

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

bare_estate-0.4.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

bare_estate-0.4-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file bare_estate-0.4.tar.gz.

File metadata

  • Download URL: bare_estate-0.4.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for bare_estate-0.4.tar.gz
Algorithm Hash digest
SHA256 7012e2dcfa7d42bf74052ecc53ade797a1179f9c7fa35cb31c636470d12d614f
MD5 9db2012a2358f129ce6c519f6edd4d34
BLAKE2b-256 89a0e7ced1c3c77dd5a44cadbe8e3740b9e33ebe48f76ffb2ba50e34b7cf0924

See more details on using hashes here.

File details

Details for the file bare_estate-0.4-py3-none-any.whl.

File metadata

  • Download URL: bare_estate-0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for bare_estate-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e5954f3dd581c9608a16e26de103f6fd2db398c58b2de311e222055a3519b86
MD5 b2b92d14ca5ebeaaeee64c0082c19cdc
BLAKE2b-256 4683dbe7de109df636fdb00f113b5cea320736d7ab34244e5b5053596381491a

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