fd
fd
a fast, user-friendly alternative to find
curl -fsSL https://unflab.app/get | sh -s -- fd
Installs to ~/.local/bin. Add --prefix /usr/local/bin to
put it somewhere else, or --uninstall to remove it.
Why it’s here
No dependency problem to solve — it’s here so it installs the same way as everything else.
Details
| Original package | fd |
| Version | 10.5.0 |
| Licence | MIT OR Apache-2.0 |
| Upstream | https://github.com/sharkdp/fd |
| Source | v10.5.0.tar.gz |
| Version check | fd --version |
| Download | unflab-fd-10.5.0-arm64-apple-darwin.tar.gz |
Built from that exact tarball, with its SHA-256 pinned in the
recipe. The binary links against nothing outside /usr/lib
and /System/, checked in CI before release.
fd is a friendlier find. It searches by regex against the filename
rather than by predicate against the whole path, skips hidden files and
anything your .gitignore excludes unless told otherwise, and walks
directories in parallel.
fd report # anything with "report" in the name
fd -e pdf # by extension
fd -H -I secret # include hidden and ignored files
fd -x wc -l # run a command per result
man fd is the full reference; fd --help covers the flags.
Install
./install.sh # into ~/.local/bin
./install.sh --prefix /usr/local/bin
./install.sh --uninstall
macOS ships find, and this does not replace or shadow it — find
keeps working exactly as before.
Shell completions
Completions for zsh, bash and fish are installed to each shell’s
conventional directory. Nothing is sourced and no rc file is edited,
so whether they take effect depends on your shell already looking
there:
bash —
~/.local/share/bash-completion/completions, found
automatically by bash-completion 2.x.fish —
~/.local/share/fish/vendor_completions.d, found
automatically.zsh —
~/.local/share/zsh/site-functions, which is not in the
defaultfpath. Add it in~/.zshrc, above the line that runs
compinit:fpath=(~/.local/share/zsh/site-functions $fpath) autoload -Uz compinit && compinitThe order is the part people get wrong:
compinitonly reads
directories that were infpathwhen it ran, so appending
afterwards silently does nothing.compinitdoes notice a newly
populated directory and rebuilds its cache on its own, so there is
no need to delete~/.zcompdump.
Installed under a different --prefix? Substitute <prefix>/../share
for ~/.local/share throughout.
That setup is per-shell, not per-package: once zsh is looking in
site-functions, every unflab package that ships a completion works.
About this build
Pure Rust, statically linked apart from macOS’s own system libraries —
no package manager, no runtime dependencies. Upstream disables
jemalloc on macOS, so unlike some Rust builds there is no allocator
library to link against.
Upstream also publishes prebuilt macOS binaries; this package exists so
fd installs the same way as everything else here, not because it was
hard to get.
Upstream
- Home: https://github.com/sharkdp/fd
- Source: https://github.com/sharkdp/fd
- Version: 10.5.0
- Licence: MIT OR Apache-2.0 (your choice; both ship)