# Install bastet with Homebrew, apt, dnf, MacPorts, Nix

Bastard Tetris. Version 0.43.2 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:bastet
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bastet
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bastet
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install bastet
```

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

- dnf (92%):

```sh
sudo dnf install bastet
```

  Evidence: Fedora Rawhide package metadata: bastet 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#bastet
```

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

## Package facts

- **Package key:** brew:bastet
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bastet>
- **Version:** 0.43.2
- **Source summary:** Bastard Tetris
- **Homepage:** <https://fph.altervista.org/prog/bastet.html>
- **Repository:** <https://github.com/fph/bastet>
- **Upstream docs:** <https://fph.altervista.org/prog/bastet.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/fph/bastet/archive/refs/tags/0.43.2.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bastet (cli)
- bastet (alias)

## Dependencies

- boost

## Uses from macOS

- ncurses

## 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: 0.43.2
- Local data: ok
- Upstream repository: https://github.com/fph/bastet
- Upstream latest detected: 0.43.2 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Bastet is Federico Poloni's ncurses-based adversarial Tetris-like game for Linux. Its official page expands the name as Bastard Tetris and explains the core joke: instead of picking the next piece randomly, it chooses a piece intended to be as bad as possible for the player.

### Project history

Bastet's first public release was version 0.37, according to the official page. The algorithm notes say 0.37 used a hand-written analysis of the top border of the well and usually selected the worst-scoring piece while sometimes choosing among near-worst pieces to avoid boring repetition.

Version 0.41 replaced that heuristic with a scoring function over possible well states. Version 0.43 was a complete rewrite, no longer based on Petris, and used a search over legal block positions plus separate normal and harder algorithms depending on whether the next-piece preview was shown.

### Adoption history

The official page says Bastet was discussed on Slashdot in April 2005 and in the xkcd forum in 2010, both as part of its reputation as an intentionally unfair Tetris variant. It also states that Bastet is included in most distributions and gives apt, snap, yum, and dnf installation examples.

The supplied package facts show modern packaging in Homebrew, Debian, Fedora, MacPorts, Nix, and Ubuntu, which matches the official site's claim that distro package managers are the normal way to install it.

### How it is used

The README describes a simple menu-driven ncurses game with configurable keys, defaults for movement/rotation/drop, pause, and control-C quit. The game has normal and harder block choosers; the harder mode removes the next-block preview.

The algorithm page documents the adversarial selection policy for 0.43: it evaluates legal placements and chooses the worst block most of the time, with smaller probabilities for the second-, third-, and fourth-worst blocks.

### Why package nerds care

Bastet is package-nerd significant because it is a tiny terminal game that became widely packaged due to one memorable mechanic. It is the sort of ncurses oddity that makes Unix package catalogs feel like cultural archives as much as software indexes.

It also preserves a lineage of small C++ terminal games, distro-maintained builds, desktop metadata, and ports/patches for macOS and Windows/PDCurses.

### Timeline

- Version 0.37: First public release, with the original top-border heuristic.
- 2005-04: Official page records a Slashdot article about Bastet 0.41.
- Version 0.41: New block-choosing algorithm based on scoring possible well states.
- 2009: Version 0.43 is a complete rewrite and no longer based on Petris.
- 2010: Official page records discussion in the xkcd forum.
- 2014: Version 0.43.1 adds updates for package-manager convenience, including desktop and appdata files.
- 2020-04-28: Official page states Bastet is old work with no new versions planned, but not abandoned.

### Related projects

- The official page says 0.43 was no longer based on Petris, implying earlier lineage from that project. It also notes Abandoned Bricks, an SDL Tetris clone with a Bastard mode based on Bastet.

### Sources

- <https://fph.altervista.org/prog/bastet.html>
- <https://fph.altervista.org/prog/bastetalgo.html>
- <https://github.com/fph/bastet/blob/master/README>
- source_facts.package-manager


## 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: ~/.bastetrc
## Source Database Details

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

## Other Package-Manager Records

- Debian apt - bastet - 0.43.2-2: normalized package name match | Debian stable package indexes: bastet from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | ncurses Tetris clone with a bastard algorithm | http://fph.altervista.org/prog/bastet.shtml
- Nix - bastet: normalized package name match | nixpkgs package indexes: pkgs/by-name/ba/bastet/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - bastet - 0.43-7build1: normalized package name match | Ubuntu 24.04 LTS package indexes: bastet from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | ncurses Tetris clone with a bastard algorithm | http://fph.altervista.org/prog/bastet.shtml
- dnf - bastet - 0.43.2-15.fc44: normalized package name match | Fedora Rawhide package metadata: bastet from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | An evil falling bricks game | https://github.com/fph/bastet
- MacPorts - bastet: normalized package name match | MacPorts ports tree: games/bastet/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Game and emulation packages](https://www.automicvault.com/pkg/game-emulation-tools/) - Matched game or emulation metadata.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [netris](https://www.automicvault.com/pkg/brew/netris/) - Shares av.db curated category or tags: cli, game, games, tetris.
- [allureofthestars](https://www.automicvault.com/pkg/brew/allureofthestars/) - Shares av.db curated category or tags: cli, game, games.
- [angband](https://www.automicvault.com/pkg/brew/angband/) - Shares av.db curated category or tags: cli, game, games.
- [avanor](https://www.automicvault.com/pkg/brew/avanor/) - Shares av.db curated category or tags: cli, game, games.
- [ballerburg](https://www.automicvault.com/pkg/brew/ballerburg/) - Shares av.db curated category or tags: cli, game, games.
- [brogue](https://www.automicvault.com/pkg/brew/brogue/) - Shares av.db curated category or tags: cli, game, games.
- [cataclysm](https://www.automicvault.com/pkg/brew/cataclysm/) - Shares av.db curated category or tags: cli, game, games.
- [cdogs-sdl](https://www.automicvault.com/pkg/brew/cdogs-sdl/) - Shares av.db curated category or tags: cli, game, games.
- [c10t](https://www.automicvault.com/pkg/brew/c10t/) - Local package facts share a topical domain. Shared terms: boost, cli, game, games.
- [leela-zero](https://www.automicvault.com/pkg/brew/leela-zero/) - Local package facts share a topical domain. Shared terms: boost, cli, game, games.
- [lgogdownloader](https://www.automicvault.com/pkg/brew/lgogdownloader/) - Local package facts share a topical domain. Shared terms: boost, cli, game, games.

## Combined YAML source

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