Install
n0te runs on Linux with GTK 4.20 or newer. It’s made for Omarchy (Hyprland with Omarchy’s Lua config), and works best there, but the reader and editor run on any GTK desktop. See Without Omarchy below.
Download
n0te comes as a download for x86_64 Linux, built on Arch: the two programs, an install script and the licenses.
curl -fLO https://n0te.dhin.dev/download/n0te-x86_64-linux.tar.gz
curl -fLO https://n0te.dhin.dev/download/SHA256SUMS
sha256sum -c SHA256SUMS
tar -xf n0te-x86_64-linux.tar.gz
./n0te/install.sh
n0te --setup
install.sh copies n0te and n0te-app into ~/.local/bin and adds the short name n0 next to them. It touches nothing else. To install somewhere else, set N0TE_BIN=/path/to/bin when you run it. ~/.local/bin must be on your PATH, which it is on Omarchy. n0te --setup then wires n0te into your session; see Set up Omarchy.
The binaries need GTK 4.20 or newer and glibc 2.39 or newer, which current Arch and Omarchy have. Check with pacman -Q gtk4 glibc. Other distributions work when theirs are at least that new.
Note
The source code and an AUR package are coming once the repository goes public. Until then, the download is the way to install n0te.
Set up Omarchy
n0te --setup # super n, start at login, theme, completion
n0te --setup default # the same, and .md files open in n0te
Setup says what it did, one line per step. It installs:
| What | Where |
|---|---|
super n opens n0te; the service starts at login | ~/.config/hypr/n0te.lua, loaded from hyprland.lua with one require line |
| The app entry (so n0te shows in the app launcher) | ~/.local/share/applications/n0te.desktop, unless the package installed one |
| The theme template, rendered into each Omarchy theme | ~/.config/omarchy/themed/n0te.css.tpl |
Tab completion for n0te and n0 in bash | ~/.local/share/bash-completion/completions/, unless the package installed it |
With default: n0te opens text/markdown | xdg-mime; the app that had them is remembered |
Running setup again is harmless. If you’ve changed the app entry, the template or the completion file, setup keeps yours. The settings page (ctrl , in n0te) switches the same things on and off one at a time. Paths follow XDG_CONFIG_HOME, XDG_DATA_HOME and XDG_STATE_HOME when they’re set.
The theme template takes effect at your next theme switch, when Omarchy renders it. Until then n0te reads the theme’s colors.toml directly, which looks nearly the same.
Without Omarchy
Everything except the Omarchy wiring works on any Linux desktop with GTK 4.20: reading, editing, the palette, the service.
- Colors: without an Omarchy theme, n0te uses its own dark palette.
super n: setup skips it when there’s no~/.config/hypr/hyprland.lua. Bindn0teto a key yourself. On Hyprland with a classic config, that’sbind = SUPER, N, exec, n0te.- Start at login: optional. Run
n0te --servicefrom your session’s autostart and even the first open is instant. Without it, the firstn0of a session starts the service itself. - A vault: n0te finds the vault Obsidian has open. Without Obsidian, set one in
~/.config/n0te/config.toml(vault = "/path/to/notes"). Without a vault, n0te still opens any file.
Fonts
n0te sets notes in iA Writer Quattro S, which Omarchy ships, and code in your monospace font (on Omarchy, the one you picked in its font menu). Elsewhere, install ttf-ia-writer from the AUR, or n0te falls back to IBM Plex Sans, then your default sans.
Updating
Download the new tarball and run its install.sh again, as above; your settings and setup stay as they are. Then stop the old service, which is still running the previous version:
n0 --quit
It saves every open note first. The next n0 starts the new version. n0te --version says which one you have.
Uninstall
n0te --setup remove # undoes everything setup did, and gives .md files back
n0 --quit
rm ~/.local/bin/n0te ~/.local/bin/n0te-app ~/.local/bin/n0
--setup remove leaves the app entry, the theme template and the completion file if you’ve edited them; it always deletes ~/.config/hypr/n0te.lua, which is n0te’s own. Your settings stay in ~/.config/n0te/ until you delete them.