local tasks = [
  { desc: 'Install sound theme packs', path: 'sound.yml' },
  { desc: 'Download nice wallpapers', path: 'wallpapers.yml' },
  { desc: 'Install Kvantum themes', path: 'kvantum.yml' },
  { desc: 'Install icon and cursor themes', path: 'icons.yml', tags: ['icons', 'cursors'] },
  { desc: 'Install GTK themes', path: 'gtk.yml' },
] + [
  {
    desc: std.format('Install %s font family', x),
    path: std.format('fonts/%s.yml', x),
    tags: [x, 'fonts'],
  }
  for x in ['iosevka', 'sarasa-gothic', 'bobbers']
];

std.manifestYamlDoc([
  {
    name: 'theme | ' + x.desc,
    import_tasks: x.path,
  }
  + if std.objectHas(x, 'tags') then
    { tags: x.tags }
  else
    {
      local s = std.split(x.path, '/'),
      tags: std.rstripChars(s[std.length(s) - 1], '.yml'),
    }
  for x in tasks
], quote_keys=false)
