2025-03-13 13:42:25 +01:00

15 lines
519 B
Nix

{jsonConfig, ...}: let
# Get all .nix files from the hosts directory
hostFiles = builtins.attrNames (builtins.readDir ./hosts);
# Filter out non-.nix files
hostModules = builtins.filter (n: builtins.match ".*\\.nix" n != null) hostFiles;
# Import each host file and merge them
importHost = file: import ./hosts/${file} {inherit jsonConfig;};
virtualHosts = builtins.foldl' (acc: file: acc // (importHost file)) {} hostModules;
in {
services.caddy = {
enable = true;
inherit virtualHosts;
};
}