# Synit Manual
## Welcome!
Synit is an experiment in applying **pervasive reactivity** and **object capabilities** to the
[System Layer](./src/glossary.md#system-layer) of an operating system for personal computers,
including laptops, desktops, and mobile phones.
This is the manual for the system.
- Project homepage:
- Source code:
## Repository contents
The manual text:
- [`src/`](src/) contains the markdown files making up the main source text of the manual.
Support software:
- [`book.prs`](book.prs) and the corresponding binary, `book.prb`, describe the protocol used
for communication between mdbook and its plugins.
- [`book.toml`](book.toml) is the configuration file for mdbook.
- [`mdbook_plugin.py`](mdbook_plugin.py) is a support library for writing mdbook plugins.
- [`mdbook-ditaa`](mdbook-ditaa) is a plugin for mdbook that renders (and caches) ditaa
diagrams from the source text into SVG for the built website.
- [`mdbook-pseudocode`](mdbook-pseudocode) is a plugin for mdbook that makes a pretty
rendering of pseudocode snippets in the source text.
After running a build, the `./book` subdirectory contains the rendered result.
## Building the manual
You will need several tools:
- [mdbook](https://rust-lang.github.io/mdBook/)
- a JVM and [ditaa version 0.11.0](https://github.com/stathissideris/ditaa/releases)
- Python 3.x and the [Preserves python package](https://pypi.org/project/preserves/) (`pip
install -U preserves`)
Running `make` or `make all` should do the trick. See also the [`Makefile`](Makefile) and
[`.envrc`](.envrc).
## Acknowledgements
Much initial work on Synit was made possible by a generous grant from
the [NLnet Foundation](https://nlnet.nl/) as part of the [NGI
Zero](https://nlnet.nl/NGI0/) [PET](https://nlnet.nl/PET/) programme.
Please see "[Structuring the System Layer with Dataspaces
(2021)](https://syndicate-lang.org/projects/2021/system-layer/)" for
details of the funded project.
## Copyright and License
This manual is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
Copyright © 2021–2022 Tony Garnock-Jones .
The Synit programs and source code are separately licensed. Please see the source code for
details.