Check your cloud spending from the CLI, from Waybar, and from the macOS menu bar! https://xn--gckvb8fzb.com
Find a file
2026-02-04 01:19:09 +09:00
.github Fix goreleaser action 2025-12-15 15:50:40 +01:00
cloud Rename github.com/mrusme -> xn--gckvb8fzb.com 2026-02-04 01:04:13 +09:00
lib Implemented GitHub 2022-09-02 18:13:38 -05:00
menu Update macdriver -> darwinkit API 2026-02-04 01:19:09 +09:00
.editorconfig Implemented initial draft 2022-09-01 02:18:27 -05:00
.gitignore Add dist to gitignore 2026-02-04 01:10:09 +09:00
.goreleaser.yaml Update macdriver->darwinkit 2025-12-15 15:32:38 +01:00
cloudcash.go Rename github.com/mrusme -> xn--gckvb8fzb.com 2026-02-04 01:04:13 +09:00
go.mod Rename github.com/mrusme -> xn--gckvb8fzb.com 2026-02-04 01:04:13 +09:00
go.sum Update Vultr client to v3, adjust AccountBalance 2026-02-04 01:01:52 +09:00
LICENSE Added LICENSE, FUNDING.md 2022-09-01 12:16:57 -05:00
README.md Update README.md 2025-07-15 14:02:31 -05:00
screenshot-macos.png Updated screenshots, README.md 2022-09-01 22:28:37 -05:00
screenshot-waybar.png Updated screenshots, README.md 2022-09-01 22:28:37 -05:00

Cloudcash

Check your cloud spending from the CLI, from Waybar, and from the macOS menu bar!

Waybar

Cloudcash on Waybar

macOS menu bar

Cloudcash on macOS

Supported cloud services

Build

go build .

Configuration

Only add the services that you want to use and delete all the others:

cat ~/.config/cloudcash.toml
[Waybar]
Pango = "  {{.Name}} <span color='#aaaaaa'>${{.Status.CurrentCharges}}</span> [<span color='#aaaaaa'>${{.Status.PreviousCharges}}</span>]"
PangoJoiner = " · "

[Menu]
Template = "{{.Name}} ${{.Status.CurrentCharges}}"
Joiner = " · "
IsDefault = false

[Service]

[Service.Vultr]
APIKey = "XXXX"

[Service.DigitalOcean]
APIKey = "XXXX"

[Service.AWS]
AWSAccessKeyID = "AAAA"
AWSSecretAccessKey = "XXXX"
Region = "us-east-1"

[Service.GitHub]
APIKey = "XXXX"
Users = [
  "mrusme"
]
Orgs = [ 
  "paper-street-soap-co"
]

Alternative paths for configuration file:

  • /etc/cloudcash.toml
  • $XDG_CONFIG_HOME/cloudcash.toml
  • $HOME/.config/cloudcash.toml
  • $HOME/cloudcash.toml
  • ./cloudcash.toml

Note regarding GitHub: You can specify multiple users/orgs, which are queried and added up to one total amount. Calculation is done locally, based on the paid minutes reported by the GitHub API and the officially available numbers, and could be off to a certain degree, due to additional costs that might have incurred on GitHub.

Waybar

The Pango template used in the -waybar-pango output is used per service, separated by the PangoJouner string. To make it clear, if Pango is <span>{{.Name}}</span> and PangoJoiner is - then the output for two services (e.g. Vultr and AWS) would be:

<span>Vultr</span> - <span>AWS</span>

The Pango configuration uses Go's text/template.

macOS menu bar

The Template in Menu is what is used to render the macOS menu bar widget. As with the Waybar output, the template is per service, separated by the Joiner string. Unlike the Waybar.Pango configuration, Menu.Template does not support Pango, but it can include things like Emojis.

To always run in menu mode, set Menu.IsDefault to true.

Use

CLI (text)

cloudcash

CLI (JSON)

cloudcash -json

Waybar

rg -NA6 'cloudcash":'  ~/.config/waybar/config
  "custom/cloudcash": {
    "format": "{}",
    "return-type": "json",
    "exec": "/usr/local/bin/cloudcash -waybar-pango",
    "on-click": "",
    "interval": 3600
  },

macOS menu bar

cloudcash -menu-mode 

Alternatively set Menu.IsDefault to true in configuration.