# Install lf with Homebrew, apk, apt, MacPorts, Nix, pacman, scoop, winget, zypper

Terminal file manager. Version 41 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:lf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install lf
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install lf
```

  Evidence: MacPorts ports tree: sysutils/lf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add lf
```

  Evidence: Alpine Linux edge package indexes: lf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install lf
```

  Evidence: Debian stable package indexes: lf from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#lf
```

  Evidence: nixpkgs package indexes: pkgs/by-name/lf/lf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S lf
```

  Evidence: Arch Linux sync databases: lf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install lf
```

  Evidence: openSUSE Tumbleweed package metadata: lf from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/lf
```

  Evidence: Scoop official bucket manifest trees: bucket/lf.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id LlamaFarm.CLI -e
```

  Evidence: Windows Package Manager source index: LlamaFarm.CLI from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:lf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/lf>
- **Version:** 41
- **Source summary:** Terminal file manager
- **Homepage:** <https://godoc.org/github.com/gokcehan/lf>
- **Repository:** <https://github.com/gokcehan/lf>
- **Upstream docs:** <https://github.com/gokcehan/lf#readme>
- **License:** MIT
- **Source archive:** <https://github.com/gokcehan/lf/archive/refs/tags/r41.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- lf (cli)
- lf (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 41
- Local data: ok
- Upstream repository: https://github.com/gokcehan/lf
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

`lf`, short for 'list files', is a terminal file manager written in Go and heavily inspired by ranger. It packages the familiar keyboard-driven file-manager workflow as a single static binary with shell-extensible commands.

### Project history

The `gokcehan/lf` repository was created on August 13, 2016. Its README describes a cross-platform terminal file manager with ranger inspiration, fast startup, low memory footprint, asynchronous I/O, a server/client architecture, remote commands, shell-command extensibility, and configurable keybindings.

The official documentation can be read inside the program with `lf -doc`, via the `help` command, as a man page, or online in `doc.md`, which reinforces the package's culture as a terminal-first application rather than a GUI file browser.

### Adoption history

lf became a staple option in the small but active terminal-file-manager ecosystem. The package metadata in this batch lists packages across Alpine, Homebrew, Debian, MacPorts, Nix, Arch, Scoop, Ubuntu, winget, and openSUSE, which matches its cross-platform design.

### How it is used

Users launch `lf` in a directory, navigate with keyboard bindings, preview files, run shell commands, and use configuration files such as `lfrc`, `colors`, and `icons` to tailor behavior. Its design encourages composing with external previewers, openers, editors, and shell scripts.

### Why package nerds care

Package nerds care about lf because it is a modern Go-era reinterpretation of ranger: fast single-binary distribution, portable packaging, and deliberate reliance on external Unix tools for parts of the workflow. It is also a good example of a TUI program whose package value is mostly ergonomics and glue, not a daemon or library.

### Timeline

- 2016: The `gokcehan/lf` repository was created on August 13, 2016.
- 2016: The project was shared publicly as 'lf: A terminal file manager' in command-line communities.
- 2018: Release discussions around r5 show lf already had a user-feedback loop around terminal-file-manager behavior.
- 2026: The upstream repository remained active, with Homebrew packaging and documented cross-platform installation paths.

### Related projects

- lf is most directly related to ranger, its stated inspiration. It sits beside other terminal file managers such as nnn, vifm, yazi, mc, and broot, and it depends culturally on shell tools, preview commands, terminal emulators, and editor integrations.

### Sources

- <https://api.github.com/repos/gokcehan/lf>
- <https://formulae.brew.sh/formula/lf>
- <https://github.com/gokcehan/lf>
- <https://github.com/gokcehan/lf/blob/master/doc.md>
- <https://github.com/gokcehan/lf/releases>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: /etc/lf/lfrc, ~/.config/lf/lfrc, /etc/lf/colors, ~/.config/lf/colors, /etc/lf/icons, ~/.config/lf/icons
- Windows: C:\ProgramData\lf\lfrc, C:\Users\<user>\AppData\Roaming\lf\lfrc, C:\ProgramData\lf\colors, C:\Users\<user>\AppData\Roaming\lf\colors, C:\ProgramData\lf\icons, C:\Users\<user>\AppData\Roaming\lf\icons
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** lf
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - lf - 34+ds-2+b1: normalized package name match | Debian stable package indexes: lf from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | terminal file manager written in Go | https://github.com/gokcehan/lf
- Nix - lf: normalized package name match | nixpkgs package indexes: pkgs/by-name/lf/lf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - lf - 31+ds-1: normalized package name match | Ubuntu 24.04 LTS package indexes: lf from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | terminal file manager written in Go | https://github.com/gokcehan/lf
- apk - lf - 41-r3: normalized package name match | Alpine Linux edge package indexes: lf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Terminal filemanager written in Go with vim-style keybindings | https://github.com/gokcehan/lf
- apk - lf-bash-completion - 41-r3: normalized package name match | Alpine Linux edge package indexes: lf-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for lf | https://github.com/gokcehan/lf
- apk - lf-doc - 41-r3: normalized package name match | Alpine Linux edge package indexes: lf-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Terminal filemanager written in Go with vim-style keybindings (documentation) | https://github.com/gokcehan/lf
- apk - lf-fish-completion - 41-r3: normalized package name match | Alpine Linux edge package indexes: lf-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for lf | https://github.com/gokcehan/lf
- apk - lf-zsh-completion - 41-r3: normalized package name match | Alpine Linux edge package indexes: lf-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for lf | https://github.com/gokcehan/lf
- pacman - lf - 41-1: normalized package name match | Arch Linux sync databases: lf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A terminal file manager inspired by ranger | https://github.com/gokcehan/lf
- zypper - lf - 34-1.5: normalized package name match | openSUSE Tumbleweed package metadata: lf from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Terminal file manager (with sixel support) | https://github.com/gokcehan/lf
- zypper - lf-bash-completion - 34-1.5: normalized package name match | openSUSE Tumbleweed package metadata: lf-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bash Completion for lf | https://github.com/gokcehan/lf
- zypper - lf-fish-completion - 34-1.5: normalized package name match | openSUSE Tumbleweed package metadata: lf-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Fish Completion for lf | https://github.com/gokcehan/lf
- zypper - lf-zsh-completion - 34-1.5: normalized package name match | openSUSE Tumbleweed package metadata: lf-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Zsh Completion for lf | https://github.com/gokcehan/lf
- MacPorts - lf: normalized package name match | MacPorts ports tree: sysutils/lf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/lf: normalized package name match | Scoop official bucket manifest trees: bucket/lf.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - LlamaFarm.CLI: normalized package name match | Windows Package Manager source index: LlamaFarm.CLI from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [superfile](https://www.automicvault.com/pkg/brew/superfile/) - Shares av.db curated category or tags: cli, file-management, file-manager, go, productivity.
- [midnight-commander](https://www.automicvault.com/pkg/brew/midnight-commander/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.
- [projectable](https://www.automicvault.com/pkg/brew/projectable/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.
- [xplr](https://www.automicvault.com/pkg/brew/xplr/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.
- [yazi](https://www.automicvault.com/pkg/brew/yazi/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.
- [ctpv](https://www.automicvault.com/pkg/brew/ctpv/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.
- [far2l-tty](https://www.automicvault.com/pkg/brew/far2l-tty/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.
- [fdclone](https://www.automicvault.com/pkg/brew/fdclone/) - Shares av.db curated category or tags: cli, file-management, file-manager, productivity, terminal.

## Combined YAML source

View the package source record on GitHub. [combined/lf.yml](https://github.com/automic-vault/db/blob/main/combined/lf.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
