Installation
Binary download (recommended)
No OCaml installation required.
Linux (x86_64)
Using curl:
curl -L \
https://codeberg.org/duras/duras/releases/download/v2.0.0/duras-linux-amd64 \
-o ~/.local/bin/duras &&
chmod +x ~/.local/bin/duras
Using wget:
wget -O ~/.local/bin/duras \
https://codeberg.org/duras/duras/releases/download/v2.0.0/duras-linux-amd64 &&
chmod +x ~/.local/bin/duras
macOS (Apple Silicon)
curl -L \
https://codeberg.org/duras/duras/releases/download/v2.0.0/duras-macos-arm64 \
-o /usr/local/bin/duras &&
chmod +x /usr/local/bin/duras
macOS (Intel)
curl -L \
https://codeberg.org/duras/duras/releases/download/v2.0.0/duras-macos-amd64 \
-o /usr/local/bin/duras &&
chmod +x /usr/local/bin/duras
Verify
duras --version
If ~/.local/bin is not in your PATH, add this to your shell
configuration file (~/.bashrc, ~/.zshrc, etc.):
export PATH="$HOME/.local/bin:$PATH"
Available binaries
| File | Platform |
|---|---|
duras-linux-amd64 |
Linux x86_64 (Debian 12+, Ubuntu 22.04+, Fedora, Arch) |
duras-macos-arm64 |
macOS Apple Silicon (M1 to M5) |
duras-macos-amd64 |
macOS Intel |
macOS note
macOS may block unsigned binaries downloaded from the internet. If a security warning appears, remove the quarantine attribute:
xattr -d com.apple.quarantine /usr/local/bin/duras
Build from source
Requires OCaml (4.14 or later) and dune (3.0 or later).
On Debian or Ubuntu:
sudo apt install ocaml ocaml-dune
On macOS with Homebrew:
brew install ocaml dune
Then:
git clone https://codeberg.org/duras/duras.git
cd duras
make build
make install
This installs duras to /usr/local/bin/duras and the man page to
/usr/local/share/man/man1/duras.1.
To install to your home directory instead:
make install PREFIX=~/.local
OpenBSD
doas pkg_add duras
Verify
duras --version
duras today
Notes directory
By default, notes are stored in ~/Documents/Notes.
To use a different location, set the DURAS_DIR environment variable:
export DURAS_DIR=~/notes
Add this to your shell configuration file to make it permanent.
Editor
duras opens notes in the editor set by the EDITOR environment variable.
If EDITOR is not set, it tries nano, vi, and ed in that order.
export EDITOR=vim