There is a lot of documentation (by QMK itself) about how to use their tooling to flash systems. The problem one runs into is trying to do this from Linux directly (therefore no QMK Toolbox).
QMK is an extensive project but much of the documentation/tooling is so generic that finding out how to "do things by hand" requires a bit of digging (looking through QMK Toolbox to extract commands to manually flash a keyboard). It's possible to fully compile the firmware and flash a keyboard on Linux from the command line.
For example in order to flash a keebio iris (rev6) from (Alpine) Linux:
qmk setupto complain about all the missing tools for other keyboards that don't matter for this ONE keyboard
qmk json2c the.json > keyboards/keebio/iris/keymaps/enckse/keymap.cif the online configurator was used and the json was downloaded
qmk compile -kb keebio/iris/rev6 -km enckse
Now, at this point, it's probably easier to run
dfu-programmer against each half of the keyboard (remember to set it for flashing):
sudo dfu-programmer ATmega32U4 erase --force sudo dfu-programmer ATmega32U4 flash --force enckse.hex sudo dfu-programmer ATmega32U4 reset
Of course different keyboards will require different, specific tools but QMK itself is definitely trying to cover a LOT more than a single keyboard needs day-to-day