# Install diff-so-fancy with Homebrew, dnf, MacPorts, Nix, pacman, scoop, zypper

Good-lookin' diffs with diff-highlight and more. Version 1.4.10 via Homebrew; verified 2026-06-13.

## Install

```sh
sudo av install brew:diff-so-fancy
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install diff-so-fancy
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install diff-so-fancy
```

  Evidence: MacPorts ports tree: textproc/diff-so-fancy/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- dnf (92%):

```sh
sudo dnf install diff-so-fancy
```

  Evidence: Fedora Rawhide package metadata: diff-so-fancy from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#diff-so-fancy
```

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

- pacman (92%):

```sh
sudo pacman -S diff-so-fancy
```

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

- zypper (92%):

```sh
sudo zypper install diff-so-fancy
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/diff-so-fancy
```

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

## Package facts

- **Package key:** brew:diff-so-fancy
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/diff-so-fancy>
- **Version:** 1.4.10
- **Source summary:** Good-lookin' diffs with diff-highlight and more
- **Homepage:** <https://github.com/so-fancy/diff-so-fancy>
- **Repository:** <https://github.com/so-fancy/diff-so-fancy>
- **Upstream docs:** <https://github.com/so-fancy/diff-so-fancy#readme>
- **License:** MIT
- **Source archive:** <https://github.com/so-fancy/diff-so-fancy/archive/refs/tags/v1.4.10.tar.gz>
- **Last updated:** 2026-06-13T01:24:09+02:00
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- diff-so-fancy (cli)
- diff-so-fancy (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 1.4.10
- Package-manager updated: 2026-06-13
- Local data: ok
- Upstream repository: https://github.com/so-fancy/diff-so-fancy
- Upstream latest detected: v1.4.10 (current)
## Project history and usage

diff-so-fancy is a terminal filter that reformats unified diffs into a more human-readable display. It is commonly wired into Git as a pager or interactive diff filter.

### Project history

The official history document says diff-so-fancy began as a commit in Paul Irish's dotfiles, grew into a standalone script, and was later moved into the so-fancy repository by Steve Mao. The GitHub repository was created in 2016.

The README presents the project as a tool for making diffs human readable to improve code quality and defect spotting. Its options are mostly Git configuration keys that control hunk headers, leading symbols, rulers, empty lines, and display width.

### Adoption history

diff-so-fancy spread through developer tooling because it required little ceremony: place the script on PATH and point Git's pager or interactive.diffFilter at it. The README lists official project-noted availability through GitHub releases, npm, Homebrew, Fedora, Arch, and Debian/Ubuntu packaging.

### How it is used

The normal Git setup is core.pager set to pipe through diff-so-fancy and less, plus interactive.diffFilter for patch mode. It can also consume ordinary unified diff output from diff -u or recursive diff.

### Why package nerds care

For package nerds, diff-so-fancy is a classic single-purpose developer package: a small script, broad editor-terminal appeal, and visible overlap between dotfiles culture, Git ergonomics, and distro packaging.

### Timeline

- 2016: The so-fancy/diff-so-fancy GitHub repository is created.
- 2021: Version 1.4.0 is published.
- 2026: Version 1.4.10 is published.

### Related projects

- Git, diff-highlight, delta, Lazygit, and difftastic are the main neighboring tools named by upstream.

### Sources

- <https://github.com/so-fancy/diff-so-fancy>
- <https://api.github.com/repos/so-fancy/diff-so-fancy>
- <https://raw.githubusercontent.com/so-fancy/diff-so-fancy/master/README.md>
- <https://raw.githubusercontent.com/so-fancy/diff-so-fancy/master/docs/history.md>
- <https://api.github.com/repos/so-fancy/diff-so-fancy/releases>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** diff-so-fancy
- **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

- Nix - diff-so-fancy: normalized package name match | nixpkgs package indexes: pkgs/by-name/di/diff-so-fancy/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - diff-so-fancy - 1.4.4-9.fc44: normalized package name match | Fedora Rawhide package metadata: diff-so-fancy from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Good-lookin' diffs | https://github.com/so-fancy/diff-so-fancy
- pacman - diff-so-fancy - 1.4.10-1: normalized package name match | Arch Linux sync databases: diff-so-fancy from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Good-looking diffs with diff-highlight and more | https://github.com/so-fancy/diff-so-fancy
- zypper - diff-so-fancy - 1.4.10-2.1: normalized package name match | openSUSE Tumbleweed package metadata: diff-so-fancy from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Strives to make your diffs human readable | https://github.com/so-fancy/diff-so-fancy
- MacPorts - diff-so-fancy: normalized package name match | MacPorts ports tree: textproc/diff-so-fancy/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/diff-so-fancy: normalized package name match | Scoop official bucket manifest trees: bucket/diff-so-fancy.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## 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.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [diffnav](https://www.automicvault.com/pkg/brew/diffnav/) - Shares av.db curated category or tags: cli, developer-tools, diff, git, pager.
- [diffr](https://www.automicvault.com/pkg/brew/diffr/) - Shares av.db curated category or tags: cli, developer-tools, diff, git, terminal.
- [git-delta](https://www.automicvault.com/pkg/brew/git-delta/) - Shares av.db curated category or tags: cli, developer-tools, diff, git, pager.
- [git-split-diffs](https://www.automicvault.com/pkg/brew/git-split-diffs/) - Shares av.db curated category or tags: cli, developer-tools, diff, git, terminal.
- [colordiff](https://www.automicvault.com/pkg/brew/colordiff/) - Shares av.db curated category or tags: cli, developer-tools, diff, terminal.
- [difftastic](https://www.automicvault.com/pkg/brew/difftastic/) - Shares av.db curated category or tags: cli, developer-tools, diff, git.
- [difi](https://www.automicvault.com/pkg/brew/difi/) - Shares av.db curated category or tags: cli, developer-tools, diff, git.
- [gitmux](https://www.automicvault.com/pkg/brew/gitmux/) - Shares av.db curated category or tags: cli, developer-tools, git, terminal, version-control.
- [diff-so-fancy](https://www.automicvault.com/pkg/npm/diff-so-fancy/) - Same normalized package name appears in another local ecosystem. Shared terms: cli, control, developer, developer-tools, diff.
- [diff-so-fancy](https://www.automicvault.com/pkg/npm/diff-so-fancy/) - Same normalized package name in another local ecosystem.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- 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
