diff options
author | Cody Hiar <cody.hiar@investopedia.com> | 2016-07-27 12:08:38 -0600 |
---|---|---|
committer | Cody Hiar <cody.hiar@investopedia.com> | 2016-07-27 12:08:38 -0600 |
commit | ed9ada3dcfbb5e70105480d37dd5c99b7f83d5bb (patch) | |
tree | afff8df631a8aa2c55b6cc23f50c6e5f5d6d87db |
Initial commit of the working files.
-rw-r--r-- | Dockerfile | 38 | ||||
-rw-r--r-- | README.md | 43 |
2 files changed, 81 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..adc0d69 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +FROM ubuntu:14.04 +MAINTAINER Cody Hiar <codyfh@gmail.com> + +# Fix upstart errors +RUN dpkg-divert --local --rename --add /sbin/initctl +RUN ln -sf /bin/true /sbin/initctl + +# This prevents a bunch of errors during build +ENV DEBIAN_FRONTEND noninteractive + +# Avoid ERROR: invoke-rc.d: policy-rc.d denied execution of start. +RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d + +# Install packages +RUN apt-get update && apt-get install -y \ + software-properties-common \ + python-dev \ + python-pip \ + python3-dev \ + git \ + python3-pip + +# Install Neovim +RUN add-apt-repository ppa:neovim-ppa/unstable -y +RUN apt-get update && apt-get install -y \ + neovim + +# Install the neovim python plugins +RUN pip install neovim +RUN pip3 install neovim + +# Download my Neovim Repo +RUN git clone https://github.com/thornycrackers/.nvim.git /root/.config/nvim + +# Install neovim Modules +RUN nvim +PlugInstall +qa +RUN nvim +UpdateRemotePlugins +qa + diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ff8937 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Dockerized Neovim +Run neovim in a container and be cool like all the other cool kids. +I like to dockerize all my tools so I am making this repo to dockerize Neovim. + +# Step 1: Build the image +The first step is to build the the docker image. +I call mine thornycrackers/neovim so you will have to change that accordingly for the following steps +``` +$ docker build -t=thornycrackers/phpcs . +``` + +# Step 2: Run the image +Say you have a local file called 'test.php' and you are in the same directory as the file. +To open that file with the neovim container simply run the following +``` +$ docker run -i -t -v $(pwd):/src thornycrackers/neovim /bin/sh -c 'nvim /src/test.php' +``` +This will open up neovim and when you exit neovim it will exit the container. + +# Step 3: Make this command a little more useful +So using that command is awesome but a little cumbersome everytime you want to run it against a different file. +Create a file called 'phpcs' and make sure to give it executable permissions and place it somewhere in your $PATH. +Copy the following inside of the 'phpcs' executable file. + +``` +#!/bin/bash +# Command for running neovim + +if [[ "$1" = /* ]]; then + file_name="$(basename ${1})" + dir_name="$(dirname ${1})" +else + file_name="$1" + dir_name="$(pwd)" +fi + +# Run the docker command +docker run -i -t -P -v "$dir_name":/src thornycrackers/neovim /bin/sh -c "cd /src;nvim $file_name" +``` + +Now you can run neovim as if you would regularly. +The only gotcha I've deiscovered so far is that because you are mounting to the docker container you cannot go above the folder you open neovim in. +This is a pretty rare case in my trials of using this but it is something to note. |