icalproxy ========= Brightspace is the system where most of the stuff I need to hand in for uni is registered in. It has this convenient feature where you can get an iCal feed of all the deadlines of your assignments. But it also contains some 'junk' (sorry Career Services) which I don't need to have cluttering my calendar. Basically all junk can be filtered out using two regexes (of which I'm not sure that the latter is still relevant). This program is a bit overengineered :) My configuration for the provided NixOS module looks like this: { services.icalproxy = { enable = true; calendarUrl = "https://brightspace.ru.nl/d2l/le/calendar/feed/user/feed.ics"; ignore = { locationRegexes = [ ".*Career Orientation Online \\((Dutch|International)\\).*$" ]; summaryRegexes = [ "(Lecture \\d+ - )?Livestream \\d{1,2}-\\d{1,2}-\\d{4} .*- Due$" ]; }; port = "8084"; userTokens = { "<I am not going to put this here!>" = { hash = "<neither this>"; salt = "<nor this>"; }; # Did I say how I think this was overengineered? }; }; } It is forgiven that this is not a 12 factor app because we have a NixOS module; QED.