Files
offline-nvim/Dockerfile
2024-09-23 20:38:25 +03:00

52 lines
1.4 KiB
Docker

FROM rockylinux:9.3
ARG VERSION="v0.10.1"
ARG NVIM="/nvim-linux64/bin/nvim"
RUN yum install -y wget git npm gcc go unzip
# This part installs my dotfiles.
# If you want to do this with yours, you need to install your configuration files to ~/.config/nvim.
# You also need to make sure to sync your nvim packages, in this case, using lazy.
# downlad neovim binary
RUN wget "https://github.com/neovim/neovim/releases/download/${VERSION}/nvim-linux64.tar.gz"
RUN tar -xvf nvim-linux64.tar.gz
# clone and install dotfiles
RUN git clone https://git.kehilush.com/omri/dots
RUN mkdir -p ~/.config && cp -r dots/.config/nvim ~/.config
# download nvim packages
RUN $NVIM --headless -c 'Lazy sync' +q
# mason python
RUN $NVIM --headless -c "MasonInstall pyright mypy ruff debugpy" +q
# mason go
RUN $NVIM --headless -c "MasonInstall gopls delve gofumpt goimports-reviser golangci-lint" +q
# mason lua
RUN $NVIM --headless -c "MasonInstall stylua lua-language-server" +q
# mason random formatters
RUN $NVIM --headless -c "MasonInstall taplo yamlfmt rustfmt" +q
# archive everything
RUN mkdir /archive
RUN mkdir -p /archive/.local/share
RUN cp -r /nvim-linux64 /archive/.local/share
RUN cp -r ~/.local/share/nvim /archive/.local/share
RUN mkdir -p /archive/.config
RUN cp -r ~/.config/nvim /archive/.config
COPY install.sh /archive/install.sh
RUN chmod +x /archive/install.sh
# export everything
RUN mkdir /out
CMD tar -czf /out/nvim.tar.gz /archive