assert node.os == 'arch' defaults = { 'backups': { 'paths': { '/etc/netctl', }, }, 'icinga_options': { 'exclude_from_monitoring': True, }, '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 'dunst': {}, 'fish': {}, 'kitty': {}, 'libnotify': {}, # provides notify-send 'light': {}, 'redshift': {}, 'rofi': {}, # sound 'pavucontrol': {}, 'pulseaudio': {}, 'pulseaudio-zeroconf': {}, # window management 'i3-wm': {}, 'i3lock': {}, 'xss-lock': {}, # i3pystatus dependencies 'iw': {}, 'wireless_tools': {}, # Xorg 'xf86-input-libinput': {}, 'xorg-server': {}, 'xorg-setxkbmap': {}, 'xorg-xev': {}, 'xorg-xinput': {}, 'xorg-xset': {}, # all them apps 'browserpass': {}, 'browserpass-firefox': {}, 'firefox': {}, 'gimp': {}, 'maim': {}, 'mosh': {}, 'mpv': {}, 'pass': {}, 'pass-otp': {}, 'pdftk': {}, 'pwgen': {}, 'qpdfview': {}, 'the_silver_searcher': {}, 'tlp': {}, 'xclip': {}, 'xdotool': {}, # needed for maim window selection }, }, 'systemd-networkd': { 'enable-resolved': True, }, } @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, }, }