2022-02-12 13:06:53 +00:00
|
|
|
assert node.os == 'arch'
|
|
|
|
|
|
|
|
defaults = {
|
2022-02-12 17:08:04 +00:00
|
|
|
'backups': {
|
|
|
|
'paths': {
|
|
|
|
'/etc/netctl',
|
|
|
|
},
|
|
|
|
},
|
2022-02-12 13:06:53 +00:00
|
|
|
'pacman': {
|
|
|
|
'packages': {
|
|
|
|
# fonts
|
|
|
|
'fontconfig': {},
|
|
|
|
'ttf-dejavu': {
|
|
|
|
'needed_by': {
|
|
|
|
'pkg_pacman:sddm',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
# login management
|
|
|
|
'sddm': {},
|
|
|
|
|
|
|
|
# networking
|
|
|
|
'netctl': {},
|
|
|
|
'rfkill': {},
|
|
|
|
'wpa_supplicant': {},
|
|
|
|
'wpa_actiond': {},
|
|
|
|
|
|
|
|
# shell and other gui stuff
|
|
|
|
'fish': {},
|
|
|
|
'kitty': {},
|
|
|
|
'light': {},
|
|
|
|
'redshift': {},
|
|
|
|
'rofi': {},
|
|
|
|
|
|
|
|
# sound
|
|
|
|
'pavucontrol': {},
|
|
|
|
'pulseaudio': {},
|
|
|
|
'pulseaudio-zeroconf': {},
|
|
|
|
|
|
|
|
# window management
|
|
|
|
'i3-wm': {},
|
|
|
|
'i3lock': {},
|
|
|
|
'xss-lock': {},
|
|
|
|
|
|
|
|
# Xorg
|
|
|
|
'xf86-input-libinput': {},
|
|
|
|
'xorg-server': {},
|
|
|
|
'xorg-setxkbmap': {},
|
|
|
|
'xorg-xev': {},
|
|
|
|
'xorg-xinput': {},
|
|
|
|
'xorg-xset': {},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
2022-02-12 17:08:04 +00:00
|
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
|
|
'backups/paths',
|
|
|
|
)
|
|
|
|
def backup_every_user_home(metadata):
|
|
|
|
paths = set()
|
|
|
|
|
|
|
|
for user, config in metadata.get('users', {}).items():
|
|
|
|
if config.get('delete', False):
|
|
|
|
continue
|
|
|
|
|
|
|
|
paths.add(config.get('home', f'/home/{user}'))
|
|
|
|
|
|
|
|
return {
|
|
|
|
'backups': {
|
|
|
|
'paths': paths,
|
|
|
|
},
|
|
|
|
}
|