No description
Find a file
2026-04-09 23:39:50 +02:00
.gitignore added whole .idea dir 2026-04-09 23:08:06 +02:00
LICENSE Initial commit 2026-04-09 22:29:46 +02:00
README.md added test section 2026-04-09 23:39:50 +02:00

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