Peter Dave Hello
8 years ago
committed by
Jordan Harband
3 changed files with 153 additions and 0 deletions
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
HEAD |
||||
.cache |
||||
v* |
||||
alias |
||||
|
||||
# For testing |
||||
test/bak |
||||
.urchin.log |
||||
.urchin_stdout |
||||
test/**/test_output |
||||
|
||||
node_modules/ |
||||
npm-debug.log |
||||
|
||||
.DS_Store |
||||
current |
||||
|
@ -0,0 +1,105 @@
@@ -0,0 +1,105 @@
|
||||
# Dockerized nvm development environment |
||||
# |
||||
# This Dockerfile is for building nvm development environment only, |
||||
# not for any distribution/production usage. |
||||
# |
||||
# Please note that it'll use about 1.2 GB disk space and about 15 minutes to |
||||
# build this image, it depends on your hardware. |
||||
|
||||
# Use Ubuntu Trusty Tahr as base image as we're using on Travis CI |
||||
# I also tested with Ubuntu 16.04, should be good with it! |
||||
From ubuntu:14.04 |
||||
MAINTAINER Peter Dave Hello <hsu@peterdavehello.org> |
||||
|
||||
# Prevent dialog during apt install |
||||
ENV DEBIAN_FRONTEND noninteractive |
||||
|
||||
# Pick a Ubuntu apt mirror site for better speed |
||||
# ref: https://launchpad.net/ubuntu/+archivemirrors |
||||
ENV UBUNTU_APT_SITE ubuntu.cs.utah.edu |
||||
|
||||
# Disable src package source |
||||
RUN sed -i 's/^deb-src\ /\#deb-src\ /g' /etc/apt/sources.list |
||||
|
||||
# Replace origin apt pacakge site with the mirror site |
||||
RUN sed -E -i "s/([a-z]+.)?archive.ubuntu.com/$UBUNTU_APT_SITE/g" /etc/apt/sources.list |
||||
RUN sed -i "s/security.ubuntu.com/$UBUNTU_APT_SITE/g" /etc/apt/sources.list |
||||
|
||||
# Install apt packages |
||||
RUN apt update && \ |
||||
apt upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" && \ |
||||
apt install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \ |
||||
coreutils \ |
||||
util-linux \ |
||||
bsdutils \ |
||||
file \ |
||||
openssl \ |
||||
ca-certificates \ |
||||
ssh \ |
||||
wget \ |
||||
patch \ |
||||
sudo \ |
||||
htop \ |
||||
dstat \ |
||||
vim \ |
||||
tmux \ |
||||
curl \ |
||||
git \ |
||||
jq \ |
||||
realpath \ |
||||
zsh \ |
||||
ksh \ |
||||
ghc \ |
||||
gcc-4.8 \ |
||||
g++-4.8 \ |
||||
cabal-install \ |
||||
build-essential \ |
||||
bash-completion && \ |
||||
apt-get clean |
||||
|
||||
# Set locale |
||||
RUN locale-gen en_US.UTF-8 |
||||
|
||||
# Print tool versions |
||||
RUN bash --version | head -n 1 |
||||
RUN zsh --version |
||||
RUN ksh --version || true |
||||
RUN dpkg -s dash | grep ^Version | awk '{print $2}' |
||||
RUN git --version |
||||
RUN curl --version |
||||
RUN wget --version |
||||
RUN cabal --version |
||||
|
||||
# Add user "nvm" as non-root user |
||||
RUN useradd -ms /bin/bash nvm |
||||
|
||||
# Set sudoer for "nvm" |
||||
RUN echo 'nvm ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers |
||||
|
||||
# Switch to user "nvm" from now |
||||
USER nvm |
||||
|
||||
# Shellcheck |
||||
RUN cabal update |
||||
RUN cabal install ShellCheck |
||||
RUN ~/.cabal/bin/shellcheck --version |
||||
RUN echo 'export PATH="~/.cabal/bin/:${PATH}"' >> $HOME/.bashrc |
||||
|
||||
# nvm |
||||
COPY . /home/nvm/.nvm/ |
||||
RUN sudo chown nvm:nvm -R $HOME/.nvm |
||||
RUN echo 'export NVM_DIR="$HOME/.nvm"' >> $HOME/.bashrc |
||||
RUN echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> $HOME/.bashrc |
||||
RUN echo '[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion' >> $HOME/.bashrc |
||||
|
||||
# nodejs and tools |
||||
RUN bash -c 'source $HOME/.nvm/nvm.sh && \ |
||||
nvm install node && \ |
||||
npm install -g doctoc urchin && \ |
||||
npm install --prefix "$HOME/.nvm/"' |
||||
|
||||
# Set WORKDIR to nvm directory |
||||
WORKDIR /home/nvm/.nvm |
||||
|
||||
ENTRYPOINT /bin/bash |
||||
|
Loading…
Reference in new issue