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.5.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

bare_estate-0.5-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bare_estate-0.5.tar.gz
Algorithm Hash digest
SHA256 545a3fec05c785deb65daba2e1b861ff8431e75b1dd6f519583f9868cb03fbda
MD5 c2ae94cdaedee84622086515996b5fce
BLAKE2b-256 1d9f5a044edbd0864b6c0b48535454b8b2a87a6e62c453797dcba5cec7ab1808

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for bare_estate-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 05910e08c6168ce0e2ca22206817e6d55ce3c8e87d10e9b1e3b733cda953eb77
MD5 8ca74889489df6264393a02580a07320
BLAKE2b-256 97d77b50b81885efb7ba7e6630459efebe212788fc79af14f7968126b1e8a8c8

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