agendafs
A filesystem for your calendar.
git clone git://mccd.space/agendafscommit 946d532f554afc6e932364d2aae5e77d392b9854
parent e5ac13a4b7e6bf2a8d9f77ca5c3322b2537d2b92
Author: Marc Coquand <marc@coquand.email>
Date: Wed, 9 Jul 2025 23:50:22 +0200
Update README
Diffstat:
| M | README.md | | | 94 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
1 file changed, 49 insertions(+), 45 deletions(-)
diff --git a/README.md b/README.md
@@ -1,56 +1,21 @@
# agendafs
+Status: Works but unstable, probably leaks memory. Still missing features. I
+dogfood it and it works decently for me.
+
`agendafs` is a FUSE-based filesystem written in C that works with
[vdirsyncer](https://vdirsyncer.pimutils.org/) to allow you to sync your
notes to caldav.
-To use it, setup vdirsyncer, locate the ical directory where you want to store
-your notes:
+Once you have a directory with ics entries, you can mount them with agendafs
+like so:
```
$ mount_agendafs -o icsdir=/home/me/.calendars/my-calendar /mnt/local-journal
```
-Now your `.ics` files are available as plain-text files in `/mnt/local-journal`.
-See also the notes on VJOURNAL support in calendars below.
-
-## Motivation
-
-Caldav is great in the sense that it has a lot of support from various
-apps. However, the format is not particularly human-friendly. For example, VJOURNAL entries look like this:
-
-```
- BEGIN:VJOURNAL
- UID:19970901T130000Z-123405@host.com
- DTSTAMP:19970901T1300Z
- DTSTART;VALUE=DATE:19970317
- SUMMARY:Staff meeting minutes
- DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
- and Bob. Aurora project plans were reviewed. There is currently
- no budget reserves for this project. Lisa will escalate to
- management. Next meeting on Tuesday.\n
- 2. Telephone Conference: ABC Corp. sales representative called
- to discuss new printer. Promised to get us a demo by Friday.\n
- 3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
- Is looking into a loaner car. 654-2323 (tel).
- END:VJOURNAL
-```
-
-These are not really intended to be edited by users.
-
-## Planned features
-
-Status: Works but unstable, probably leaks memory. Still missing features.
-
-See also [todo tracker](https://todo.sr.ht/~marcc/agendafs)
-
-## Limitations
-
-Right now attachments are not supported, I don't quite know what happens if you store a file but the behavior is undefined.
-
-File content is limited to 60KB per note. This ensures that it can safely be
-uploaded and also stored as an xattribute (which is where we store descriptions
-for directories).
+Now your `.ics` files are available as readable plain-text files in
+`/mnt/local-journal`.
## Dependencies
@@ -88,6 +53,45 @@ pairs very well with [nnn](https://github.com/jarun/nnn), [lf](https://github.co
See [TODO](https://todo.sr.ht/~marcc/agendafs) for current status.
+### Limitations
+
+Right now attachments are not supported, I don't quite know what happens if you store a file but the behavior is undefined.
+
+File content is limited to 60KB per note. This ensures that it can safely be
+uploaded and also stored as an xattribute (which is where we store descriptions
+for directories).
+
+## Motivation
+
+Caldav is great in the sense that it has a lot of support from various
+apps. However, the format is not particularly human-friendly. For example, VJOURNAL entries look like this:
+
+```
+ BEGIN:VJOURNAL
+ UID:19970901T130000Z-123405@host.com
+ DTSTAMP:19970901T1300Z
+ DTSTART;VALUE=DATE:19970317
+ SUMMARY:Staff meeting minutes
+ DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
+ and Bob. Aurora project plans were reviewed. There is currently
+ no budget reserves for this project. Lisa will escalate to
+ management. Next meeting on Tuesday.\n
+ 2. Telephone Conference: ABC Corp. sales representative called
+ to discuss new printer. Promised to get us a demo by Friday.\n
+ 3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
+ Is looking into a loaner car. 654-2323 (tel).
+ END:VJOURNAL
+```
+
+These are not really intended to be edited by users.
+
+## Planned features
+
+See also [todo tracker](https://todo.sr.ht/~marcc/agendafs)
+
+
+## Appendix
+
### VJOURNAL support in Caldav
To have vjournal support on Nextcloud, I needed to create the calendar manually...
@@ -113,12 +117,12 @@ curl -X MKCALENDAR \
'https://my-nextcloud-server/remote.php/dav/calendars/me/journal'
```
-## Tool-specific notes
+### Tool-specific notes
-### lf
+#### lf
Updates might not be reflected with dircache set to true. If inodes are used correctly, this should be fixable.
-## Why C?
+### Why C?
I started this project to improve my C skills.