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:
- vim the editor
- zsh the shell, with antigen
- tmux the multiplexer, with tpm
- ag
- fzf
- keychain
- netcat
- node
- tree
- vtop
- z
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:
use it to update all of your multiplexer configuration:
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:
.vimrc
goes in the editor’s files directory.tmux.conf
goes in the mux’s files directory..gitconfig
,.zshrc
, and.profile
go in the shell’s files directory.
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