Kaynağa Gözat

Fix #2: Perl integration

josh 3 yıl önce
ebeveyn
işleme
0f190e4c98
6 değiştirilmiş dosya ile 24 ekleme ve 30 silme
  1. 13 20
      base/Dockerfile
  2. 3 3
      base/build-init-user.sh
  3. 2 3
      base/build-install.sh
  4. 5 0
      base/start.sh
  5. 1 1
      base/zshrc
  6. 0 3
      docker-compose.yml

+ 13 - 20
base/Dockerfile

@@ -6,54 +6,45 @@ ARG DEVENV_EMAIL
 ARG DEVENV_LOCALE
 ARG DEVENV_PKGS
 
+ENV DEBIAN_FRONTEND=noninteractive
+
 ENV TZ=$DEVENV_TZ
 ENV DEVENV_USER=$DEVENV_USER
 ENV DEVENV_PASS=$DEVENV_PASS
 ENV DEVENV_EMAIL=$DEVENV_EMAIL
 ENV DEVENV_LOCALE=$DEVENV_LOCALE
 ENV DEVENV_PKGS=$DEVENV_PKGS
+ENV LANG=$DEVENV_LOCALE
+ENV NVIM_LISTEN_ADDRESS=/home/${DEVENV_USER}/nvimsocket
 
-ENV DEBIAN_FRONTEND=noninteractive
 
 COPY base/build-install.sh /build-install.sh
-RUN chmod +x /build-install.sh && /build-install.sh
+RUN /build-install.sh
 
 
 FROM devinstall AS devbase
-
 COPY base/build-root.sh /build-root.sh
-RUN chmod +x /build-root.sh && /build-root.sh
+RUN /build-root.sh
 
 
 FROM devbase AS devinit
-
-COPY base/build-init-user.sh /build-init-user.sh
-
 USER ${DEVENV_USER}
-
 WORKDIR /home/${DEVENV_USER}
-ENV LANG=en_US.UTF-8
-
-RUN cp /build-init-user.sh ./build-init-user.sh && chmod +x ./build-init-user.sh && ./build-init-user.sh
+RUN sudo chown -R ${DEVENV_USER}:${DEVENV_USER} /home/${DEVENV_USER}
+COPY base/build-init-user.sh /home/${DEVENV_USER}/build-init-user.sh
+RUN ./build-init-user.sh
 
 
 FROM devinit AS devenv
-
 USER ${DEVENV_USER}
 WORKDIR /home/${DEVENV_USER}
 
-ENV GOPATH=/home/${DEVENV_USER}/go
-ENV NVIM_LISTEN_ADDRESS=/home/${DEVENV_USER}/nvimsocket
-
 COPY dotfiles/setup.sh /home/${DEVENV_USER}/setup.sh
 COPY base/init.vim /home/${DEVENV_USER}/.config/nvim/init.vim
 COPY dotfiles/init.vim /home/${DEVENV_USER}/dotfiles/init.vim
-
 COPY base/build-home.sh /home/${DEVENV_USER}/build-home.sh
 
-RUN sudo chown -R ${DEVENV_USER}:${DEVENV_USER} /home/${DEVENV_USER} \
-  && chmod +x /home/${DEVENV_USER}/*.sh \
-  && /home/${DEVENV_USER}/build-home.sh 
+RUN /home/${DEVENV_USER}/build-home.sh
 
 COPY base/zshrc /home/${DEVENV_USER}/.zshrc
 COPY dotfiles/zshrc /home/${DEVENV_USER}/dotfiles/zshrc
@@ -61,5 +52,7 @@ COPY dotfiles/zshrc /home/${DEVENV_USER}/dotfiles/zshrc
 VOLUME /home/${DEVENV_USER}/.config
 VOLUME /home/${DEVENV_USER}/host
 
-ENTRYPOINT ["zsh", "-c", "nvim", "+cd ~/host"]
+COPY base/start.sh /home/${DEVENV_USER}/start.sh
+
+ENTRYPOINT ["/home/josh/start.sh"]
 

+ 3 - 3
base/build-init-user.sh

@@ -11,9 +11,9 @@ python3 -m pip install --upgrade pip
 pip3 install -U pynvim neovim-remote
 pip3 install 'python-language-server[all]'
 
-cpanm -n --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
-sudo cpanm -n MsgPack::Raw
-sudo cpanm -n Neovim::Ext
+cpanm -n --local-lib=/home/$DEVENV_USER/perl5 local::lib && eval $(perl -I /home/$DEVENV_USER/perl5/lib/perl5/ -Mlocal::lib)
+cpanm -n MsgPack::Raw
+cpanm -n Neovim::Ext
 
 mkdir -p ~/.config/nvim
 

+ 2 - 3
base/build-install.sh

@@ -17,16 +17,15 @@ dpkg-reconfigure locales
 ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 dpkg-reconfigure tzdata
 
-INSTALL_CMD="apt install --no-install-recommends -y zsh python2 python3 python3-pip ruby ruby-all-dev nodejs npm sudo curl perl git build-essential"
-$INSTALL_CMD
+apt install --no-install-recommends -y zsh python2 python3 python3-pip ruby ruby-all-dev nodejs npm sudo curl perl git build-essential
 
 gem install neovim
 
-
 npm install -g n
 npm install -g neovim
 
 curl -sfL https://cpanmin.us | perl - App::cpanminus
+cpanm --local-lib=/home/$DEVENV_USER/perl5 local::lib && eval $(perl -I /home/$DEVENV_USER/perl5/lib/perl5/ -Mlocal::lib)
 
 curl -s https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
 python2 get-pip.py

+ 5 - 0
base/start.sh

@@ -0,0 +1,5 @@
+#!/usr/bin/zsh
+
+source /home/josh/.zshrc
+nvim +cd ~/host
+

+ 1 - 1
base/zshrc

@@ -8,7 +8,7 @@ export VISUAL="$EDITOR"
 export PAGER="nvr --nostart --remote-silent - "
 export IDE="nvr --nostart --remote-tab-silent "
 
-# eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
+eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
 
 source /home/$DEVENV_USER/dotfiles/zshrc
 

+ 0 - 3
docker-compose.yml

@@ -17,6 +17,3 @@ services:
       - ${DEVENV_MOUNT_PATH}:/home/${DEVENV_USER}/host
     extra_hosts:
       - "host.docker.internal:host-gateway"
-    environment:
-      - DEVENV_USER=${DEVENV_USER}
-      - PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/home/$DEVENV_USER/perl5/bin"