41 lines
1.1 KiB
Docker
41 lines
1.1 KiB
Docker
FROM rockylinux:9.3
|
|
|
|
ARG VERSION="v0.9.5"
|
|
ARG NVIM="/nvim-linux64/bin/nvim"
|
|
|
|
RUN yum install -y wget git npm gcc go unzip
|
|
|
|
# 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 cp -r /nvim-linux64 /archive
|
|
RUN cp -r ~/.local/share/nvim /archive/localsharenvim
|
|
RUN cp -r ~/.config/nvim /archive/confignvim
|
|
|
|
# export everything
|
|
RUN mkdir /out
|
|
|
|
CMD tar -czf /out/nvim.tar.gz /archive
|