{ inputs = { nix-ros-overlay.url = "github:lopsided98/nix-ros-overlay/master"; nixpkgs.follows = "nix-ros-overlay/nixpkgs"; }; outputs = { self, nix-ros-overlay, nixpkgs, }: nix-ros-overlay.inputs.flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; overlays = [ nix-ros-overlay.overlays.default ]; }; in { devShells.default = pkgs.mkShell { name = "Project Robotoid"; packages = [ pkgs.colcon pkgs.llvmPackages_20.clang-tools ( with pkgs.rosPackages.jazzy; buildEnv { paths = [ # Dependencies from package.xml files desktop ament-cmake-core python-cmake-module ament-lint-auto ament-lint-common behaviortree-cpp controller-manager diff-drive-controller geometry-msgs hardware-interface joint-state-broadcaster launch launch-ros pkgs.glm pkgs.jsoncpp.dev pkgs.i2c-tools pluginlib rclcpp rclcpp-action rclcpp-components rclcpp-lifecycle robot-state-publisher ros2-control ros2launch rosidl-default-generators rosidl-default-runtime sensor-msgs std-msgs std-srvs tf2 tf2-geometry-msgs tf2-ros visualization-msgs ]; } ) ]; }; } ); nixConfig = { extra-substituters = [ "https://attic.iid.ciirc.cvut.cz/ros" ]; extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ]; }; }