Add fedora 22 dev image
This commit is contained in:
parent
3b4051303e
commit
30b0a4fd70
|
@ -0,0 +1,39 @@
|
|||
FROM fedora:22
|
||||
|
||||
RUN dnf -y groupinstall "Development Tools" &&\
|
||||
dnf -y install tar zsh git python wget openssl-devel vim-enhanced tmux dtach cmake python-devel mercurial lua luarocks gcc-c++ xz clang-devel &&\
|
||||
useradd --create-home xena && \
|
||||
echo 'root:screencast' | chpasswd && \
|
||||
echo 'xena:user' | chpasswd && \
|
||||
chsh xena -s /bin/zsh
|
||||
|
||||
# Envvars!
|
||||
ENV HOME /home/xena
|
||||
ENV DOCKER YES
|
||||
ENV LANGUAGE en_US
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LC_CTYPE en_US.UTF-8
|
||||
|
||||
# To use Docker please pass the docker socket as a bind mount
|
||||
# Some of my servers still use docker 1.3.0
|
||||
RUN wget https://get.docker.com/builds/Linux/x86_64/docker-1.3.0 -O /usr/local/bin/docker && \
|
||||
chmod 555 /usr/local/bin/docker
|
||||
|
||||
# Golang compilers
|
||||
RUN cd /usr/local && wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz && \
|
||||
tar xf go1.4.2.linux-amd64.tar.gz && rm go1.4.2.linux-amd64.tar.gz
|
||||
|
||||
ADD setup.sh /opt/xena/setup.sh
|
||||
ADD ./vimplugins.lua /opt/xena/vimplugins.lua
|
||||
RUN chmod 777 /opt/xena/setup.sh &&\
|
||||
su xena "/opt/xena/setup.sh"
|
||||
|
||||
RUN dnf -y install dnf-plugins-core &&\
|
||||
yes | dnf copr enable xena/moonscript &&\
|
||||
dnf -y install lua-moonscript &&\
|
||||
yes | dnf copr enable avsej/nim &&\
|
||||
dnf -y install nim
|
||||
|
||||
USER xena
|
||||
CMD /bin/zsh
|
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
# Sanity check / setup
|
||||
cd /home/xena
|
||||
mkdir code ||:
|
||||
|
||||
# Clone dotiles
|
||||
git clone https://github.com/Xe/dotfiles code/dotfiles ||:
|
||||
|
||||
# setlink sets a symlink to my dotfiles repo for the correct file.
|
||||
function setlink
|
||||
{
|
||||
rm -rf $HOME/$1
|
||||
ln -s $HOME/code/dotfiles/$1 $HOME/$1
|
||||
}
|
||||
|
||||
# set links
|
||||
setlink .zshrc
|
||||
setlink .zsh
|
||||
setlink .vim
|
||||
setlink .vimrc
|
||||
setlink .gitconfig
|
||||
setlink .tmux.conf
|
||||
|
||||
export GOPATH=/home/xena/go
|
||||
export PATH=/usr/local/go/bin:$PATH
|
||||
|
||||
# Golang stuff
|
||||
(mkdir -p ~/go/{pkg,bin,src})
|
||||
go get github.com/mattn/todo
|
||||
go get github.com/motemen/ghq
|
||||
go get github.com/Xe/tools/license
|
||||
|
||||
# Setup vundle
|
||||
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
||||
|
||||
# Set up vim plugins
|
||||
cat ~/.vimrc | grep Plugin | cut -d"'" -f2 > ~/.plugins
|
||||
(cd ~/.vim/bundle && lua /opt/xena/vimplugins.lua ~/.plugins)
|
||||
|
||||
# Binary extensions for vim
|
||||
(cd ~/.vim/bundle/YouCompleteMe; ./install.sh --clang-completer)
|
||||
(cd ~/.vim/bundle/vimproc.vim; make)
|
||||
vim -T dumb +GoInstallBinaries +qall
|
||||
|
||||
echo "Set up!"
|
|
@ -0,0 +1,12 @@
|
|||
fin = io.open(arg[1], "r")
|
||||
|
||||
if fin == nil then
|
||||
error("Can't open " .. arg[1])
|
||||
end
|
||||
|
||||
for line in fin:lines() do
|
||||
os.execute("git clone https://github.com/" .. line)
|
||||
os.execute("cd " .. line:match(".+/(.+)") .. " && git submodule update --init --recursive && cd ..")
|
||||
end
|
||||
|
||||
fin:close()
|
Loading…
Reference in New Issue