# Install when with Homebrew, apk, apt, MacPorts, Nix, pacman

Tiny personal calendar. Version 1.1.45 via Homebrew; verified from local package data. Also installable with debian: sudo apt install when.

## Install

```sh
sudo av install brew:when
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install when
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install when
```

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

### Linux

- apk (92%):

```sh
sudo apk add when
```

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

- Debian apt (92%):

```sh
sudo apt install when
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#when
```

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

- pacman (92%):

```sh
sudo pacman -S when
```

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

## Package facts

- **Package key:** brew:when
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/when>
- **Version:** 1.1.45
- **Source summary:** Tiny personal calendar
- **Homepage:** <https://www.lightandmatter.com/when/when.html>
- **Upstream docs:** <https://www.lightandmatter.com/when/when.html>
- **License:** GPL-2.0-only
- **Source archive:** <https://bitbucket.org/ben-crowell/when/get/1.1.45.tar.bz2>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- when (cli)
- when (alias)

## Install behavior

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

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 1.1.45
- Local data: ok
- Upstream repository: https://www.lightandmatter.com/when/when.html
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

When is Ben Crowell's minimal personal calendar program for Unix users who prefer text files and terminal commands over larger personal-information-manager applications. The official page describes it as extremely simple, dependency-free beyond Perl, and editable in a favorite text editor.

### Project history

The reproduced man page and source identify Ben Crowell as the author and give a copyright range beginning in 2003. The page's included man page is for When 1.1.46 dated 21 December 2011, while the Bitbucket repository now carries the source history and tags.

Bitbucket repository metadata shows the current public repository was created in January 2023, but tags exposed through the Bitbucket API include version 1.1.30 in January 2013 and later 1.1.39 through 1.1.45 releases from 2020 to 2022. The project therefore predates its current hosting location.

### Adoption history

When's official page documents packaging across traditional Unix-like systems, including Debian and Ubuntu, Gentoo, FreeBSD, and Slackware-family packaging. That adoption pattern fits the tool's design: a small Perl script with no library dependencies is easy for distributions and ports trees to carry.

### How it is used

The basic workflow is to run when, let it create initial setup information, edit the plain-text calendar with when e, and then run when to print upcoming items. The default report covers the next two weeks, while commands can show weekly, monthly, or yearly ranges, wall-calendar grids, the current date, or modified Julian days.

Calendar entries are simple text lines such as a date followed by a comma and description. The program also supports recurring date expressions, language handling, UTF-8 input, pager and terminal styling options, and a prefilter mechanism for splitting larger calendars through tools such as m4.

### Why package nerds care

When is package-nerd significant as a small, inspectable Unix productivity tool: it stores user data in text, delegates editing to the user's editor, and avoids library dependencies. It is the kind of program that survives in package archives because it is easy to understand, easy to patch, and compatible with old-school shell workflows.

### Timeline

- 2003: The copyright range in the official man page and source begins.
- 2011-12-21: The official page reproduces the When 1.1.46 man page dated this day.
- 2013-01-10: Bitbucket tag metadata records version 1.1.30.
- 2020-2022: Bitbucket tag metadata records versions 1.1.39 through 1.1.45.
- 2023-01-25: The current Bitbucket repository metadata records repository creation.

### Related projects

- Traditional Unix calendar/reminder tools, plain-text personal information managers, and editor-centered workflows are the closest relatives.
- iCalendar and vCalendar are mentioned by the official page as formats for possible external converters rather than native storage formats.

### Sources

- <https://api.bitbucket.org/2.0/repositories/ben-crowell/when>
- <https://bitbucket.org/ben-crowell/when>
- <https://www.lightandmatter.com/personal/>
- <https://www.lightandmatter.com/when/when.html>


## 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: ~/.when/preferences, ~/.when/calendar
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** when
- **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 - when - 1.1.45-1: normalized package name match | Debian stable package indexes: when from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | tiny personal calendar | https://www.lightandmatter.com/when/when.html
- Nix - when: normalized package name match | nixpkgs package indexes: pkgs/by-name/wh/when/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - when - 1.1.45-1: normalized package name match | Ubuntu 24.04 LTS package indexes: when from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | tiny personal calendar | https://www.lightandmatter.com/when/when.html
- apk - when - 1.1.45-r1: normalized package name match | Alpine Linux edge package indexes: when from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extremely simple personal calendar program | https://www.lightandmatter.com/when/when.html
- apk - when-doc - 1.1.45-r1: normalized package name match | Alpine Linux edge package indexes: when-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extremely simple personal calendar program (documentation) | https://www.lightandmatter.com/when/when.html
- pacman - when - 1.1.45-2: normalized package name match | Arch Linux sync databases: when from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A simple commandline personal calendar program | http://www.lightandmatter.com/when/when.html
- MacPorts - when: normalized package name match | MacPorts ports tree: sysutils/when/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Web development packages](https://pkg.so/web-dev-tools/) - Matched web development metadata.
- [Productivity CLI packages](https://pkg.so/productivity-cli-packages/) - Matched curated productivity category metadata from av.db.
- [gogcli](https://pkg.so/brew/gogcli/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [ical-buddy](https://pkg.so/brew/ical-buddy/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [gcalcli](https://pkg.so/brew/gcalcli/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [ispell](https://pkg.so/brew/ispell/) - Shares pkgdb curated category or tags: cli, productivity, unix.
- [vdirsyncer](https://pkg.so/brew/vdirsyncer/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [remind](https://pkg.so/brew/remind/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [khal](https://pkg.so/brew/khal/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [calcurse](https://pkg.so/brew/calcurse/) - Shares pkgdb curated category or tags: calendar, cli, productivity.
- [far2l-tty](https://pkg.so/brew/far2l-tty/) - Local package facts share a topical domain. Shared terms: cli, manager, productivity, unix.
- [jcal](https://pkg.so/brew/jcal/) - Local package facts share a topical domain. Shared terms: calendar, cli, productivity, unix.

## Combined YAML source

View the package source record on GitHub. [combined/when.yml](https://github.com/mxcl/pkgdb/blob/main/combined/when.yml)


## Sources

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