diff --git a/lib.nix b/lib.nix index 989b3e5..9a52f50 100644 --- a/lib.nix +++ b/lib.nix @@ -10,6 +10,7 @@ let dataDir ? ".data", setDataDir ? dataDir != null, createDataDir ? setDataDir, + gitPackage ? pkgs.git, ... }: @@ -19,6 +20,7 @@ let ) "${name}: `dataDir` must be a string or null"; assert lib.assertMsg (builtins.isBool setDataDir) "${name}: `setDataDir` must be a boolean"; assert lib.assertMsg (builtins.isBool createDataDir) "${name}: `createDataDir` must be a boolean"; + assert lib.assertMsg (lib.isDerivation gitPackage) "${name}: `gitPackage` must be a derivation"; assert lib.assertMsg ( dataDir != null -> (!lib.hasPrefix "/" dataDir) @@ -41,7 +43,7 @@ let // { shellHook = '' # start -- tinyshell hook (${name}) - export PRJ_ROOT="$(${lib.getExe pkgs.git} rev-parse --show-toplevel 2>/dev/null || printf '%s\n' "$PWD")" + export PRJ_ROOT="$(${lib.getExe gitPackage} rev-parse --show-toplevel 2>/dev/null || printf '%s\n' "$PWD")" ${lib.optionalString setDataDir ''export PRJ_DATA_DIR="$PRJ_ROOT/${dataDir}"''} ${lib.optionalString createDataDir ''mkdir -vp "$PRJ_DATA_DIR"''} # end -- tinyshell hook (${name})