Startup Disk provides a simple interface to choose the startup volume on Apple Silicon Macs running Asahi Linux.
Basic functionality is implemented and works. While Startup Disk should be safe in normal operation, error checking is minimal to nonexistent. In particular, races and corruption are possible if multiple writers attempt to access the NVRAM at the same time -- do not run multiple copies of Startup Disk at the same time, and do not run Startup Disk concurrently with asahi-bless
, asahi-nvram
or other tools that access the NVRAM. If something goes very wrong, you might have to perform a DFU restore.
I'm mostly writing this as an excuse to teach myself Rust. While I'm striving to follow best practices, this is likely not the codebase you want to use for inspiration, at least at this stage.
Contributions and feedback via issues and MRs are always appreciated. Please follow the GNOME Code of Conduct when participating in project spaces.
Startup Disk is MIT licensed. See the LICENSE file for the full text of the license.
Startup Disk is a GUI around asahi-bless implemented with gtk-rs and libadwaita-rs. See the Cargo manifest for additional dependencies that Startup Disk relies on.
The application icon is a derived work of the Adwaita hard disk icon and the GNOME Settings icon; it was created using Inkscape and App Icon Preview; the latter was also used to create the Devel variant.