Health
A fitness and health tracking app for GNOME written in Rust, recording weight, steps, and activities with goal tracking and optional Google Fit sync.
Health is a fitness and health tracking application for the GNOME desktop,
written in Rust with GTK4 and libadwaita. It provides a clean,
privacy-respecting way to record body weight, step counts, and physical
activities over time — all stored locally without requiring a cloud account.
Optional synchronisation with Google Fit is available for users who already
track data there.
Features
- Weight tracking — log body weight entries and view a trend graph showing progress over time
- Step counting — record daily step counts manually or import them from connected data sources
- Activity logging — add activities such as running, cycling, swimming, and hiking with duration and distance
- Personal goals — set targets for weight, daily steps, and weekly activity minutes; the dashboard shows progress toward each goal
- Google Fit sync — import historical data from Google Fit for users migrating to a local-first workflow
- CSV export — export all recorded data to CSV for use in spreadsheets or other tools
- Adaptive GNOME UI — follows libadwaita design guidelines, supports dark and light mode, and adapts to narrow screens
- Fully local — no mandatory account or cloud service; all data lives in a local SQLite database
Installation
The recommended install method is Flatpak from Flathub, which works on any Linux distribution with Flatpak support:
# All distributions (Flatpak)
flatpak install flathub dev.Cogitri.Health
For Debian/Ubuntu and Fedora, use the Flatpak above. Native distribution packages may be available but Flathub is the canonical release channel.
# Nix
nix-env -iA nixpkgs.gnome-health
To build from source you need Rust (stable via rustup), Meson, and the GTK4 +
libadwaita development headers:
# Install build dependencies (Debian / Ubuntu)
sudo apt install meson libgtk-4-dev libadwaita-1-dev \
libsqlite3-dev pkg-config
# Install build dependencies (Fedora)
sudo dnf install meson gtk4-devel libadwaita-devel \
sqlite-devel pkg-config
# Clone and build
git clone https://gitlab.gnome.org/World/health
cd health
meson setup _build --prefix=/usr
ninja -C _build
sudo ninja -C _build installUsage
Launch Health from your application menu or run:
# Flatpak
flatpak run dev.Cogitri.HealthLogging a weight entry
Open the Weight tab and click the + button. Enter your weight in the configured unit (kg or lbs) and confirm. The graph updates immediately to show the new data point alongside your trend line.
Recording an activity
Switch to the Activities tab and click +. Select the activity type, enter the duration in minutes, and optionally add a distance. Health will calculate whether the session contributes to your weekly activity goal.
Setting goals
Open Preferences from the menu. Set your target body weight, daily step count, and weekly active minutes. The dashboard home screen shows coloured progress rings for each goal based on the current week's data.
Importing from Google Fit
In Preferences, navigate to Data Providers and connect your Google account. Health will download historical weight, step, and activity data and merge it with locally recorded entries.
Health vs other fitness trackers
| Feature | Health | Waistline | Gnome Fitness |
|---|---|---|---|
| Written in | Rust | Python | — |
| GTK4 + libadwaita | ✅ | ❌ | — |
| Weight tracking | ✅ | ✅ | — |
| Activity logging | ✅ | ❌ | — |
| Step counting | ✅ | ❌ | — |
| Google Fit sync | ✅ | ❌ | — |
| Flatpak on Flathub | ✅ | ✅ | — |
Health is the most fully featured GNOME-native fitness tracker and the only one in active development written in Rust. For users who want a simple weight-only tracker, Waistline is an alternative, but Health's broader activity and step tracking make it the better default choice on a modern GNOME desktop.