forked from the-nix-way/nix-flake-dev-environments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitpod.Dockerfile
37 lines (29 loc) · 1.2 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
# Borrowed from https://github.com/gitpod-io/template-nix/blob/23e258d392bee430e713638de148e566a90e2b00/.gitpod.Dockerfile
FROM gitpod/workspace-base
USER root
# Install Nix
RUN addgroup --system nixbld \
&& adduser gitpod nixbld \
&& for i in $(seq 1 30); do useradd -ms /bin/bash nixbld$i && adduser nixbld$i nixbld; done \
&& mkdir -m 0755 /nix && chown gitpod /nix \
&& mkdir -p /etc/nix && echo 'sandbox = false' > /etc/nix/nix.conf
# Install Nix
CMD /bin/bash -l
USER gitpod
ENV USER gitpod
WORKDIR /home/gitpod
RUN touch .bash_profile \
&& curl https://nixos.org/releases/nix/nix-2.7.0/install | sh
RUN echo '. /home/gitpod/.nix-profile/etc/profile.d/nix.sh' >> /home/gitpod/.bashrc
RUN mkdir -p /home/gitpod/.config/nixpkgs && echo '{ allowUnfree = true; }' >> /home/gitpod/.config/nixpkgs/config.nix
# Install cachix
RUN . /home/gitpod/.nix-profile/etc/profile.d/nix.sh \
&& nix-env -iA cachix -f https://cachix.org/api/v1/install \
&& cachix use cachix
# Install git
RUN . /home/gitpod/.nix-profile/etc/profile.d/nix.sh \
&& nix-env -i git git-lfs
# Install direnv
RUN . /home/gitpod/.nix-profile/etc/profile.d/nix.sh \
&& nix-env -i direnv \
&& direnv hook bash >> /home/gitpod/.bashrc