The problem I see with this is that even relatively simple projects, such as mbed-os-example-blinky will end up pulling the entire gigabyte of mbed-os source into each repository.
Nevermind the fact .gitignore s in those projects are set up to prevent the mbed-os from taking up repo space, it still leaves a lot of space on the local machine wasted due to identical duplicates. At the same time, my toolchains are set up the same for all projects (always the same compilers, flags and compiler standards) and if I make new targets, I’d like to keep them accessible from all my projects.
How do you guys resolve this? Is it possible to simply drop a symlink to a single copy of mbed-os on the drive (stored somewhere along with other SDKs, for example) and just use that instead?
Yes, it is possible to use symlinks. In upcoming Mbed Studio 1.2 release we are adding a symlink feature that will allow you to use a single copy of Mbed OS across all your programs in the workspace. More information about it here: Suggestions to reduce project size