Skip to main content

Fast, easy, and automatic system configuration via a configuration file/repo

Project description

PyDotfiles | Extendable Configuration-based Python Dotfile Manager

By Jason Yao. Build Status PyPI version Python 3.6+ semantic-release License

PyDotfiles is an extendable and configurable dotfile manager written in python. It will configure your computer exactly the way that you want, and through the configuration system, means that people can have their own personalized environment by just editing configuration files, with no need to dive into the code to make it just work.

For Windows support, please see here


  • Automatically sets up your applications, libraries, and environment the way YOU want
  • One-command installation
  • Easy configuration via forking and editing of a configuration file
  • Easy configuration options means that changes are simple and powerful
  • Enables unlimited extensions and customization, with a great baseline installation


  • Downloads a bunch of useful command-line tools (GNU tools, wget, bash v4+, vim, node, etc.)

  • [macOS only] Downloads a bunch of useful applications:

  • Secures and locks down the system via proper firewalling

  • Sets up proper dev environments (Python, Java, Ruby, Golang)

  • Sets up proper git environment with a better diff

  • [macOS only] Adds iTerm 2 shell integrations

Supported Platforms

  • macOS 10.12.x+ (High Sierra+)
  • Ubuntu 16.04 LTS


[RECOMMENDED] Opinionated Bootstrap

The following one-liner will bootstrap the system to an opinionated setup, in particular setting up pyenv for you if you don't have it yet, and setting up a new laptop-wide global python environment for day-to-day use.

Basically, if there's a completely new computer, run this:

# e.g.
curl -s | bash -s

Non-Opinionated Bootstrap

The following one-liner won't assume the python environment that you're installing this to, and just install itself with pip.

Basically, if your computer already has the required python version/environments, run this:

# e.g.
curl -s | bash -s


  • To toggle show/hiding of iTerm 2: +

  • To update + upgrade the dotfiles:

dotfiles upgrade
  • To uninstall the dotfiles:
dotfiles uninstall


This repo is licensed under the terms of the GNU GPL v3, of which a copy may be found here.

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

pydotfiles-3.1.0.tar.gz (28.0 kB view hashes)

Uploaded source

Built Distribution

pydotfiles-3.1.0-py3-none-any.whl (48.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page