Skip to content

A simple python script that installs dotfiles and dev tools using ansible roles. Supports Ubuntu and OSX.

License

Notifications You must be signed in to change notification settings

evangoad/devenv

Repository files navigation

Build Status

devenv is a simple python script that runs ansible in order to install and configure my editor, shell, and multiplexer. devenv currently supports OSX and Ubuntu, and it only requires that git and python are installed (plus brew if you are installing on OSX). See the installation script and Requirements for more info.

devenv will update and configure:

Usage

usage: devenv [-h] [-s] [-l] [-t [TAGS [TAGS ...]]]

install applications and symlink dotfiles

optional arguments:
  -h, --help            show this help message and exit
  -s                    Run ansible-playbook with --syntax-check option
  -l                    Omit the initial 'git pull' step and run your local
                        version of the roles
  -t [TAGS [TAGS ...]]  Specify which tags you wish to exclusively run.
                        Supported options are 'shell', 'editor', 'mux', 'osx',
                        and 'dotfile'

use it to symlink your dotfiles:

devenv --tags dotfiles demo

use it to update all of your multiplexer configuration:

devenv --tags mux demo

What you get out of the box

  • Github Actions to automate your tests for both OSX and Ubuntu.
  • Single command install & update of your shell, editor, multiplexer, and dotfiles.
  • Simple github pages website using the caymen theme for jekyll.
  • Easy to customize and expand by writing ansible.

How it Works

devenv is a simple python script that runs a single ansible playbook on localhost. This playbook imports the four roles: editor, shell, mux, and osx. Move your existing dotfiles into the "files" directory for the appropriate role:

Each of the four roles knows how to install and update the programs listed above, and keep up to date personal dotfile configurations. All you have to do is run devenv if you want to download your last pushed configuration and update your machine. This is very usefull when booting into an new virtual machine for the firs time.

How can I use this?

This repository was intentionally designed to be forked like dotfiles. In order to install and use your own customizable copy of devenv:

  • Follow the instructions in the Forking documentation
  • For an install by https clone, use the install script:
curl -fsSL https://raw.githubusercontent.com/evangoad/devenv/main/install.sh | bash

OR Install by ssh cloning and pip3:

git clone git@github.com:evangoad/devenv.git ~/.devenv
pip3 install ~/.devenv
  • Generate help output to ensure devenv is installed:
devenv -h

About

A simple python script that installs dotfiles and dev tools using ansible roles. Supports Ubuntu and OSX.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors