Files
clice/.devcontainer/Dockerfile
2025-03-29 23:22:39 +08:00

34 lines
1.2 KiB
Docker

# Use Ubuntu 24.04 as the base image
FROM ubuntu:24.04
ARG USER=devcontainer
# Update package lists and install essential tools
RUN apt update && \
apt install -y software-properties-common && \
add-apt-repository ppa:ubuntu-toolchain-r/test && \
apt update && \
apt install -y gcc-14 g++-14 libstdc++-14-dev && \
apt install -y cmake ninja-build python3 python3-pip git tmux vim curl wget sudo
# Install LLVM 20
RUN wget https://apt.llvm.org/llvm.sh && \
chmod +x llvm.sh && \
./llvm.sh 20 all
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 && \
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 && \
update-alternatives --set gcc /usr/bin/gcc-14 && \
update-alternatives --set g++ /usr/bin/g++-14
# Create a non-root user, set shell to bash, and add to sudo group
RUN useradd -m ${USER} -s /bin/bash && \
echo "${USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${USER}
RUN ln -s /usr/bin/lld-20 /usr/bin/lld && \
ln -s /usr/bin/clang-20 /usr/bin/clang && \
ln -s /usr/bin/clang++-20 /usr/bin/clang++ && \
ln -s /usr/bin/clangd-20 /usr/bin/clangd
# Set the default command
CMD ["/bin/bash"]