refactor: derive host name solely from host directory name

This commit is contained in:
2026-04-30 16:40:45 +02:00
parent ce02cc5538
commit 95ffe7b908
19 changed files with 40 additions and 53 deletions

View File

@@ -1,12 +1,8 @@
{ lib }:
let
hosts = import ./hosts.nix;
fs = import ./fs.nix { inherit lib; };
hosts = import ./hosts.nix { inherit lib; };
secrets = import ./secrets.nix { inherit lib; };
in
{
dirNames =
path: builtins.attrNames (lib.filterAttrs (_: type: type == "directory") (builtins.readDir path));
}
// hosts
// secrets
fs // hosts // secrets

6
utils/fs.nix Normal file
View File

@@ -0,0 +1,6 @@
{ lib }:
{
dirNames =
path: builtins.attrNames (lib.filterAttrs (_: t: t == "directory") (builtins.readDir path));
}

View File

@@ -1,3 +1,8 @@
{ lib }:
let
fs = import ./fs.nix { inherit lib; };
in
{
hostMeta =
hostDir:
@@ -5,4 +10,10 @@
import (hostDir + "/meta.nix")
else
throw "meta.nix required in ${hostDir}";
adminHosts =
hostsPath:
builtins.filter (host: ((import (hostsPath + "/${host}/host.nix")).host.admin or false)) (
fs.dirNames hostsPath
);
}