Technical report regarding autonomy infrastructure for Fish ’n Ships
This is the Autonomy subteam's official report regarding current research and development operations for the 2024-2025 operating year. You can find the latest pre-built version of this report here. Officially released versions represent submitted reports, but updates may be issued after submission. These updates will be reflected in this repository, but the released version tags will never change.
Are you wondering why there is suddenly an infusion of Nix garbage in the Arcturus organization? Or perhaps you want to know what goes into developing the software for a completely autonomous boat and making sure it works with minimal testing and maximum theoretical insight. If that sounds like you, then you've come to the right place.
The particularly eager among you may want to contribute to this report or build it yourself (Gentoo style). The report itself is compiled in Typst using the Typix template to integrate Nix builds. Yes, we're using Nix again (this is getting increasingly common here in case you haven't noticed).
If you are an ardent believer in non-reproducible hacks, I'm sure you can build the source file with the Typst CLI. However, the way you should build it is to:
- Install Nix (no, you don't need to install NixOS, but you do need the Nix package manager)
- Clone this repository and open
src/
in a terminal - Run
nix develop; nix run .#watch
and editsrc/main.typ
- Your changes should be reflected in real time at
src/main.pdf
Alternatively, you can replace step 3 with nix develop; nix run .#build
for a one-time build of the current Typst source.
If you're wondering how to write a Typst file, take a look at the Typst documentation.
If you encounter build errors or need some obscure packages, fonts, etc. to be loaded into the development environment, take a look at the Typix documentation.
Feel free to open an issue if something is still amiss. Pull requests and questions about content are always welcome!
In case you're curious, this is what it looks like (for ros2run
on Nix):
Generated with nix-visualize.