{
  description = "Fudo Entities";

  inputs = { fudo-lib.url = "git+https://fudo.dev/nix/lib.git"; };

  outputs = { self, nixpkgs, fudo-lib, ... }: {
    nixosModules = rec {
      default = entities;
      entities = { imports = [ ./module.nix ]; };
    };

    entities = let
      inherit (nixpkgs) lib;
      helper-lib = fudo-lib.lib { pkgs = nixpkgs; };
    in import ./entities.nix { inherit helper-lib lib; };

    lib = import ./lib.nix {
      inherit (nixpkgs) lib;
      inherit (self) entities;
    };

    overlays.default = (final: prev: { lib = prev.lib // self.lib; });
  };
}