diff --git a/dockerfiles/DevenvMelodic.Dockerfile b/dockerfiles/DevenvMelodic.Dockerfile
index ff8f4ed5b695af6fd6def1fe103c0a7181d45378..ca70dd8a39caff62fb3bf0f6ac209acfc19d0780 100644
--- a/dockerfiles/DevenvMelodic.Dockerfile
+++ b/dockerfiles/DevenvMelodic.Dockerfile
@@ -52,7 +52,7 @@ RUN apt-get -y install --no-install-recommends \
 # Configure system to look for debian packages in the Artifactory repository
 ARG USER_API_KEY_ARTIFACTS_TECNALIA
 RUN sh -c "echo \
-	'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
+    'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
     >> /etc/apt/sources.list.d/tecnalia.list"
 
 # Import the key in order to be able to use the packages from the repository
@@ -126,8 +126,8 @@ RUN apt-get install -y \
     ros-melodic-abb-driver \
     libqd-dev \
     ros-melodic-swri-profiler \
-	ros-melodic-force-torque-sensor-controller \
-	ros-melodic-effort-controllers
+    ros-melodic-force-torque-sensor-controller \
+    ros-melodic-effort-controllers
 
 RUN apt-get install -y \
     libdouble-conversion-dev
@@ -206,6 +206,7 @@ RUN chmod a+x /ros_entrypoint.sh
 
 ENTRYPOINT ["/ros_entrypoint.sh"]
 CMD ["zsh"]
+ENV SHELL /usr/bin/zsh
 
 # Switch back to dialog for any ad-hoc use of apt-get
 ENV DEBIAN_FRONTEND=
diff --git a/dotfiles/ros.bash b/dotfiles/ros.bash
index 539f2297505aeadb8516d79489ae3cf95c686d95..3d343cf236c87c9ba03aaa87cb6b3465798feece 100644
--- a/dotfiles/ros.bash
+++ b/dotfiles/ros.bash
@@ -2,9 +2,9 @@
 # ROS
 ###################################################################
 
-export ROS_DISTRO=noetic
+if [ -z $ROS_DISTRO ]; then export ROS_DISTRO=noetic; fi
 
-ext=$(basename ${SHELL})
+if [ -z $SHELL ]; then echo "SHELL not set"; else ext=$(basename ${SHELL}); fi
 
 # Source rosmon
 function smon(){
@@ -27,18 +27,19 @@ function cbclean(){
 }
 
 function cib(){
-    catkin init && catkin config --extend /opt/ros/${ROS_DISTRO} && catkin build	
+    catkin init && catkin config --extend /opt/ros/${ROS_DISTRO} && catkin build
 }
 
 # If terminal starts in a ws, auto source it (useful for vscode)
 pwd_bck=${PWD}
 cropped=${PWD#${HOME}/ros/${ROS_DISTRO}/}
 WS_name=${cropped%%/*}
-WS_path=${HOME}/ros/${ROS_DISTRO}/${WS_name} 
+WS_path=${HOME}/ros/${ROS_DISTRO}/${WS_name}
 FILE=${WS_path}/devel/setup.${ext}
 if [[ -f $FILE ]]; then
-   cd ${WS_path}
-   source $FILE
-   smon
-   cd ${pwd_bck}
+  cd ${WS_path}
+  source $FILE
+  cd ${pwd_bck}
+else
+  source /opt/ros/${ROS_DISTRO}/setup.${ext}
 fi
diff --git a/dotfiles/system.bash b/dotfiles/system.bash
index 381988ff4871fc14b68602f2091272af25b8769f..50768e6bd7a22431925f4ca75d2e293b1931f26e 100644
--- a/dotfiles/system.bash
+++ b/dotfiles/system.bash
@@ -1,10 +1,19 @@
-# Directories
-alias ll='lsd -lh --group-dirs=first'
-alias la='lsd -a --group-dirs=first'
-alias l='lsd --group-dirs=first'
-alias lla='lsd -lha --group-dirs=first'
-alias ls='lsd --group-dirs=first'
-# Files
-alias cat='bat'
+
+if command -v lsd &> /dev/null
+then
+    # Directories
+    alias ll='lsd -lh --group-dirs=first'
+    alias la='lsd -a --group-dirs=first'
+    alias l='lsd --group-dirs=first'
+    alias lla='lsd -lha --group-dirs=first'
+    alias ls='lsd --group-dirs=first'
+fi
+
+if command -v bat &> /dev/null
+then
+    # Files
+    alias cat='bat'
+fi
+
 # Python
 alias ipy='ipython'
\ No newline at end of file