-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.ubuntu
90 lines (76 loc) · 2.22 KB
/
Dockerfile.ubuntu
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
FROM ubuntu:latest
RUN apt-get update && apt-get install -yq \
sudo \
software-properties-common \
ninja-build \
build-essential \
iputils-ping \
man-db \
stow \
time \
multitail \
ssl-cert \
pkg-config \
libssh-dev \
locales \
gettext \
cmake \
zip \
unzip \
curl \
wget \
jq \
less \
htop \
lsof \
fish \
fzf \
fzy \
tmux \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* \
&& locale-gen en_US.UTF-8
RUN add-apt-repository -y ppa:git-core/ppa
RUN apt-get update && apt-get install -yq \
git git-lfs
RUN git lfs install --system --skip-repo
ENV TOOLS=/tmp/tools
RUN mkdir -p $TOOLS
WORKDIR $TOOLS
# install neovim
RUN git clone https://github.com/neovim/neovim \
&& cd neovim \
&& git checkout stable \
&& make install # CMAKE_INSTALL_PREFIX=$HOME/local/nvim \
&& rm -rf $TOOLS
RUN useradd -l -u 33333 -G sudo -md /home/gitpod -s /bin/bash -p gitpod gitpod
RUN chsh --shell /usr/bin/fish gitpod
RUN curl -LO https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep_13.0.0_amd64.deb \
&& sudo dpkg -i ripgrep_13.0.0_amd64.deb
RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes
# start installing dev tools with final user
USER gitpod
ENV HOME=/home/gitpod
WORKDIR $HOME
# ripgrep \
# fd-find \
# procs \
# du-dust \
# exa \
# bat \
# tree-sitter-cli \
# fnm \
# starship
RUN curl -fsSL https://fnm.vercel.app/install | bash
ENV PATH=$HOME/.local/share/fnm:$PATH
# configure fish
RUN mkdir -p $HOME/local/share/fonts \
&& cd $HOME/local/share/fonts \
&& curl -fLO https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/FiraMono/Regular/FiraMonoNerdFont-Regular.otf \
&& mkdir -p $HOME/.config/fish \
&& mkdir -p $HOME/.config/fish/conf.d/ \
&& mkdir -p $HOME/.config/fish/completions/ \
&& printf '%s\n' 'starship init fish | source' > $HOME/.config/fish/conf.d/starship.fish \
&& fnm install v20 && fnm default v20 \
# && fnm completions --shell=fish > $HOME/.config/fish/completions/fnm.fish \
&& printf '%s\n' 'fnm env --use-on-cd | source' > $HOME/.config/fish/conf.d/fnm.fish
ENV SHELL=/usr/bin/fish