Skip to content

Commit 706fa66

Browse files
author
Graham Greenfield
committed
Add doom emacs default configuration in dev environment.
1 parent 8ea2842 commit 706fa66

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

dev_env/Dockerfile

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
88
git \
99
nano \
1010
tig \
11-
tree \
1211
emacs \
1312
netcat \
1413
python3 \
@@ -23,8 +22,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2322
net-tools \
2423
&& rm -rf /var/lib/apt/lists/*
2524

26-
# 2) (Optional) Install Node.js LTS via official repo (instead of distro version)
27-
# Uncomment if you prefer a different Node.js version. For example:
25+
# 2) (Optional) Install Node.js LTS via official repo if you need a specific Node version
26+
# Uncomment if you prefer a different Node.js version:
2827
# RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
2928
# && apt-get install -y nodejs \
3029
# && rm -rf /var/lib/apt/lists/*
@@ -33,14 +32,27 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
3332
# See official docs: https://www.lunarvim.org/docs/installation
3433
RUN bash -c "$(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)"
3534

36-
# 4) Create non-root user for development
35+
# 4) Install Doom Emacs
36+
# See official docs: https://github.com/doomemacs/doomemacs
37+
RUN git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.emacs.d \
38+
&& ~/.emacs.d/bin/doom install --force
39+
40+
# 5) Create a non-root user for development
3741
RUN useradd -ms /bin/bash devuser
42+
43+
# 6) Switch to devuser
3844
USER devuser
3945
WORKDIR /home/devuser
4046

41-
# 5) Because LunarVim was installed as root, ensure lvim is accessible to devuser:
47+
# 7) Because LunarVim was installed as root, ensure lvim is accessible to devuser
4248
RUN ln -s /root/.local/bin/lvim /usr/local/bin/lvim || true
4349

44-
# 6) Add any extra steps or configuration here
50+
# 8) Provide a convenient symlink for doom as well (if needed)
51+
RUN ln -s /root/.emacs.d/bin/doom /usr/local/bin/doom || true
52+
53+
# 9) (Optional) You might want to move Doom’s config to devuser’s home directory
54+
# You can do something like:
55+
# RUN mkdir -p ~/.config/emacs && cp -r /root/.doom.d ~/.doom.d
56+
# Then run doom sync. But typically you might copy your own .doom.d config from your local dev machine.
4557

4658
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)