Something went wrong. Try again.
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637# Read all files and folders in the current directory and return an attrset containing the modules# A utility function to import everything except some specified modules is also included# Example output:# {# moe = import /nix/store/xxxx-source/modules/moe.nix;# miniflux = import /nix/store/xxxx-source/modules/miniflux.nix;# allModulesExcept = <LAMBDA [ "transmission" ] -> [ import .../moe ]>;# }
let inherit (builtins) attrNames removeAttrs readDir listToAttrs replaceStrings attrValues ;
modulesDir = toString ./.;
filesAndDirectories = attrNames (removeAttrs (readDir modulesDir) [ "default.nix" ]);
allModules = listToAttrs ( map (name: { name = replaceStrings [ ".nix" ] [ "" ] name; value = import "${modulesDir}/${name}"; }) filesAndDirectories );
allModulesExcept = exceptions: attrValues (removeAttrs allModules exceptions);inallModules// { inherit allModulesExcept;}