# Install so with Homebrew, apk, MacPorts, Nix, scoop

Terminal interface for StackOverflow. Version 0.4.10 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#so.

## Install

```sh
sudo av install brew:so
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install so
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install so
```

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

### Linux

- apk (92%):

```sh
sudo apk add so
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#so
```

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

### Windows

- Scoop (92%):

```sh
scoop install extras/so
```

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

## Package facts

- **Package key:** brew:so
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/so>
- **Version:** 0.4.10
- **Source summary:** Terminal interface for StackOverflow
- **Homepage:** <https://github.com/samtay/so>
- **Repository:** <https://github.com/samtay/so>
- **Upstream docs:** <https://github.com/samtay/so#readme>
- **License:** MIT
- **Source archive:** <https://github.com/samtay/so/archive/refs/tags/v0.4.10.tar.gz>
- **Generated:** 2026-07-25T07:20:51+00:00

## Executables

- so (cli)
- so (alias)

## Build dependencies

- pkgconf
- rust

## Install behavior

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

## Freshness

- Page generated: 2026-07-25
- Package-manager version: 0.4.10
- Local data: ok
- Upstream repository: https://github.com/samtay/so
- Upstream latest detected: v0.4.10 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

so is a Rust terminal interface for Stack Overflow and the broader Stack Exchange network. It packages the familiar developer reflex of searching Stack Overflow into a terminal UI, with multi-site search, configurable search engines, and install paths across common package managers.

### Project history

The git history shows an initial commit on May 30, 2020, followed by rapid 0.1 through 0.4 releases in June and July 2020. The changelog calls 0.3.5 the initial passable release and 0.4.0 the point where packaging, keybindings, and the changelog itself were formalized.

The README frames the program as more than a Stack Overflow-only client: it can search any number of Stack Exchange sites, and it distinguishes itself from similar terminal helpers by supporting simultaneous multi-site searches.

### Adoption history

Official installation docs list Arch AUR, FreeBSD ports, NetBSD pkgsrc, Homebrew, MacPorts, Scoop, crates.io, and release binaries. The changelog records Homebrew tap support in 0.4.0, a Homebrew core formula in 0.4.1, Windows/Scoop in 0.4.3, NetBSD in 0.4.5, and MacPorts in 0.4.10.

### How it is used

The documented workflow is direct shell search: run so followed by a natural-language query, optionally choose Stack Exchange sites with --site/-s, and choose search backends such as StackExchange or Google. The configuration file stores defaults such as limit, lucky mode, sites, search_engine, copy_cmd, and api_key.

### Why package nerds care

Package nerds care about so because it sits at the intersection of terminal UI culture, Rust CLI distribution, and developer knowledge retrieval. It is also a compact example of a personal CLI growing into multi-platform packaging across Unix, Windows, BSD, and Rust's cargo ecosystem.

### Timeline

- 2020: Initial git commit.
- 2020: v0.1.0 first tagged release.
- 2020: v0.4.0 added Arch and Homebrew tap installation options.
- 2020: v0.4.1 added Homebrew core formula support.
- 2021: v0.4.5 added NetBSD installation documentation.
- 2024: v0.4.10 fixed Cloudflare blocking issues and added MacPorts installation documentation.

### Related projects

- The README explicitly compares so with how2 and howdoi, while positioning so around Stack Exchange network search rather than a single source.

### Sources

- Official git tags from https://github.com/samtay/so.git
- <https://github.com/samtay/so#readme>
- <https://raw.githubusercontent.com/samtay/so/master/CHANGELOG.md>
- <https://raw.githubusercontent.com/samtay/so/master/README.md>


## 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

- Linux: ~/.config/so/config.yml
- macOS: ~/Library/Preferences/io.Sam-Tay.so/config.yml
- Windows: %APPDATA%\Sam Tay\so\config.yml

## Credential files

- Linux: ~/.config/so/config.yml
- macOS: ~/Library/Preferences/io.Sam-Tay.so/config.yml
- Windows: %APPDATA%\Sam Tay\so\config.yml
## Source Database Details

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

## Other Package-Manager Records

- Nix - so: normalized package name match | nixpkgs package indexes: pkgs/by-name/so/so/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - so - 0.4.10-r0: normalized package name match | Alpine Linux edge package indexes: so from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Terminal interface for Stackoverflow | https://github.com/samtay/so
- MacPorts - so: normalized package name match | MacPorts ports tree: devel/so/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/so: normalized package name match | Scoop official bucket manifest trees: bucket/so.json from https://api.github.com/repos/ScoopInstaller/Extras/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.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [gitu](https://www.automicvault.com/pkg/brew/gitu/) - Shares av.db curated category or tags: cli, developer-tools, rust, terminal, tui.
- [gitui](https://www.automicvault.com/pkg/brew/gitui/) - Shares av.db curated category or tags: cli, developer-tools, rust, terminal, tui.
- [try-rs](https://www.automicvault.com/pkg/brew/try-rs/) - Shares av.db curated category or tags: cli, developer-tools, rust, terminal, tui.
- [atac](https://www.automicvault.com/pkg/brew/atac/) - Shares av.db curated category or tags: cli, developer-tools, terminal, tui.
- [cargo-features-manager](https://www.automicvault.com/pkg/brew/cargo-features-manager/) - Shares av.db curated category or tags: cli, developer-tools, rust, tui.
- [chars](https://www.automicvault.com/pkg/brew/chars/) - Shares av.db curated category or tags: cli, developer-tools, rust, terminal.
- [code-minimap](https://www.automicvault.com/pkg/brew/code-minimap/) - Shares av.db curated category or tags: cli, developer-tools, rust, terminal.
- [crates-tui](https://www.automicvault.com/pkg/brew/crates-tui/) - Shares av.db curated category or tags: cli, developer-tools, rust, tui.
- [msedit](https://www.automicvault.com/pkg/brew/msedit/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, interface, rust.

## Combined YAML source

View the package source record on GitHub. [combined/so.yml](https://github.com/automic-vault/db/blob/main/combined/so.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
