{% set common = salt['grains.filter_by']({ 'Debian': { 'packages': [ 'vim' ] }, 'RedHat': { 'packages': [ 'vim-enhanced' ] }, }) %} {% set defaults = { 'packages': [ 'iftop' ] } %} {# deep merge #} {% for key in defaults.keys() %} {% do common[key].extend(defaults[key]) %} {% endfor %}