Breadway
Systems & desktop engineering

I make Linux desktop software.

BOS is an Arch-based Hyprland distro. bread is the daemon under it: Lua modules on udev, Hyprland, power, network, and Bluetooth. The other apps replace waybar, dunst, hyprlock, and so on. I also work on a self-play RL engine, some MCP servers, and firmware.

Rust Lua GTK4 & layer-shell Wayland C++ firmware
Oil painting of rustic loaves on crumpled paper.
Default BOS wallpaper

Work

BOS, bread, breadbar, and bos-settings.

BOS is the distro: Arch, Hyprland, a Calamares installer with native modules, greetd and breadlock on the seat, bread apps already configured.

bread turns udev, Hyprland, power, network, and Bluetooth into events and hands them to Lua modules you can reload without restarting. breadbar is the bar, notifications, and OSDs in one layer-shell process. No waybar, no dunst.

BOS Settings appearance panel: window gaps, blur, shadows, and a sidebar of system and bread-app pages.
bos-settings, the control panel
breadbar status bar with media title, clock, workspace, battery, and network.

The suite

12 Replacements for the usual Wayland extras.

Machine learning

Self-play in Rust. No Python trainer.
novacana self-play RL engine  /  model: Astra

A Rust workspace that trains an agent on a hidden-information card game by playing itself. Game simulator, data generation, training, and eval are all in-tree. Later versions drop PPO for an AlphaZero-style loop: MCTS visit counts as the policy target, and determinization to sample opponent hands.

Rust workspace MCTS + PUCT hand-written MLP self-play data gen burn / tch backends

Model Context Protocol

3 A printer, CAD, and the Wayland session, as tools.
klipper-mcp 3D printing

Full Klipper and Moonraker control surface, from basic moves to toolchanger sequencing, TMC register access, and print diagnostics.

github.com
mcp-3d-modeler CAD & mesh

CadQuery, Blender, trimesh, and OpenSCAD, each in its own subprocess, plus an inline multi-angle renderer.

desktop-control-mcp input & windows

Mouse, keyboard, and window control for a Wayland session, so an agent can drive the desktop.

Hardware & firmware

3 ESP32 laser tag and a Redox keyboard.
On-screen Redox split keyboard, layer 0 of 5, with colored modifier, layer, and hold keys.
redox-layout-viewer, live Vial layout over raw HID

About

I'm Breadway. I live in Geraldton, Western Australia. I daily-drive BOS and write most of it in Rust.

Source is on git.breadway.dev. Some of it is mirrored on GitHub.

Location
Geraldton, Western Australia
Stack
Rust, Lua, GTK4, C++