# Install garmintools with Homebrew, dnf, Nix

Interface to the Garmin Forerunner GPS units. Version 0.10 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#garmintools.

## Install

```sh
sudo av install brew:garmintools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install garmintools
```

  Evidence: local Homebrew formula metadata

### Linux

- dnf (92%):

```sh
sudo dnf install garmintools
```

  Evidence: Fedora Rawhide package metadata: garmintools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#garmintools
```

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

## Package facts

- **Package key:** brew:garmintools
- **Package manager:** Homebrew
- **Version:** 0.10
- **Source summary:** Interface to the Garmin Forerunner GPS units
- **Homepage:** <https://code.google.com/archive/p/garmintools/>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- garmin_dump (alias)
- garmin_gchart (alias)
- garmin_get_info (alias)
- garmin_gmap (alias)
- garmin_gpx (alias)
- garmin_save_runs (alias)

## Install behavior

- Bottle: not available

## Freshness

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

garmintools is a C utility suite for Linux users communicating with Garmin Forerunner GPS devices over USB.

### Project history

The official source archive says implementation began on 30 December 2006. Dave Bailey wrote the software for his Garmin Forerunner 305 after finding that gpsbabel did not expose the Forerunner run and lap data workflows he wanted from the command line.

The 0.10 source archive includes utilities such as garmin_get_info, garmin_save_runs, garmin_dump, garmin_gmap, garmin_gchart, and garmin_gpx, plus a libusb-based C API in src/garmin.h.

### Adoption history

The project reflects the mid-2000s Linux hardware-support pattern: vendor devices, documented USB protocols, libusb, and command-line tools built by users to recover data workflows missing from official desktop software. Later package availability in Homebrew, Fedora, and Nix kept the old toolchain installable.

### How it is used

garmintools can get device information, save Forerunner runs into .gmn files, dump .gmn contents, produce Google Maps encoded polyline output, and export GPX data. The README warns users that the Linux garmin_gps kernel module conflicts with the userspace tool.

### Why package nerds care

garmintools is a classic package-manager preservation case: a small C/libusb utility for specific physical hardware, born before modern fitness-device sync ecosystems, still useful enough to carry in source-based and binary package collections.

### Timeline

- 2006: Initial implementation began on 30 December.
- 2007: README dated 22 February documented Forerunner 205/305 USB workflows.
- 2008: 0.06 added man pages and 0.08 added garmin_gchart and garmin_gpx.
- 2009: 0.10 renamed the library to libgarmintools.

### Related projects

- garmintools is related to Garmin Forerunner devices, libusb, the Garmin protocol SDK, gpsbabel, and Linux kernel Garmin USB support.

### Sources

- <https://code.google.com/archive/p/garmintools>
- <https://code.google.com/archive/p/garmintools/source>
- <https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/garmintools/garmintools-0.10.tar.gz>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - garmintools: normalized package name match | nixpkgs package indexes: pkgs/by-name/ga/garmintools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - garmintools - 0.10-35.fc45: normalized package name match | Fedora Rawhide package metadata: garmintools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Tools for Garmin GPS-devices | https://garmintools.googlecode.com
- dnf - garmintools-devel - 0.10-35.fc45: normalized package name match | Fedora Rawhide package metadata: garmintools-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Development-files for garmintools | https://garmintools.googlecode.com


## Combined YAML source

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