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-03-10 19:59:55 +00:00
|
|
|
'icinga_options': {
|
|
|
|
'exclude_from_monitoring': True,
|
|
|
|
},
|
2024-01-03 11:59:21 +00:00
|
|
|
'nftables': {
|
|
|
|
'input': {
|
|
|
|
'50-avahi': {
|
|
|
|
'udp dport 5353 accept',
|
|
|
|
'udp sport 5353 accept',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
2022-02-12 13:06:53 +00:00
|
|
|
'pacman': {
|
|
|
|
'packages': {
|
|
|
|
# fonts
|
|
|
|
'fontconfig': {},
|
|
|
|
'ttf-dejavu': {
|
|
|
|
'needed_by': {
|
|
|
|
'pkg_pacman:sddm',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
# login management
|
|
|
|
'sddm': {},
|
|
|
|
|
|
|
|
# networking
|
2024-01-03 11:59:21 +00:00
|
|
|
'avahi': {},
|
2022-02-12 13:06:53 +00:00
|
|
|
'netctl': {},
|
|
|
|
'rfkill': {},
|
|
|
|
'wpa_supplicant': {},
|
|
|
|
'wpa_actiond': {},
|
|
|
|
|
|
|
|
# shell and other gui stuff
|
2022-03-10 19:59:55 +00:00
|
|
|
'dunst': {},
|
2022-02-12 13:06:53 +00:00
|
|
|
'fish': {},
|
|
|
|
'kitty': {},
|
2022-03-10 19:59:55 +00:00
|
|
|
'libnotify': {}, # provides notify-send
|
2022-02-12 13:06:53 +00:00
|
|
|
'light': {},
|
|
|
|
'redshift': {},
|
|
|
|
'rofi': {},
|
|
|
|
|
|
|
|
# sound
|
2022-12-29 12:45:06 +00:00
|
|
|
'calf': {},
|
|
|
|
'easyeffects': {},
|
|
|
|
'lsp-plugins': {},
|
2022-02-12 13:06:53 +00:00
|
|
|
'pavucontrol': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'pipewire': {},
|
|
|
|
'pipewire-jack': {},
|
|
|
|
'pipewire-pulse': {},
|
2024-01-03 14:11:05 +00:00
|
|
|
'pipewire-zeroconf': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'qpwgraph': {},
|
2022-02-12 13:06:53 +00:00
|
|
|
|
|
|
|
# window management
|
|
|
|
'i3-wm': {},
|
|
|
|
'i3lock': {},
|
|
|
|
'xss-lock': {},
|
|
|
|
|
2022-03-10 19:59:55 +00:00
|
|
|
# i3pystatus dependencies
|
|
|
|
'iw': {},
|
|
|
|
'wireless_tools': {},
|
|
|
|
|
2022-02-12 13:06:53 +00:00
|
|
|
# Xorg
|
|
|
|
'xf86-input-libinput': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'xf86-input-wacom': {},
|
2022-02-12 13:06:53 +00:00
|
|
|
'xorg-server': {},
|
|
|
|
'xorg-setxkbmap': {},
|
|
|
|
'xorg-xev': {},
|
|
|
|
'xorg-xinput': {},
|
|
|
|
'xorg-xset': {},
|
2022-03-09 12:03:56 +00:00
|
|
|
|
|
|
|
# all them apps
|
2022-03-10 19:59:55 +00:00
|
|
|
'browserpass': {},
|
|
|
|
'browserpass-firefox': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'ffmpeg': {},
|
2022-03-09 12:03:56 +00:00
|
|
|
'firefox': {},
|
2022-03-24 17:14:50 +00:00
|
|
|
'gimp': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'imagemagick': {},
|
2022-03-30 16:28:46 +00:00
|
|
|
'inkscape': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'kdenlive': {},
|
2022-03-10 19:59:55 +00:00
|
|
|
'maim': {},
|
|
|
|
'mosh': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'mosquitto': {},
|
2022-03-10 19:59:55 +00:00
|
|
|
'mpv': {},
|
|
|
|
'pass': {},
|
|
|
|
'pass-otp': {},
|
|
|
|
'pdftk': {},
|
|
|
|
'pwgen': {},
|
|
|
|
'qpdfview': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'samba': {},
|
|
|
|
'shotcut': {},
|
2022-03-30 16:28:46 +00:00
|
|
|
'sipcalc': {},
|
2022-03-10 19:59:55 +00:00
|
|
|
'the_silver_searcher': {},
|
2022-03-09 12:07:55 +00:00
|
|
|
'tlp': {},
|
2022-12-29 12:45:06 +00:00
|
|
|
'virt-manager': {},
|
2022-03-10 19:59:55 +00:00
|
|
|
'xclip': {},
|
|
|
|
'xdotool': {}, # needed for maim window selection
|
2022-02-12 13:06:53 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
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,
|
|
|
|
},
|
|
|
|
}
|