Ansible project to configure a device as an OpenWrt router.
This project has no objective on becoming a template to be used by others. There is hardcoded information in most files. Use as example for your own OpenWrt installations.
The router configured by this repository is a NanoPi R6S. It handles a single 1Gbps symmetrical internet connection, and a 2.5gbps lan connection.
Do I need all this for my network? No.
It's overkill? Yes.
Would I do it again? Yes!
- Nix with flakes enabled — provides the pinned dev toolchain (
flake.nix+flake.lock). - direnv with nix-direnv — run
direnv allowonce and the toolchain loads automatically whenever youcdinto the repo. Without direnv, runnix developto enter the dev shell manually.
Ansible collections are not managed by Nix — run task setup once (see below) to install them via ansible-galaxy.
- Flash the router — see Firmware for building and flashing the image.
- Create a
.vault_passfile at the root containing the vault password, with permissions600. - Run
task setup(once, to install Ansible collections) - Run
task apply
| Document | Description |
|---|---|
| Firmware | Building, flashing, and upgrading the firmware |
| Improvements | Planned enhancements |