{ lib, ... }: let inherit (lib.mjallen.file) readFile pathExists safeImport scanDir getFile importModulesRecursive scanSystems filterNixOSSystems filterDarwinSystems scanHomes; in { # Example of reading a file myFileContent = readFile ./example.txt; # Example of checking if a file exists fileExists = pathExists ./example.txt; # Example of safely importing a file myConfig = safeImport ./my-config.nix {}; # Example of scanning a directory directoryContents = scanDir ./modules; # Example of getting a file path relative to the flake root flakeFile = getFile "flake.nix"; # Example of importing modules recursively modules = importModulesRecursive ./modules; # Example of scanning systems allSystems = scanSystems ./systems; # Example of filtering systems nixosSystems = filterNixOSSystems allSystems; darwinSystems = filterDarwinSystems allSystems; # Example of scanning homes allHomes = scanHomes ./homes; # Example of using these functions together nixosConfigurations = lib.mapAttrs' ( name: { system, hostname, ... }: { name = hostname; value = lib.nixosSystem { inherit system; modules = [ { networking.hostName = hostname; } ] ++ importModulesRecursive ./modules/nixos; }; } ) nixosSystems; }