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+ 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

Features

  • 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

Examples

  • 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

Installation

[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:

curl -s https://raw.githubusercontent.com/JasonYao/pydotfiles/master/start-opinionated | bash -s {CONFIGURATION_REPO_GIT_LINK}
# e.g.
curl -s https://raw.githubusercontent.com/JasonYao/pydotfiles/master/start-opinionated | bash -s https://github.com/JasonYao/dotfiles.git

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:

curl -s https://raw.githubusercontent.com/JasonYao/pydotfiles/master/start-base | bash -s {CONFIGURATION_REPO_GIT_LINK}
# e.g.
curl -s https://raw.githubusercontent.com/JasonYao/pydotfiles/master/start-base | bash -s https://github.com/JasonYao/dotfiles.git

Usage

  • To toggle show/hiding of iTerm 2: +

  • To update + upgrade the dotfiles:

dotfiles upgrade
  • To uninstall the dotfiles:
dotfiles uninstall

License

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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydotfiles-1.0.0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file pydotfiles-1.0.0.tar.gz.

File metadata

  • Download URL: pydotfiles-1.0.0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for pydotfiles-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1da33945146986c6bb62f20eda63f4d3f60a035f37f0bf52726443de63f02cf1
MD5 29868d71f41f14c7d068758872f0c5b1
BLAKE2b-256 c7420e9b724debda74a9906aa87ff4252c76802b7ef2f08a730c2454a82b9afb

See more details on using hashes here.

File details

Details for the file pydotfiles-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pydotfiles-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for pydotfiles-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 447da336606e2f7f7f7179529868e57acfb0317de3e16b4b91b081333c84f11c
MD5 18f93f0aa051efda6af8c49515011bb6
BLAKE2b-256 c63e916cedf66d0144ba9c6514eb5d874b46ecab9e744bf5a7907d89028b7719

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page