The simplest clean way to add your board using an existing coreusing an existing core is to add the variant to your sketches folder's hardware subfolder. Only boards.txt and files for the board variant are added.
In your sketches folder create a 'hardware' folder. In this folder create a folder with the name of your boards package and a subfolder with the architecture name and a subfolder for variant and a name of the variant. for example hardware/my_boards/samd/variants/samc21x
In your variant folder (variants/samc21x) put the files for your variant based on variant files of the closet variant in the referenced hardware package. In your case perhaps a mkrzero would be a good example.
In your package's root (hardware/my_boards/samd/) add boards.txt file with entries for your board.
For boards.txt take the options for a similar board in referenced package. Change the names and settings and prefixprefix build.core value with the name of the vendor of the referenced package. For arduino/samd it would be arduino:. For example samc21x.build.core=arduino:arduino
My custom and customized boards definitions https://github.com/jandrassy/my_boards