github.com/variadico/noti is moving to codeberg.org/roble/noti
Effective immediately, the latest development source code will be hosted at https://codeberg.org/roble/noti/
Over the past few years, I've been trying out different code forges. This last year, I found that I've been using my Codeberg account the most. The thing I value the most about Codeberg is that it's an Open Source platform (based on Forgejo). I also like the UI/UX Codeberg has to offer.
Migration plan
- Create repo at codeberg.org/roble/noti
- Setup CI at codeberg.org/roble/noti
- Copy issues to codeberg.org/roble/noti/issues
- Copy releases to codeberg.org/roble/noti/releases
- Resolve open pull requests on github.com/variadico/noti
- Disable pull requests at github.com/variadico/noti
- Disable issues at github.com/variadico/noti
- Post notice on github.com/variadico/noti
- Update consumer URLs to point to codeberg.org/roble/noti
- Archive github.com/variadico/noti
Timeline
I expect the entire process to take months, both because of life and also to give people time to learn about this change.
Other notes
The maintainer is not changing. I'm variadico on GitHub, but roble on Codeberg. I'm the same person. This isn't a supply chain hack.
I'll update the readme as necessary with any updates.
Monitor a process and trigger a notification.
Never sit and wait for some long-running process to finish. Noti can alert you when it's done. You can receive messages on your computer or phone.
Noti can send notifications on a number of services.
| Service | macOS | Linux | Windows |
|---|---|---|---|
| Banner | ✔ | ✔ | ✔ |
| Speech | ✔ | ✔ | ✔ |
| BearyChat | ✔ | ✔ | ✔ |
| Keybase | ✔ | ✔ | ✔ |
| Mattermost | ✔ | ✔ | ✔ |
| Pushbullet | ✔ | ✔ | ✔ |
| Pushover | ✔ | ✔ | ✔ |
| Pushsafer | ✔ | ✔ | ✔ |
| Simplepush | ✔ | ✔ | ✔ |
| Slack | ✔ | ✔ | ✔ |
| Telegram | ✔ | ✔ | ✔ |
| Zulip | ✔ | ✔ | ✔ |
| Twilio | ✔ | ✔ | ✔ |
| GChat | ✔ | ✔ | ✔ |
| Chanify | ✔ | ✔ | ✔ |
| Bark | ✔ | ✔ | ✔ |
| ntfy | ✔ | ✔ | ✔ |
Check the screenshots directory to see what the notifications look like on different platforms.
Install the Go binary with these commands.
# macOS install with Brew
brew install noti
# macOS install with curl
curl -L $(curl -s https://api.github.com/repos/variadico/noti/releases/latest | awk '/browser_download_url/ { print $2 }' | grep 'darwin-amd64' | sed 's/"//g') | tar -xz
# Linux install with curl
curl -L $(curl -s https://api.github.com/repos/variadico/noti/releases/latest | awk '/browser_download_url/ { print $2 }' | grep 'linux-amd64' | sed 's/"//g') | tar -xzOr download it with your browser from the latest release page.
If you want to build from the source, then build like this.
# build binary
make buildNoti reads configuration from a YAML file.
It uses the following search order (unless overridden by the --file flag):
./.noti.yaml- Then:
- If
$XDG_CONFIG_HOMEis set:$XDG_CONFIG_HOME/noti/noti.yaml
- Otherwise:
$HOME/.config/noti/noti.yaml
- If
There is an example configuration file, and a JSON schema for it, in the docs directory.
Just put noti at the beginning or end of your regular commands. For more details, check the docs.
Display a notification when tar finishes compressing files.
noti tar -cjf music.tar.bz2 Music/Add noti after a command, in case you forgot at the beginning.
clang foo.c -Wall -lm -L/usr/X11R6/lib -lX11 -o bizz; notiIf you already started a command but forgot to use noti, then you can do this to get notified when that process' PID disappears.
noti --pwatch 1234You can also press ctrl+z after you started a process. This will temporarily suspend the process, but you can resume it with noti.
$ dd if=/dev/zero of=foo bs=1M count=2000
^Z
zsh: suspended dd if=/dev/zero of=foo bs=1M count=2000
$ fg; noti
[1] + continued dd if=/dev/zero of=foo bs=1M count=2000
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 12 s, 175 MB/s
Additionally, noti can send a message piped from stdin with -.
$ make test 2>&1 | tail --lines 5 | noti -t "Test Results" -m -