52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
defaults = {
|
|
'apt': {
|
|
'packages': {
|
|
'lib32gcc-s1': {},
|
|
'unzip': {},
|
|
},
|
|
},
|
|
'steam': {
|
|
'games': {
|
|
'left4dead2': 222860,
|
|
},
|
|
},
|
|
'zfs': {
|
|
'datasets': {
|
|
'tank/steam': {
|
|
'mountpoint': '/opt/steam',
|
|
'backup': False,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'systemd/units',
|
|
)
|
|
def initial_unit(metadata):
|
|
return {
|
|
'systemd': {
|
|
'units': {
|
|
'steam-update.service': {
|
|
'Unit': {
|
|
'Description': 'steam: install and update games',
|
|
'After': 'network-online.target',
|
|
},
|
|
'Service': {
|
|
'Type': 'oneshot',
|
|
'User': 'steam',
|
|
'Group': 'steam',
|
|
'WorkingDirectory': '/opt/steam',
|
|
'ExecStart': {
|
|
f'/opt/steam/steam/steamcmd.sh +force_install_dir /opt/steam/{game} +login anonymous +app_update {id} validate +quit'
|
|
for game, id in metadata.get('steam/games').items()
|
|
}
|
|
},
|
|
'Install': {
|
|
'WantedBy': {'multi-user.target'},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|