local task(obj) =
  {
    name: 'Install ' + obj.name,
    tags: obj.name,
    get_url: {
      url: obj.url,
      dest: '{{ xdg_dir.bin_home }}/' + obj.name,
      mode: '755',
      force: true,
    },
  };

local scripts = [
  { name: 'ani-cli', url: 'https://github.com/pystardust/ani-cli/raw/master/ani-cli' },
  { name: 'ytfzf', url: 'https://github.com/pystardust/ytfzf/raw/master/ytfzf' },
  { name: 'git-filter-repo', url: 'https://github.com/newren/git-filter-repo/raw/main/git-filter-repo' },
  { name: 'git-forgit', url: 'https://github.com/wfxr/forgit/raw/master/bin/git-forgit' },
  { name: 'pokeshell', url: 'https://github.com/acxz/pokeshell/raw/master/bin/pokeshell' },
  { name: 'containerd-rootless.sh', url: 'https://github.com/containerd/nerdctl/raw/main/extras/rootless/containerd-rootless.sh' },
  { name: 'httpstat', url: 'https://github.com/reorx/httpstat/raw/master/httpstat.py' },
];

std.manifestYamlDoc(
  [
    // The readlinkf function was moved to an external file
    // https://github.com/monesonn/doasedit/commit/40d5b8c92cc3e533ddadbda0464a89450534360a
    task({ name: '{{ item }}', url: 'https://github.com/stank042/doasedit/raw/main/{{ item }}' })
    + {
      name: 'Install doasedit + readlinkf_posix',
      tags: 'doasedit',
      loop: ['doasedit', 'readlinkf_posix'],
    },
  ]
  + [task(x) for x in scripts],
  quote_keys=false
)
