# Install dwm with Homebrew, apk, apt, Nix

Dynamic window manager. Version 6.8 via Homebrew; verified 2026-06-25. Also installable with debian: sudo apt install dwm.

## Install

```sh
sudo av install brew:dwm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dwm
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add dwm
```

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

- Debian apt (92%):

```sh
sudo apt install dwm
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#dwm
```

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

## Package facts

- **Package key:** brew:dwm
- **Package manager:** Homebrew
- **Version:** 6.8
- **Source summary:** Dynamic window manager
- **Homepage:** <https://dwm.suckless.org/>
- **Last updated:** 2026-06-25T13:37:39+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- dwm (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 6.8
## Project history and usage

dwm is the suckless dynamic window manager for X. The official page describes tiled, monocle, and floating layouts, tag-based window grouping, a small status bar, and a design that is intentionally smaller, faster, and simpler than predecessors such as ion, larswm, and wmii.

### Project history

The official git refs show dwm 0.1 tagged on 2006-07-14 by Anselm R. Garbe, followed by rapid 0.x and 1.x releases in 2006. By the 4.x and 5.x series it had settled into the small-C-source, edit-and-rebuild configuration style that became central to the suckless identity.

The official customisation page explains the distinctive model: dwm is configured by editing config.h, a C header included by dwm.c, and config.mk for build/install settings. The main page argues that source-code configuration is fast and secure because dwm does not process unknown runtime configuration input apart from window titles and status text.

### Adoption history

dwm's own site says binary packages are somewhat beside the point because users are expected to customize source, while also acknowledging that some distributions provide packages. The batch input lists apk, Homebrew, Debian, Nix, and Ubuntu, showing the tension that makes dwm famous in packaging culture: it is widely packaged even though upstream thinks the most authentic install is local source customization.

### How it is used

Users run dwm as an X window manager, arrange clients dynamically across tiled, monocle, and floating layouts, tag windows instead of placing them into conventional workspaces, and feed status text through the root window name. Customization usually means editing config.h, applying patches from the official patch collection, rebuilding, and carrying the local diff forward.

### Why package nerds care

dwm is one of the canonical minimalist Unix desktop packages. It is tiny, patch-oriented, hostile to sprawling configuration layers, and influential far beyond its source size. For package nerds it is a touchstone in debates about source-as-config, downstream patch stacks, reproducible personal builds, and how far a package manager should go when upstream expects users to edit C.

### Timeline

- 2006: dwm 0.1 tagged in the official git repository.
- 2007: 4.x releases continue rapid development of the early design.
- 2011: dwm 6.0 tagged.
- 2019: dwm 6.2 tagged after a slower mature-release cadence.
- 2026: dwm 6.8 released on 2026-01-30; official refs show master activity in March 2026.

### Related projects

- The official page places dwm against ion, larswm, and wmii, points users to dmenu, and lists related or influenced projects including awesome, dvtm, dwl, i3, qtile, scrotwm, xmonad, and several dwm forks or ports.

### Sources

- <https://dwm.suckless.org/>
- <https://dwm.suckless.org/customisation/>
- <https://git.suckless.org/dwm/refs.html>
- <https://git.suckless.org/dwm>


## 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: config.h
## Other Package-Manager Records

- Debian apt - dwm - 6.5-1: normalized package name match | Debian stable package indexes: dwm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dynamic window manager | http://dwm.suckless.org/
- Nix - dwm: normalized package name match | nixpkgs package indexes: pkgs/by-name/dw/dwm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - dwm - 6.4-1: normalized package name match | Ubuntu 24.04 LTS package indexes: dwm from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dynamic window manager | https://dwm.suckless.org/
- apk - dwm - 6.8-r0: normalized package name match | Alpine Linux edge package indexes: dwm from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dwm - dynamic window manager | https://dwm.suckless.org
- apk - dwm-doc - 6.8-r0: normalized package name match | Alpine Linux edge package indexes: dwm-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dwm - dynamic window manager (documentation) | https://dwm.suckless.org


## Combined YAML source

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


## Sources

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