We at Nervosys have been thinking about the ideal operating system (OS) for robotics for some time.
We think that NixOS with its powerful Nix system offers a close-to-ideal solution for building, deploying, and managing fleets of robotic systems. To take NixOS to the next step of being ideal for intelligent robotic systems, we have created Botnix (“Robot Linux” or “Robotics Linux”), an open-source operating system for robotics based on NixOS:
We encourage you all to join us in building the future of robotic general intelligence. We are building a free and open community dedicated to AI for robotics. Feel free to reach out here or through the Botnix Discord:
Thank you to the NixOS community for making this possible.
Hi Adam, I checked out the repo and I couldn’t find too much of botnix code. What I see is nixpkgs for with few changes mostly in Readme, logo and licenses. Are you just starting right now?
Hi Ivan, your observation is correct. Botnix has just begun. We wanted to make it open and invite users early on to involve everyone in the planning phase. That way we ensure that we are going in the right direction from a user and developer standpoint.
Could you explain your decision process between a full on nixpkgs fork (what you’ve currently done) vs. following mainline with maybe a few out-of-tree modules/packages (distributed e.g. as a flake)? I don’t see how the former can ever manage to stay up to date long term without duplicating a ton of effort from mainline nixpkgs development.
Then instead of full nixpkg fork, I suggest creating flake project where you use nixpkgs as the input and maintain only packages which you want to change or update.
That is an excellent question. We essentially want to be able to minimize and secure everything as much as possible, in addition to adding new packages for AI and robotics. Also, we want to build a separate sub-community focused on AI and robotics. We would very much still be a part of the NixOS ecosystem and events and would push changes to upstream where possible.
For sure, there is a tremendous amount of activity on NixOS. Just today, there have been well over 100 changes to upstream (i.e., nixpkgs master branch). Most of these I can merge without issue. Anything we don’t want git to track (e.g., desktop managers and apps) can simply go in our .gitignore file.
Again, it’s not just about the OS, but about building a highly focused community around AI and robotics. Having a separate sub-community of NixOS focused on Botnix may allow us to do that. For sure, Botnix will closely track NixOS and would not be possible without it. There may be software other than just the OS as times goes on, so it may not make sense to have the NixOS Foundation manage it.
As always though, we are a community driven effort and would love to hear what everyone thinks.
You obviously do you, but I think you’re setting yourselves up for failure by trying to maintain a fork - it’s an absolutely massively huge task to maintain.
You can still build a “highly focused community around AI and robotics” without forking anything.