aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 49d66e52ff53437b2a7302ae1cc56a87d01074d5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.