diff --git a/lib/utils.nix b/lib/utils.nix index 7584428..1bd40e5 100644 --- a/lib/utils.nix +++ b/lib/utils.nix @@ -1,6 +1,24 @@ { ... }: +let + mkSysRole = role: + let + path = ../roles + "/${role}.nix"; + in + if builtins.pathExists path then + import path + else + throw "System role '${role}' not found at ${toString path}"; + + mkHomeRole = role: + let + path = ../roles/home + "/${role}.nix"; + in + if builtins.pathExists path then + import path + else + throw "Home role '${role}' not found at ${toString path}"; +in { - mkSysRole = role: import (../roles/${role}.nix); - mkHomeRole = role: import (../roles/home/${role}.nix); + inherit mkSysRole mkHomeRole; }