diff options
| -rw-r--r-- | Dockerfile | 38 |
1 files changed, 33 insertions, 5 deletions
@@ -25,16 +25,43 @@ RUN apk add --no-cache wget \ openjdk17 \ gradle \ go \ - dotnet8-sdk \ - clang19-extra-tools \ + dotnet10-sdk \ + clang21-extra-tools \ nodejs \ - npm + npm \ + tree-sitter-cli \ + scdoc + +# install qbe +RUN git clone git://c9x.me/qbe.git && \ + cd qbe && \ + make PREFIX=/usr && \ + make PREFIX=/usr install && \ + cd .. && rm -rf qbe + +# install harec +RUN git clone https://git.sr.ht/~sircmpwn/harec && \ + cd harec && \ + cp configs/linux.mk config.mk && \ + make PREFIX=/usr && \ + make PREFIX=/usr install && \ + cd .. && rm -rf harec + +# install hare +RUN git clone https://git.sr.ht/~sircmpwn/hare && \ + cd hare && \ + cp configs/linux.mk config.mk && \ + make PREFIX=/usr && \ + make PREFIX=/usr install && \ + cd .. && rm -rf hare # pre-download lazy.nvim RUN git clone --filter=blob:none https://github.com/folke/lazy.nvim.git --branch=stable /root/.local/share/nvim/lazy/lazy.nvim # set up Rust -RUN rustup-init -y --default-toolchain none && /root/.cargo/bin/rustup toolchain install nightly --allow-downgrade --profile minimal --component rustfmt,rust-src,clippy,rust-analyzer && echo -e "[unstable]\ngc = true" > /root/.cargo/config.toml +RUN rustup-init -y --default-toolchain none && \ + /root/.cargo/bin/rustup toolchain install nightly --allow-downgrade --profile minimal --component rustfmt,rust-src,clippy,rust-analyzer && \ + echo -e "[unstable]\ngc = true" > /root/.cargo/config.toml # copy config files COPY .bashrc .bashrc @@ -47,6 +74,7 @@ RUN nvim --headless +"Lazy! sync" +qa; rm -rf /root/.cache # symlink the clangd executable, since it can't be installed with mason # also symlink rust-analyzer -RUN ln -sf /usr/bin/clangd /root/.local/share/nvim/mason/bin/clangd && ln -sf /root/.rustup/toolchains/nightly-x86_64-unknown-linux-musl/bin/rust-analyzer /root/.local/share/nvim/mason/bin/rust-analyzer +RUN ln -sf /usr/bin/clangd /root/.local/share/nvim/mason/bin/clangd && \ + ln -sf /root/.rustup/toolchains/nightly-x86_64-unknown-linux-musl/bin/rust-analyzer /root/.local/share/nvim/mason/bin/rust-analyzer ENTRYPOINT ["/bin/bash"] |
