2024-11-19 21:36:38 -05:00
# *Aἰθήρ *
> [*Aither*] as a whole neither came into being nor admits of destruction,
> but is one and eternal, with no end or beginning of its total
> duration, containing and embracing in itself the infinity of time ...
>
> — Aristotle, *On the Heavens* [^1]
Aether is a fully automated web server configured via **pure** and
**declarative** package management, powered by [NixOS ](https://nixos.org ).
This allows for all aspects of the server's operation, including config files,
software dependencies, and site content to be deployed and provisioned
automatically.
In short, it's my personal web server.
## Deployment
Aether is designed to separate deployment from the logical specification of the
2024-11-19 22:35:21 -05:00
system, and thus to support any machine that can run NixOS.
Currently, I deploy it physically to a
2024-11-19 21:36:38 -05:00
[Raspberry Pi 5 ](https://wiki.nixos.org/wiki/NixOS_on_ARM/Raspberry_Pi_5 )
running a [modified UEFI bootloader ](https://github.com/worproject/rpi5-uefi )
to provide Linux support.
2024-11-19 22:35:21 -05:00
## Modules
As with all NixOS configurations, Aether is split into several independent modules that provide different functionality. These are stored in the `modules/` directory.
### Module Checklist
2024-11-19 21:36:38 -05:00
2024-11-19 22:35:21 -05:00
- [x] `forgejo` - Code forge
- [x] `acme` - TLS certificates
- [x] `fail2ban` - IP moderation
- [ ] `site` - Personal website
- [ ] `mail` - Mail server
- [ ] `backup` - Automated backup system
- [ ] `cachix` - Nix build caching
2024-11-19 21:36:38 -05:00
[^1]: Adapted from [Book II.1 ](http://classics.mit.edu/Aristotle/heavens.2.ii.html ).