2023-06-05 19:01:12 +00:00
|
|
|
FROM registry.fedoraproject.org/fedora:38
|
2023-02-26 17:14:08 +00:00
|
|
|
|
2023-03-11 12:30:39 +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"
|
|
|
|
|
2023-05-01 19:25:58 +00:00
|
|
|
ENV PERL_DEVEL_PKGS="perl-App-cpanminus"
|
|
|
|
|
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 \
|
|
|
|
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 \
|
2023-05-01 19:25:58 +00:00
|
|
|
${GENERAL_PKGS} ${NEOVIM_PKGS} ${PYTHON_DEVEL_PKGS} ${PERL_DEVEL_PKGS} \
|
|
|
|
&& dnf clean all && \
|
|
|
|
cpanm PLS && \
|
|
|
|
pip install pynvim
|
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 +TSUpdateSync \
|
|
|
|
+"MasonInstall ${MASON_PKGS}" \
|
2023-03-14 18:06:38 +00:00
|
|
|
+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
|
|
|
|
2023-03-05 19:20:19 +00:00
|
|
|
RUN echo $'[ -f /usr/share/fzf/key-bindings.bash ] && source /usr/share/fzf/key-bindings.bash \n\
|
|
|
|
[ -f /usr/share/fzf/shell/key-bindings.bash ] && source /usr/share/fzf/shell/key-bindings.bash \n\
|
|
|
|
[ -f /usr/share/fzf/completion.bash ] && source /usr/share/fzf/completion.bash' >> /root/.bashrc
|
|
|
|
|
2023-02-26 17:14:08 +00:00
|
|
|
ENTRYPOINT [ "/usr/bin/nvim" ]
|