52 lines
1.4 KiB
Docker
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
|