assert node.os == 'arch'

defaults = {
    'backups': {
        'paths': {
            '/etc/netctl',
        },
    },
    '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': {},
        },
    },
}

@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,
        },
    }
