-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitpod.Dockerfile
77 lines (60 loc) · 2.83 KB
/
.gitpod.Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
FROM gitpod/workspace-base:latest
# hashicorp packer
RUN curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
RUN sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
# docker
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
RUN sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
RUN sudo apt-get update \
&& sudo apt-get install -y gnupg software-properties-common curl git dirmngr gpg gawk \
linux-headers-$(uname -r) build-essential procps file libreadline-dev zlib1g-dev \
packer \
zsh \
httpie \
docker-ce docker-ce-cli containerd.io \
&& sudo rm -rf /var/lib/apt/lists/*
# docker
USER root
RUN curl -o /usr/bin/slirp4netns -fsSL https://github.com/rootless-containers/slirp4netns/releases/download/v1.1.12/slirp4netns-$(uname -m) \
&& chmod +x /usr/bin/slirp4netns
RUN curl -o /usr/local/bin/docker-compose -fsSL https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 \
&& chmod +x /usr/local/bin/docker-compose
USER gitpod
# homebrew
# ENV TRIGGER_BREW_REBUILD=2
# RUN mkdir ~/.cache && /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# ENV PATH=$PATH:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin/
# ENV MANPATH="$MANPATH:/home/linuxbrew/.linuxbrew/share/man"
# ENV INFOPATH="$INFOPATH:/home/linuxbrew/.linuxbrew/share/info"
# ENV HOMEBREW_NO_AUTO_UPDATE=1
# RUN sudo apt remove -y cmake \
# && brew install cmake
# RUN echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> $HOME/.bashrc.d/homebrew.sh
# hygen
# RUN bash -ic "brew tap jondot/tap"
# RUN bash -ic "brew install hygen"
RUN git clone https://github.com/asdf-vm/asdf.git $HOME/.asdf --branch v0.8.1
RUN echo ". $HOME/.asdf/asdf.sh" >> $HOME/.bashrc.d/asdf.sh
RUN echo ". $HOME/.asdf/completions/asdf.bash" >> $HOME/.bashrc.d/asdf.sh
ENV BUMP_TO_FORCE_GITPOD_UPDATE=4
COPY .tool-versions $HOME/
COPY install-asdf-plugins.sh $HOME/
RUN ./install-asdf-plugins.sh
RUN bash -c ". $HOME/.bashrc.d/asdf.sh && asdf install"
# vscode go extension dependencies
RUN bash -ic "go get -v golang.org/x/tools/gopls"
RUN bash -ic "go get github.com/uudashr/gopkgs/v2/cmd/gopkgs"
RUN bash -ic "go get github.com/ramya-rao-a/go-outline"
RUN bash -ic "go get github.com/go-delve/delve/cmd/dlv@master"
RUN bash -ic "go get honnef.co/go/tools/cmd/staticcheck"
# hygen
RUN bash -ic "npm i -g hygen"
# yarn
RUN bash -ic "npm install --global yarn"
# ZSH
ENV ZSH_THEME cloud
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
# install ansible
#RUN bash -ic "python -m pip install --user ansible"
#RUN bash -ic "python -m pip install --user paramiko"
CMD [ "zsh" ]