users = {
    'steam': {
        'home': '/opt/steam',
    },
}

directories = {
    '/opt/steam': {
        'owner': 'steam',
    },
    '/opt/steam/.steam': {
        'owner': 'steam',
    },
}

files = {
    '/opt/steam/steamcmd_linux.tar.gz': {
        'content_type': 'download',
        'source': 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz',
        'owner': 'steam',
    },
    '/opt/steam-workshop-downloader': {
        'content_type': 'download',
        'source': 'https://github.com/SegoCode/swd/releases/download/1.1/swd-linux-amd64',
        'owner': 'steam',
        'mode': '750',
    },
}

symlinks = {
    # /opt/steam/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
    '/opt/steam/.steam/sdk32': {
        'target': '/opt/steam/linux32',
    }
}

actions = {
    'extract_steamcmd': {
        'command': 'tar xfvz /opt/steam/steamcmd_linux.tar.gz --directory /opt/steam',
        'unless': 'test -f /opt/steam/steamcmd.sh',
        'needs': [
            'file:/opt/steam/steamcmd_linux.tar.gz',
        ],
    },
    'chown_steamcmd': {
        'command': 'chown -R steam /opt/steam',
        'triggered': True,
        'triggered_by': [
            'action:extract_steamcmd',
        ],
    },
}

svc_systemd['steam-update'] = {
    'running': False,
    'needs': {
        'file:/etc/systemd/system/steam-update.service',
    }
}