nvim/Containerfile

75 lines
1.6 KiB
Text
Raw Normal View History

2023-11-07 07:00:27 +00:00
FROM registry.fedoraproject.org/fedora:39
2023-02-26 17:14:08 +00:00
USER root
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 \
2023-02-28 20:33:55 +00:00
ShellCheck \
2023-02-26 17:14:08 +00:00
tree-sitter-cli \
wl-clipboard \
2023-02-27 19:57:20 +00:00
clang"
ENV GENERAL_PKGS="\
bash-completion \
2023-03-05 19:20:19 +00:00
procps \
fzf"
2023-02-27 19:57:20 +00:00
ENV PYTHON_DEVEL_PKGS="\
python3\
conda"
ENV BUILD_ONLY_PKGS="python3-devel"
2023-02-27 19:57:20 +00:00
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 \
phpcs \
phpstan \
pyright \
python-lsp-server \
sqlls \
typescript-language-server \
yaml-language-server \
2023-12-28 18:17:49 +00:00
markdownlint \
ansible-language-server"
2023-07-16 12:45:27 +00:00
ENV PIP_PKGS="pynvim ansible ansible-lint"
2023-02-27 19:57:20 +00:00
COPY . /root/.config/nvim
# install system dependencies
RUN dnf install -y \
2023-12-28 18:17:49 +00:00
${GENERAL_PKGS} ${NEOVIM_PKGS} ${PYTHON_DEVEL_PKGS} ${BUILD_ONLY_PKGS} && \
pip install ${PIP_PKGS} && \
dnf remove -y ${BUILD_ONLY_PKGS} && \
dnf -y autoremove && \
dnf clean all
2023-03-02 19:15:26 +00:00
RUN rm /root/.config/nvim/lazy-lock.json || true
2023-02-27 19:57:20 +00:00
# install lsp and linters using mason
RUN nvim --headless '+TSInstall all' \
2023-02-27 19:57:20 +00:00
+"MasonInstall ${MASON_PKGS}" \
+qa ; \
nvim --headless '+TSInstall all' \
+qa; \
chown -R root:root /root/.local/share/nvim/mason/packages/sqlls/node_modules/sql-language-server/
2023-02-26 17:14:08 +00:00
2024-01-12 09:44:25 +00:00
RUN echo '[ -f /usr/share/fzf/shell/key-bindings.bash ] && source /usr/share/fzf/shell/key-bindings.bash' >> /root/.bashrc
2023-03-05 19:20:19 +00:00
2023-02-26 17:14:08 +00:00
ENTRYPOINT [ "/usr/bin/nvim" ]