More automatic roles management

This commit is contained in:
kalle 2025-04-11 21:29:36 +02:00
parent 16abf8f35f
commit d5eac571a4
3 changed files with 16 additions and 16 deletions

View file

@ -19,7 +19,7 @@
homelabConfig = import ./config.nix; homelabConfig = import ./config.nix;
utils = import ./utils.nix { inherit inputs homelabConfig; }; utils = import ./utils.nix { inherit inputs homelabConfig; };
roles = import ./roles { inherit utils; }; roles = import ./roles.nix { inherit utils lib; };
hosts = import ./hosts.nix { hosts = import ./hosts.nix {
inherit inherit
homelabConfig homelabConfig

15
roles.nix Normal file
View file

@ -0,0 +1,15 @@
{
lib,
utils,
...
}:
lib.attrsets.mapAttrs' (
name: _:
let
mod = utils.mkRole (import (./roles + "/${name}"));
in
{
name = builtins.replaceStrings [ ".nix" ] [ "" ] name;
value = mod;
}
) (builtins.readDir ./roles)

View file

@ -1,15 +0,0 @@
{
utils,
...
}:
{
# Utility
postgres = utils.mkRole (import ./postgres.nix);
podman = utils.mkRole (import ./podman.nix);
# Services
sonarr = utils.mkRole (import ./sonarr.nix);
traefik = utils.mkRole (import ./traefik.nix);
authentik = utils.mkRole (import ./authentik);
forgejo = utils.mkRole (import ./forgejo.nix);
}