diff --git a/containers/base/Containerfile b/containers/base/Containerfile index 59ff2d0..379e001 100644 --- a/containers/base/Containerfile +++ b/containers/base/Containerfile @@ -7,7 +7,7 @@ RUN --mount=type=cache,id=dnf-cache,target=/var/cache/libdnf5 \ procps ping bash-completion glibc-langpack-en openssl-devel \ host-spawn dbus-launch \ git pnpm helix zip rsync \ - dotnet-sdk-9.0 dotnet-sdk-10.0 go + dotnet-sdk-10.0 # === setup user === RUN useradd -ms /bin/bash user && \ @@ -19,8 +19,8 @@ RUN ln -s /usr/local/bin/host /usr/local/bin/podman # === root language servers === COPY install-roslyn.sh /tmp/install-roslyn.sh -RUN chmod +x /tmp/install-roslyn.sh && /tmp/install-roslyn.sh -RUN go install golang.org/x/tools/gopls@latest +RUN chmod +x /tmp/install-roslyn.sh && /tmp/install-roslyn.sh && rm /tmp/omnisharp.tar.gz && rm /tmp/install-roslyn.sh +# RUN go install golang.org/x/tools/gopls@latest USER user WORKDIR /home/user @@ -32,18 +32,22 @@ COPY --chown=user:user config/helix/ .config/helix/ COPY config/bin /usr/local/bin # === Setup PNPM & install language servers, tools === -RUN /bin/bash -c "SHELL=/bin/bash pnpm setup && . /home/user/.bashrc && pnpm i -g deno bash-language-server vscode-langservers-extracted dockerfile-language-server-nodejs \ +RUN /bin/bash -c ". /home/user/.bashrc && pnpm setup && pnpm i -g deno bash-language-server vscode-langservers-extracted dockerfile-language-server-nodejs \ typescript typescript-language-server" -RUN dotnet tool install --global dotnet-ef -RUN echo 'export PATH="$PATH:/home/user/.dotnet/tools:/home/user/.cargo/env"' >> /home/user/.bashrc +RUN dotnet tool install --global dotnet-ef && \ + echo 'export PATH="$PATH:/home/user/.dotnet/tools:/home/user/.cargo/env"' >> /home/user/.bashrc -# === Rust toolchain === +# === Rust, WASM toolchain === RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -RUN . /home/user/.bashrc && rustup component add rust-analyzer +RUN . /home/user/.bashrc && rustup component add rust-analyzer && \ + curl https://drager.github.io/wasm-pack/installer/init.sh -sSf | sh && \ + cargo install cargo-generate && \ + cargo install cargo-expand -# WASM toolchain -RUN . /home/user/.bashrc && curl https://drager.github.io/wasm-pack/installer/init.sh -sSf | sh -RUN . /home/user/.bashrc && cargo install cargo-generate +# === Cleanup build dependencies === +USER root +RUN dnf remove -y openssl-devel && dnf clean all +USER user VOLUME /home/user