# FIXME(lib.custom): Add some stuff from hmajid2301/dotfiles/lib/module/default.nix, as simplifies option declaration
{ lib, ... }:
with builtins;

{
  getSecret = with lib.strings; filePath: trim (removeSuffix "\n" (readFile filePath));

  # use path relative to the root of the project
  relativeToRoot = lib.path.append ../.;
  relativeToBase = lib.path.append ../shared/base;
  relativeToDesktop = lib.path.append ../shared/desktop;

  scanPaths =
    path:
    map (f: (path + "/${f}")) (
      attrNames (
        lib.attrsets.filterAttrs (
          path: _type:
          (_type == "directory") # include directories
          || (
            (path != "default.nix") # ignore default.nix
            && (lib.strings.hasSuffix ".nix" path) # include .nix files
          )
        ) (readDir path)
      )
    );
}
