Skip to main content

A comprehensive solution to managing your dotfiles

Project description

dotgit

tests coverage publish-pypi docs downloads

A comprehensive and versatile dotfiles manager

dotgit allows you to easily store, organize and manage all your dotfiles for any number of machines. Written in python with no external dependencies besides git, it works on both Linux and MacOS (should also work on other *nix environments).

Project goals

  • Share files between machines or keep separate versions, all in the same repo without any funny shenanigans
  • Make use of an intuitive filelist which makes organization easy
  • Make git version control convenient and easy to use

Why use dotgit?

  • You can very easily organize and categorize your dotfiles, making it easy to store different setups in the same repo (e.g. your workstation and your headless server dotfiles, stored and managed together)
  • Ease-of-use is baked into everything without hindering more advanced users. For instance, dotgit can automatically commit and push commits for you should you want it to, but you can just as easily make the commits yourself
  • dotgit has an automated test suite that tests its functionality with several versions of Python on Linux and MacOS to ensure cross-platform compatibility
  • Support for both symlinking or copying dotfiles to your home directory. Copying allows you to quickly bootstrap a machine without leaving your repo or dotgit on it
  • No external dependencies apart from git allowing you to install and use dotgit easily in any environment that supports Python
  • Encryption using GnuPG supported to allow you to store sensitive dotfiles

Getting started

To get started with dotgit have a look at dotgit's documentation at https://dotgit.readthedocs.io/.

Future goals

The following features are on the wishlist for future releases (more suggestions welcome):

  • Encryption using GnuPG
  • Config file for default behaviour (e.g. verbosity level, hard mode)
  • Templating

Migration from v1.x

If you used the previous bash version of dotgit (pre-v2) you need to follow the migration guide here to make your dotfiles repo compatible with the new version.

Contributing

Contributions to dotgit are welcome, just open a PR here on the repo. Please note that your contributions should be linted with Flake8 (you can check for linting errors locally by running make lint in the repo) and should also be covered using unit tests using the pytest framework.

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

dotgit-2.2.9.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

dotgit-2.2.9-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file dotgit-2.2.9.tar.gz.

File metadata

  • Download URL: dotgit-2.2.9.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for dotgit-2.2.9.tar.gz
Algorithm Hash digest
SHA256 e504c355700d247f16f31477646f31b30430b9a1d809f4d0727db51a444cac41
MD5 542c0975174621ebd160664425e572ef
BLAKE2b-256 45d1d06a7c7d40289207a50b13c8d8526c7e6b25261ba7dfd8e78de46a181883

See more details on using hashes here.

File details

Details for the file dotgit-2.2.9-py3-none-any.whl.

File metadata

  • Download URL: dotgit-2.2.9-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for dotgit-2.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 24e6c10901f92ffc92f35a97cd9e1165a10de0d680694a6595e6d91c96c78ff7
MD5 30d551a2678adee8027d5b51672a0d63
BLAKE2b-256 4b17a03bbf942f2c124fc602d42ded94d5ea65470151d301c44f6fc959d20596

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