Had same question and your reply was exactly what I needed. However,
some of the changes I made do not appear in the gcode file generated by
CURA. For example, I inserted following entries in the
"machine_start_gcode" line following the "M107 ;start with the fan off\n" entry:
"G28 ;home\nG29 ;run auto bed level\n"
Nothing major, just wanted to run G29 as a final check of the bed position
before printing. I copied the "Prusa i3" .json file, made the above mentioned
changes and renamed the copy "Prusa i3 MOD".
I saved this in the "machines" folder and then started CURA. I selected "Prusa i3 MOD"
as my printer and saved the "sliced" file to an SD card for my printer. In reviewing
the file, the "G28" code was inserted but the "G29" code was not. I manually entered
the "G29" code in the file on the SD card and printed the object. It worked as
designed. Why would CURA omit the "G29" entry from the gcode file it created even
though it was in the "machine_start_gcode" ?