pmalmgren / dotfiles

Dotfiles & Docker Development Environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My Containerized Software Development Environment

All of my dotfiles, a Dockerfile, and a Makefile for building and running my development environment.

Running in Docker

The Makefile should take care of everything for you. It exposes the following arguments:

  • PERSISTENT_PATH - this is the full path of the directory on your machine (or cloud VM) that you want to mount into the Docker container
  • PERSISTENT_DIR - the directory, relative to USERNAME's home directory, to mount the PERSISTENT_PATH
  • USERNAME - the username and home directory to launch the development shell with
$ make run SSH_DIR=~/.ssh USERNAME=me PERSISTENT_PATH=$(cwd)/persistent

Some notes

I use tmux, zsh, and neovim for development, so this configuration is somewhat geared towards that. Also, nothing in here is really language specific (other than some Haskell plugins in neovim).

godot configuration

Check out godot which builds Docker images directly from Dotfile repositories.

username: godot
dotfile-directory: dotfiles
entrypoint: zsh
image-tag: peter-development

packages:
  - neovim
  - git
  - tmux
  - zsh
  - curl

# system-setup runs as root, define volumes etc.
system-setup:
  - VOLUME /home/$username/.ssh
  - VOLUME /home/$username/.credentials/
  - VOLUME /home/$username/persistent/
  - RUN chsh -s /usr/bin/zsh $username

# user-setup runs as the user defined above in username.
user-setup:
  - RUN curl -L http://install.ohmyz.sh | sh || true
  - RUN curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  - RUN git clone https://github.com/zsh-users/zsh-syntax-highlighting.git /home/$username/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
  - RUN rm .zshrc || true

About

Dotfiles & Docker Development Environment

License:MIT License


Languages

Language:Vim Script 66.6%Language:Dockerfile 22.1%Language:Makefile 7.6%Language:Shell 3.6%