diff --git a/Dockerfile b/Dockerfile
index bfe09c7de71aeddf5f1b0efc5d1809d21203f85d..8f42d2dfbe9cc1ddb6280ed73a869daa3a6371ca 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,26 @@
 FROM debian:trixie
 
-ENV CARGO_HOME="$HOME/.cargo"
+ARG USERNAME=rustbuilder
+ARG USER_UID=1000
+ARG USER_GID=$USER_UID
 
-RUN apt update && \
-    apt install curl wget zip unzip rustup && \
+ARG RUST_VERSION=1.82
+
+RUN groupadd --gid $USER_GID $USERNAME \
+    && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME
+
+RUN apt-get update && \
+    apt-get install -y sudo curl wget zip unzip make build-essential clang rustup && \
     rm -rf /var/lib/apt/lists/*
 
-RUN rustup install stable -y && \
-    rustup default stable -y && \
+RUN echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME && \
+    chmod 0440 /etc/sudoers.d/$USERNAME
+
+USER $USERNAME
+
+RUN rustup install $RUST_VERSION && \
+    rustup default $RUST_VERSION && \
     rustup install nightly && \
-    cargo install junitify
\ No newline at end of file
+    cargo install cargo-binstall junitify cargo-nextest
+
+ENV PATH=$PATH:/home/$USERNAME/.cargo/bin
\ No newline at end of file