Add some development dockerfiles

This commit is contained in:
Cadey Ratio 2016-03-21 21:34:22 -07:00
parent 4ad2294060
commit 51a99c359b
7 changed files with 89 additions and 0 deletions

17
dev/dotfiles/build.sh Normal file
View File

@ -0,0 +1,17 @@
#!/bin/bash
images="haskell lisp nim"
base="docker.io/xena/dotfiles"
docker pull $base
for image in $images
do
(
docker rmi $base"-"$image
docker build -t $base"-"$image $image
docker push $base"-"$image
)
done
wait

View File

@ -0,0 +1,11 @@
FROM docker.io/xena/dotfiles
ADD https://s3.amazonaws.com/download.fpcomplete.com/fedora/23/fpco.repo /etc/yum.repos.d
USER root
RUN dnf -y install stack
USER xena
RUN stack setup
CMD fish -l

View File

@ -0,0 +1,13 @@
FROM docker.io/xena/dotfiles
USER root
RUN dnf -y install sbcl
USER xena
WORKDIR /home/xena
RUN (mkdir dl || true)
ADD ./setup.lisp dl/setup_quicklisp.lisp
ADD ./sbclrc /home/xena/.sbclrc
RUN wget https://beta.quicklisp.org/quicklisp.lisp -O dl/quicklisp.lisp && \
sbcl --load dl/quicklisp.lisp < dl/setup_quicklisp.lisp

6
dev/dotfiles/lisp/sbclrc Normal file
View File

@ -0,0 +1,6 @@
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))

View File

@ -0,0 +1 @@
(quicklisp-quickstart:install)

View File

@ -0,0 +1,5 @@
FROM docker.io/xena/dotfiles
ADD ./setup.sh /opt/xena/setup_nim.sh
RUN /opt/xena/setup_nim.sh

36
dev/dotfiles/nim/setup.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/bash
cd $HOME
mkdir prefix
cd prefix
wget http://nim-lang.org/download/nim-0.13.0.tar.xz
tar xf nim-0.13.0.tar.xz
(
cd nim-0.13.0
./build.sh
)
ln -s nim-0.13.0 nim
PATH=$PATH:$HOME/prefix/nim/bin
mkdir -p $HOME/tmp
cd $HOME/tmp
(
git clone https://github.com/nim-lang/nimble.git
cd nimble
git clone -b v0.13.0 --depth 1 https://github.com/nim-lang/nim vendor/nim
nim -d:release c -r src/nimble install
)
rm -rf nimble
PATH=$PATH:$HOME/.nimble/bin
nimble refresh
nimble install nimsuggest
nimble install c2nim