tinymist/editors/neovim/Dockerfile
Myriad-Dreamin d0a478929e
Some checks are pending
tinymist::ci / build-vscode-others (push) Blocked by required conditions
tinymist::ci / publish-vscode (push) Blocked by required conditions
tinymist::ci / build-vsc-assets (push) Blocked by required conditions
tinymist::ci / build-vscode (push) Blocked by required conditions
tinymist::ci / Duplicate Actions Detection (push) Waiting to run
tinymist::ci / Check Clippy, Formatting, Completion, Documentation, and Tests (Linux) (push) Waiting to run
tinymist::ci / Check Minimum Rust version and Tests (Windows) (push) Waiting to run
tinymist::ci / E2E Tests (darwin-arm64 on macos-latest) (push) Blocked by required conditions
tinymist::ci / E2E Tests (linux-x64 on ubuntu-22.04) (push) Blocked by required conditions
tinymist::ci / E2E Tests (linux-x64 on ubuntu-latest) (push) Blocked by required conditions
tinymist::ci / E2E Tests (win32-x64 on windows-2019) (push) Blocked by required conditions
tinymist::ci / E2E Tests (win32-x64 on windows-latest) (push) Blocked by required conditions
tinymist::ci / prepare-build (push) Waiting to run
tinymist::ci / build-binary (push) Blocked by required conditions
tinymist::gh_pages / build-gh-pages (push) Waiting to run
fix: don't export on entry change and first filesystem sync (#1854)
* fix: make real onSave export conditions

* fix: remove fix

* feat: pass export tests

* fix: revert bootstrap changes

* feat: reduce num of exports

* fix: diag tests
2025-06-29 21:54:05 +08:00

49 lines
2 KiB
Docker

# Not for end users! This is a Dockerfile to develop the Neovim plugin it self.
# https://github.com/Julian/lean.nvim/tree/1b2752069d700a3e6c7953f5c117d49c134ec711/.devcontainer/lazyvim
FROM debian:12 AS builder
RUN apt-get update && apt-get install -y \
git \
file \
ninja-build gettext cmake unzip curl build-essential
RUN git clone --filter=blob:none --branch stable https://github.com/neovim/neovim && cd neovim && make CMAKE_BUILD_TYPE=RelWithDebInfo
USER root
RUN cd neovim/build && cpack -G DEB && dpkg -i nvim-linux-x86_64.deb
FROM myriaddreamin/tinymist:0.13.14 as tinymist
FROM debian:12
COPY --from=builder /neovim/build/nvim-linux-x86_64.deb /tmp/nvim-linux-x86_64.deb
RUN apt-get update && apt-get install -y curl git ripgrep build-essential unzip
RUN apt-get update && apt-get install -y python3
RUN apt-get install -y /tmp/nvim-linux-x86_64.deb \
&& rm /tmp/nvim-linux-x86_64.deb
RUN useradd --create-home --shell /bin/bash runner
USER runner
WORKDIR /home/runner
RUN for dependency in AndrewRadev/switch.vim andymass/vim-matchup neovim/nvim-lspconfig nvim-lua/plenary.nvim tomtom/tcomment_vim lewis6991/satellite.nvim; do git clone --quiet --filter=blob:none "https://github.com/$dependency" "packpath/$(basename $dependency)"; done
RUN for dependency in Julian/inanis.nvim; do git clone --quiet --filter=blob:none "https://github.com/$dependency" "packpath/$(basename $dependency)"; done
USER root
COPY --from=tinymist /usr/local/bin/tinymist /usr/local/bin/tinymist
USER runner
ENV XDG_CONFIG_HOME=/home/runner/.config
ENV XDG_DATA_HOME=/home/runner/.local/share
ENV XDG_STATE_HOME=/home/runner/.local/state
ENV XDG_CACHE_HOME=/home/runner/.cache
COPY init.lua $XDG_CONFIG_HOME/nvim/init.lua
COPY plugins/dev.lua $XDG_CONFIG_HOME/nvim/lua/plugins/dev.lua
COPY plugins/lsp-folding.lua $XDG_CONFIG_HOME/nvim/lua/plugins/lsp-folding.lua
COPY plugins/mason-workaround.lua $XDG_CONFIG_HOME/nvim/lua/plugins/mason-workaround.lua
COPY plugins/tinymist.lua $XDG_CONFIG_HOME/nvim/lua/others/tinymist.lua
# SHELL isn't supported by OCI images
ENTRYPOINT []