| .gitignore | ||
| LICENSE | ||
| README.md | ||
k_OS
Sooooo, this is me trying this whole NixOS stuff in the shape of a router. My goal is to replicate the functionality of my current OPNsense and then add some more in the shape of hopefully DN42 connectivity and bird3 as the underlying routing daemon.
Idea for file structure to stay organized
Look, I have no idea about this, only read some docs but i gotta start somewhere.
Idea for what goes where depending on requirements:
- configuration.nix
- host
- ssh.nix
- filesystems.nix
- metric-exporters.nix
- firewall
- nat.nix
- routing.nix
- routing
- routing_policies.nix
- bird
- bird.nix
- babel.nix
- accessories
- dn42-related.nix?
- services
- dhcp.nix
- dns.nix
- mdns_repeater.nix
- ntp.nix
- networking
- vlans.nix
- wiregaurd.nix
configuation.nix is supposed to import all other files and directly contain config for:
- users
- permissions
- homedir (authorized_keys)
- packages/tools
Scratchpad
I'm new to this and it's gonna suck ass. So here are notes and ideas
Where to start
basic sysconf? like, when live booting an iso, this config can be applied and turn a machine into a usable piece of scrap.
How to test?
Just because it builds, doesn't necessarily mean it works as intended. maybe initially use a VM with 3 NICs to test, one of them a different virtual model
Idk how to test this on proper hardware without tearing down my current router or buying another thin client
To actually test the deployment, i guess i'll have to write test cases in maybe bash or so i guess it's not that much, so that could be feasible maybe refine requirements to better write tests and determine pass or failure