{ description = "Robossembler Development Environments on Nix"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; ros-flake.url = "github:lopsided98/nix-ros-overlay"; }; outputs = { self, nixpkgs, ros-flake, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; ros = ros-flake.legacyPackages.${system}.rolling; in { devShells.ros = pkgs.mkShell { buildInputs = (with ros; [ ros2run rmw-fastrtps-dynamic-cpp ]); RMW_IMPLEMENTATION = "rmw_fastrtps_dynamic_cpp"; shellHook = '' export LD_LIBRARY_PATH=${(with pkgs; lib.makeLibraryPath [ libsodium ])} ''; }; devShells.blender = let bpy = pkgs.callPackage ./pkgs/bpy.nix { }; LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath ([ libxkbcommon ] ++ (with xorg; [ libX11 libXrender libXxf86vm libXfixes libXi ]) ); in pkgs.mkShell { packages = [ bpy ]; shellHook = '' export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${pkgs.stdenv.cc.cc.lib}/lib/:/run/opengl-driver/lib/ ''; }; } ); }