Orion-zhen commited on
Commit
e427048
·
verified ·
1 Parent(s): 7fe4fc9

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -0
Dockerfile ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM archlinux
2
+
3
+ # copy system config file
4
+ WORKDIR /root
5
+ COPY etc/ etc-tmp/
6
+ RUN cat /root/etc-tmp/pacman.conf >> /etc/pacman.conf
7
+ RUN cat /root/etc-tmp/makepkg.conf >> /etc/makepkg.conf
8
+
9
+ # install packages
10
+ RUN pacman -Syu base-devel ttyd git git-lfs pacman-contrib mold ccache yay pkgconf tree \
11
+ zssh lrzsz libsixel lsix \
12
+ cmake python-pip uv rust rust-src rust-analyzer go npm \
13
+ ttf-maplemono-nf-unhinted fish tmux fzf fd bat eza tldr zoxide starship atuin \
14
+ yazi genact tokei 7zip unzip unrar \
15
+ htop btop nvtop fastfetch \
16
+ neovim python-pynvim luarocks prettier tree-sitter-cli pyright ripgrep \
17
+ --noconfirm --overwrite '*'
18
+ RUN rm -rf /var/cache/pacman/pkg/ && rm -rf /var/lib/pacman/
19
+
20
+ # create non-root user
21
+ RUN useradd -m -u 1000 -s /bin/fish ${USERNAME:-orion}
22
+ RUN echo "${USERNAME:-orion} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
23
+ RUN groupadd -f sudo && usermod -aG sudo ${USERNAME:-orion}
24
+
25
+ # set paths
26
+ ENV HOME=/home/${USERNAME:-orion}
27
+ ENV PATH=${HOME}/.local/bin:${PATH}
28
+ ENV SHELL=/bin/fish
29
+
30
+ USER ${USERNAME:-orion}
31
+ WORKDIR ${HOME}
32
+ # copy user config files
33
+ COPY .config/ ${HOME}/.config/
34
+
35
+ CMD ["ttyd", "-p", "7860", "--writable", "-t", "'fontFamily=Maple Mono NF'", "-t", "enableZmodem=true", "-t", "enableSixel=true", "fish"]
36
+