A Nix flake providing packages and overlays for the Gazebo simulator ecosystem.
This repository provides Nix packages for multiple Gazebo versions and their dependencies, making it easy to use Gazebo in NixOS or with the Nix package manager.
Supported versions:
- gz-sim (Harmonic) – Latest stable release ✅
- gz-sim (Fortress) – Previous LTS release ✅
- gazebo-classic – Legacy version (EOL, currently broken)
⚠️
# Launch a development shell with gz-sim
nix develop git+https://github.com/muellerbernd/gazebo-sim-overlay#default -c $SHELL
# Start the simulator
gz simAlternative physics or render engines:
gz sim --physics-engine gz-physics-bullet-plugin --render-engine ogre# Launch a development shell with gz-sim Fortress
nix develop git+https://github.com/muellerbernd/gazebo-sim-overlay#fortress -c $SHELL
# Start the simulator
gz sim
⚠️ Note: Gazebo Classic is EOL and currently broken in this overlay.
nix develop git+https://github.com/muellerbernd/gazebo-sim-overlay#classic -c $SHELL
gazeboAdd this flake as an input to your own flake.nix:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
gazebo-sim-overlay.url = "github:muellerbernd/gazebo-sim-overlay";
};
outputs = { self, nixpkgs, gazebo-sim-overlay }: {
# Apply the overlay
nixpkgs.overlays = [ gazebo-sim-overlay.overlays.default ];
};
}.
├── flake.nix # Flake definition and outputs
├── flake.lock # Locked dependencies
├── overlays/
│ └── default.nix # Overlay definition
├── pkgs/ # Package definitions
│ ├── default.nix # Package set
│ ├── gazebo-classic/ # Gazebo Classic (legacy)
│ ├── gazebo-sim/ # gz-sim packages
│ ├── ignition/ # Ignition libraries
│ ├── libdart/ # DART physics engine
│ ├── ogre/ # OGRE 1.x graphics engine
│ ├── ogre-next/ # OGRE 2.x (OGRE-Next)
│ └── sdformat/ # SDF format library
├── shell.nix # Legacy nix-shell support
├── treefmt.nix # Code formatting configuration
└── README.md
Development of this overlay is sporadic. For production use or more actively maintained alternatives, consider:
- gazebros2nix – Gazebo with ROS 2 integration
- nix-ros-overlay – Comprehensive ROS and Gazebo packages
Contributions are welcome! Please feel free to submit issues or pull requests.