let pkgs = (import { overlays = [ (import ) (self: super: { rosPackages = super.rosPackages // { noeticPython3 = super.rosPackages.noeticPython3.extend (rosSelf: rosSuper: { bson = rosSuper.pymongo; }); }; }) ]; }); in pkgs.mkShell { buildInputs = (with pkgs; [ nodejs # WebViz chromium # WebViz works best with chromium. bashInteractive # So that I still have a shell. ]) ++ (with pkgs.rosPackages.noetic; [ rosbash # rosrun and such rosbag # rosbag utils velodyne # velodyne drivers rosbridge-suite # To direct output to WebViz. ]) ++ (with pkgs.python3Packages; [ # rosbridge_websocket requires these pyopenssl ]); }