2023-02-26 17:14:08 +00:00
|
|
|
FROM registry.fedoraproject.org/fedora:37
|
|
|
|
|
2023-02-27 19:57:20 +00:00
|
|
|
ENV NEOVIM_PKGS="\
|
2023-02-26 17:14:08 +00:00
|
|
|
wget \
|
|
|
|
unzip \
|
|
|
|
git \
|
2023-02-27 19:57:20 +00:00
|
|
|
python3-pip \
|
2023-02-26 17:14:08 +00:00
|
|
|
neovim \
|
|
|
|
ripgrep \
|
|
|
|
fd-find \
|
|
|
|
npm \
|
|
|
|
tree-sitter-cli \
|
|
|
|
wl-clipboard \
|
2023-02-27 19:57:20 +00:00
|
|
|
clang"
|
|
|
|
|
|
|
|
ENV GENERAL_PKGS="\
|
|
|
|
bash-completion \
|
|
|
|
procps"
|
|
|
|
|
|
|
|
ENV PYTHON_DEVEL_PKGS="\
|
|
|
|
python3\
|
|
|
|
conda"
|
|
|
|
|
|
|
|
ENV MASON_PKGS=" \
|
2023-02-26 17:14:08 +00:00
|
|
|
bash-language-server \
|
|
|
|
css-lsp \
|
|
|
|
cssmodules-language-server \
|
|
|
|
dockerfile-language-server \
|
|
|
|
eslint-lsp \
|
|
|
|
html-lsp \
|
|
|
|
intelephense \
|
|
|
|
json-lsp \
|
|
|
|
lemminx \
|
|
|
|
lua-language-server \
|
|
|
|
marksman \
|
|
|
|
perlnavigator \
|
|
|
|
phpcs \
|
|
|
|
phpstan \
|
|
|
|
pyright \
|
|
|
|
python-lsp-server \
|
|
|
|
ruff-lsp \
|
|
|
|
sqlls \
|
|
|
|
typescript-language-server \
|
|
|
|
yaml-language-server \
|
2023-02-27 19:57:20 +00:00
|
|
|
markdownlint"
|
|
|
|
|
|
|
|
COPY . /root/.config/nvim
|
|
|
|
|
|
|
|
# install system dependencies
|
|
|
|
RUN dnf install -y \
|
|
|
|
${GENERAL_PKGS} ${NEOVIM_PKGS} ${PYTHON_DEVEL_PKGS} \
|
|
|
|
&& dnf clean all
|
|
|
|
RUN pip install pynvim
|
|
|
|
|
|
|
|
# install lsp and linters using mason
|
|
|
|
RUN nvim --headless +TSUpdateSync \
|
|
|
|
+"MasonInstall ${MASON_PKGS}" \
|
2023-02-26 17:14:08 +00:00
|
|
|
+qa || true
|
|
|
|
|
|
|
|
ENTRYPOINT [ "/usr/bin/nvim" ]
|