This commit changes the file structure around, so that we have the
following parts:
`/modules` contains reusable logic blocks for hosts.
`/hosts` contains host configurations.
`/lib` contains nix library functions.
`/overlays` contains overlay files.
`/public-keys` contains all information regarding public keys.
This change reduces the complexity of flake.nix, instead delegating this
out to the `default.nix` files in the above directories.