# Install dtools with Homebrew, apk, Nix, pacman, apt

D programming language tools. Version 2.112.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#dtools.

## Install

```sh
sudo av install brew:dtools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dtools
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add dtools
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#dtools
```

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

- pacman (92%):

```sh
sudo pacman -S dtools
```

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

- Debian apt (92%):

```sh
sudo apt install dustmite
```

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

## Package facts

- **Package key:** brew:dtools
- **Package manager:** Homebrew
- **Version:** 2.112.0
- **Source summary:** D programming language tools
- **Homepage:** <https://dlang.org/>
- **Repository:** <https://github.com/dlang/tools>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ddemangle (alias)
- dustmite (alias)
- rdmd (alias)

## Install behavior

- Bottle: not available

## Freshness

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

dtools is the Homebrew packaging name for the D language's ancillary tools repository. It packages command-line utilities around the D compiler ecosystem, most visibly `rdmd`, `dustmite`, and `ddemangle`.

### Project history

The dlang/tools repository was created in 2011 and describes itself as hosting tools redistributed with DMD or used internally for D build tasks. The public tools table includes a D symbol demangler, the `rdmd` build/run helper, and DustMite, a test-case minimization tool.

### Adoption history

The tools are adopted as part of the D language toolchain rather than as a standalone end-user application. Homebrew, Debian/Ubuntu, Alpine, Arch, Nix, and other package systems expose some or all of these utilities, with Debian-family packages especially focusing on DustMite.

### How it is used

`rdmd` is used to compile and run D source files with dependency tracking, `ddemangle` decodes D symbol names, and `dustmite` reduces failing source trees or test cases. The upstream README also documents building all tools with `make all` or individual tools with DUB.

### Why package nerds care

dtools is interesting because it is not one app: it is a grab bag of language-maintainer utilities that package managers have to present as a coherent formula. It also preserves older D workflow habits, such as single-file execution with `rdmd` and minimization with DustMite, in a single installable package.

### Timeline

- 2011: Public dlang/tools GitHub repository created.
- 2010s: Repository becomes the home for DMD-redistributed and internal D build tools.
- 2020s: Homebrew formula tracks dlang/tools release tags and installs public tools such as `ddemangle`, `dustmite`, and `rdmd`.

### Related projects

- Closely related projects include DMD, DUB, the D language website, the D wiki's development-tools index, and the original DustMite documentation.

### Sources

- <https://github.com/dlang/tools>
- <https://dlang.org/rdmd.html>
- <https://wiki.dlang.org/Development_tools>
- <https://formulae.brew.sh/api/formula/dtools.json>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Other Package-Manager Records

- Nix - dtools: normalized package name match | nixpkgs package indexes: pkgs/by-name/dt/dtools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - dtools - 2.112.0-r1: normalized package name match | Alpine Linux edge package indexes: dtools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Ancillary tools for the D programming language compiler | https://github.com/dlang/tools
- pacman - dtools - 2.112.0-1: normalized package name match | Arch Linux sync databases: dtools from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Ancilliary tools for the D programming language | https://www.dlang.org
- Debian apt - dustmite - 0.0.430-2.1+b1: installed executable or alias match | Debian stable package indexes: dustmite from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tool for minimizing D source code | https://github.com/CyberShadow/DustMite/wiki
- Ubuntu apt - dustmite - 0.0.430-2.1: installed executable or alias match | Ubuntu 24.04 LTS package indexes: dustmite from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tool for minimizing D source code | https://github.com/CyberShadow/DustMite/wiki


## Combined YAML source

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


## Sources

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