diff --git a/dockerfiles/devenv.Dockerfile b/dockerfiles/devenv.Dockerfile
index 8d3dde864e2f281809f4a6573b32d244b5b6e3e2..46e5559d74e704a8178070fa4c30af204bcf7a0e 100644
--- a/dockerfiles/devenv.Dockerfile
+++ b/dockerfiles/devenv.Dockerfile
@@ -16,8 +16,9 @@ ENV LANG en_US.UTF-8
 ENV LANGUAGE en_US:en
 ENV LC_ALL en_US.UTF-8
 
-# Configure apt and install packages
-RUN apt-get update && apt-get -y install --no-install-recommends \
+# Configure apt and install ubuntu-base packages
+RUN apt-get update && \
+    apt-get -y install --no-install-recommends \
     apt-transport-https \
     ca-certificates \
     curl \
@@ -42,48 +43,29 @@ RUN apt-get update && apt-get -y install --no-install-recommends \
     nano \
     net-tools \
     openssh-client \
-    terminator \
     trash-cli \
     valgrind \
     xterm \
     wget \
     zsh
 
-RUN if [ "${ROS_DISTRO}" != "humble"  ]; \
-    then \
-    apt-get -y install \
-    ros-${ROS_DISTRO}-catkin \
-    ros-${ROS_DISTRO}-plotjuggler \
-    ros-${ROS_DISTRO}-plotjuggler-ros \
-    ros-${ROS_DISTRO}-rosmon \
-    ros-${ROS_DISTRO}-rqt-controller-manager \
-    ros-${ROS_DISTRO}-rqt-joint-trajectory-controller; \
-    fi
+# ZSH tools based on ubuntu version
+WORKDIR /tmp/srcs/
+COPY /extra_libs/* ./
 
-RUN if [ "${ROS_DISTRO}" = "noetic"  ]; \
-    then \
-    apt-get -y install \
-    ipython3 \
-    python-is-python3 \
-    python3-catkin-tools \
-    python3-click \
-    python3-numpy \
-    python3-osrf-pycommon \
-    python3-vcstool \
-    # clang
-    clangd liblldb-dev libllvm-ocaml-dev python3-clang; \
-    elif [ "${ROS_DISTRO}" = "melodic" ]; \
+RUN if [ "${ROS_DISTRO}" = "melodic"  ]; \
     then \
-    apt-get -y install \
-    ipython \
-    python-catkin-tools \
-    python-pip \
-    python-osrf-pycommon\
-    python-vcstool; \
+        dpkg -i *.deb; \
     else \
-    echo "Not supported version"; \
+        dpkg -i bat*.deb; \
+        dpkg -i lsd*.deb; \
+        dpkg -i ripgrep*.deb; \
     fi
 
+RUN rm -rf *
+
+RUN apt-get --reinstall install -y libnotify-bin notify-osd
+
 # Configure system to look for debian packages in the Artifactory repository
 COPY auth.conf /etc/apt/auth.conf.d/tecnalia.conf
 
@@ -105,146 +87,58 @@ RUN sh -c "echo 'yaml https://git.code.tecnalia.com/tecnalia_robotics-public/git
 #     containerd.io \
 #     docker-compose-plugin
 
-# Install pip3 and packages
-RUN apt-get install -y \
-    python3-pip \
-    && pip3 install sqlite_utils \
-    && pip3 install conan==1.59 \
-    && conan config set general.revisions_enabled=1 \
-    && conan profile new default --detect > /dev/null \
-    && conan profile update settings.compiler=gcc default
-
-# Install node for UIs
-RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash \
-    && apt-get install -y nodejs && npm -g install yarn
-
-# ROS 1 WS dependencies
-RUN if [ "${ROS_DISTRO}" != "humble"  ]; \
+# Install python - python3 packages based on ubuntu version
+RUN if [ "${ROS_DISTRO}" = "melodic"  ]; \
     then \
-    apt-get -y install \
-    cython \
-    libceres-dev \
-    libcomedi-dev \
-    libglfw3-dev \
-    libmodbus-dev \
-    python-numpy \
-    python3-mock \
-    socat \
-    ros-${ROS_DISTRO}-ackermann-msgs \
-    ros-${ROS_DISTRO}-amcl \
-    ros-${ROS_DISTRO}-cartesian-trajectory-controller \
-    ros-${ROS_DISTRO}-chomp-motion-planner \
-    ros-${ROS_DISTRO}-collada-urdf \
-    ros-${ROS_DISTRO}-effort-controllers \
-    ros-${ROS_DISTRO}-force-torque-sensor-controller \
-    ros-${ROS_DISTRO}-gmapping \
-    ros-${ROS_DISTRO}-hector-gazebo-plugins \
-    ros-${ROS_DISTRO}-hector-mapping \
-    ros-${ROS_DISTRO}-imu-complementary-filter \
-    ros-${ROS_DISTRO}-imu-tools \
-    ros-${ROS_DISTRO}-industrial-core \
-    ros-${ROS_DISTRO}-industrial-robot-simulator \
-    ros-${ROS_DISTRO}-industrial-robot-status-controller \
-    ros-${ROS_DISTRO}-industrial-robot-status-interface \
-    ros-${ROS_DISTRO}-interactive-marker-twist-server \
-    ros-${ROS_DISTRO}-joint-trajectory-controller \
-    ros-${ROS_DISTRO}-joy \
-    ros-${ROS_DISTRO}-lms1xx \
-    ros-${ROS_DISTRO}-map-server \
-    ros-${ROS_DISTRO}-mavros-msgs \
-    ros-${ROS_DISTRO}-move-base \
-    ros-${ROS_DISTRO}-moveit-commander \
-    ros-${ROS_DISTRO}-moveit-fake-controller-manager \
-    ros-${ROS_DISTRO}-moveit-planners-chomp \
-    ros-${ROS_DISTRO}-moveit-planners-ompl \
-    ros-${ROS_DISTRO}-moveit-resources \
-    ros-${ROS_DISTRO}-moveit-ros-benchmarks \
-    ros-${ROS_DISTRO}-moveit-ros-control-interface \
-    ros-${ROS_DISTRO}-moveit-ros-move-group \
-    ros-${ROS_DISTRO}-moveit-ros-planning-interface \
-    ros-${ROS_DISTRO}-moveit-ros-visualization \
-    ros-${ROS_DISTRO}-moveit-ros-warehouse \
-    ros-${ROS_DISTRO}-moveit-setup-assistant \
-    ros-${ROS_DISTRO}-moveit-simple-controller-manager \
-    ros-${ROS_DISTRO}-moveit-visual-tools \
-    ros-${ROS_DISTRO}-navigation \
-    ros-${ROS_DISTRO}-pass-through-controllers \
-    ros-${ROS_DISTRO}-pilz-industrial-motion \
-    ros-${ROS_DISTRO}-rc-visard \
-    ros-${ROS_DISTRO}-realsense2-camera \
-    ros-${ROS_DISTRO}-realsense2-description \
-    ros-${ROS_DISTRO}-robot-localization \
-    ros-${ROS_DISTRO}-ros-control \
-    ros-${ROS_DISTRO}-ros-control-boilerplate \
-    ros-${ROS_DISTRO}-ros-controllers \
-    ros-${ROS_DISTRO}-ros-industrial-cmake-boilerplate \
-    ros-${ROS_DISTRO}-rosbridge-server \
-    ros-${ROS_DISTRO}-scaled-joint-trajectory-controller \
-    ros-${ROS_DISTRO}-serial \
-    ros-${ROS_DISTRO}-spacenav-node \
-    ros-${ROS_DISTRO}-speed-scaling-interface \
-    ros-${ROS_DISTRO}-speed-scaling-state-controller \
-    ros-${ROS_DISTRO}-teb-local-planner \
-    ros-${ROS_DISTRO}-trac-ik-kinematics-plugin \
-    ros-${ROS_DISTRO}-twist-controller \
-    ros-${ROS_DISTRO}-twist-mux \
-    ros-${ROS_DISTRO}-ur-client-library \
-    ros-${ROS_DISTRO}-ur-msgs \
-    ros-${ROS_DISTRO}-usb-cam \
-    ros-${ROS_DISTRO}-velocity-controllers \
-    ros-${ROS_DISTRO}-warehouse-ros-mongo; \
-    # ROS2 Humble dpendencies
-    else \
-    apt-get -y install \
-    ros-${ROS_DISTRO}-moveit \
-    ros-${ROS_DISTRO}-ros2-control; \
+        apt-get update && \
+        apt-get -y install \
+        ipython \
+        python-catkin-tools \
+        python-pip \
+        python-osrf-pycommon\
+        python-vcstool; \
+    else\
+        apt-get update && \
+        apt-get -y install \
+        ipython3 \
+        python-is-python3 \
+        python3-click \
+        python3-numpy \
+        python3-osrf-pycommon \
+        python3-vcstool \
+        python3-pip \
+        # clang
+        clangd liblldb-dev libllvm-ocaml-dev python3-clang; \
     fi
 
-RUN if [ "${ROS_DISTRO}" = "noetic"  ]; \
-    then \
-    apt-get -y install \
-    ipython3 \
-    python-is-python3 \
-    python3-catkin-tools \
-    python3-click \
-    ros-${ROS_DISTRO}-libpcan \
-    python3-numpy \
-    python3-tk \
-    python3-osrf-pycommon; \
-    elif [ "${ROS_DISTRO}" = "melodic" ]; \
+# Install ROS 1 tools
+RUN if [ "${ROS_DISTRO}" != "humble"  ]; \
     then \
-    apt-get -y install \
-    ros-${ROS_DISTRO}-ar-track-alvar \
-    python-mock \
-    python-funcsigs \
-    python-sqlalchemy \
-    python3-rospkg-modules \
-    python3-yaml; \
-    else \
-    echo "Not supported version"; \
+        apt-get update && \
+        apt-get -y install \
+        ros-${ROS_DISTRO}-catkin \
+        ros-${ROS_DISTRO}-plotjuggler \
+        ros-${ROS_DISTRO}-plotjuggler-ros \
+        ros-${ROS_DISTRO}-rosmon \
+        ros-${ROS_DISTRO}-rqt-controller-manager \
+        ros-${ROS_DISTRO}-rqt-joint-trajectory-controller; \
     fi
 
-WORKDIR /tmp/srcs/
-COPY /extra_libs/* ./
+# Copy the requirements.txt file into the container
+WORKDIR /tmp/dependencies/
+COPY /ws_dependencies/* ./
 
-RUN if [ "${ROS_DISTRO}" = "noetic"  ]; \
-    then \
-    dpkg -i bat*.deb; \
-    dpkg -i lsd*.deb; \
-    dpkg -i ripgrep*.deb; \
-    elif [ "${ROS_DISTRO}" = "melodic"  ]; \
+# Install the packages listed in ${ROS_DISTRO}_requirements.txt
+RUN if [ -f "${ROS_DISTRO}_requirements.txt" ]; \
     then \
-    dpkg -i *.deb; \
-    else \
-    echo "Not supported version"; \
+        apt-get update && \
+        apt-get install -y $(cat ${ROS_DISTRO}_requirements.txt);\
     fi
 
 RUN rm -rf *
 
-RUN apt-get --reinstall install -y libnotify-bin notify-osd
-
 # Update this date to re-run the image final update
-LABEL image.date=24-08-2023
+LABEL image.date=17-10-2023
 
 # Update final image
 RUN apt-get update \