Warning
Nexus Client is still heavily in development, and is not ready for use!
A simple and user-friendly Matrix client made with Flutter and the Matrix Dart SDK.
| Dark Mode | Light Mode |
|---|---|
![]() |
![]() |
- Move from the Dart SDK to the Gomuks SDK with Dart bindings: https://git.federated.nexus/Henry-Hiles/nexus/pulls/2
- Platform Support
- Linux
- Windows
- MacOS
- Android
- iOS
- Web (may not be possible)
- Login
- Username / password auth
- OAuth / OIDC
- Rooms / Spaces
- Displaying and choosing
- Reading, showing unread
- Mark as read button on rooms and spaces
- Searching
- Creating (Rooms, Spaces, and DMs)
- Joining
- Using a text/uri/link
- Plain text
-
matrix:Uri - Matrix.to link: I just need to fix my regex, I should do this next.
- From space
- Exploring
- Using a text/uri/link
- Leaving
- Subspaces
- Messages
- Encryption
- Restoring crypto identity from passphrase/key or verification
- Sending
- Plain text
- HTML/Markdown
- Replies
- Attachments
- Mentions
- Users
- Rooms
- Custom emojis/stickers
- GIFs using Giphy
- Recieving
- Plain text
- HTML
- Replies
- Viewing
- Jump to original message
- Edits
- Attachments
- Blurhashing
- Downloading attachments
- Opening attachments in their own view
- Polls: Waiting on SwanFlutter/dynamic_polls#1
- Mentions
- Users
- Rooms
- Plain text (not sure if I want to add this or not, I probably won't unless there's interest)
- Matrix URIs
- Matrix.to links
- Custom emojis/stickers
- History loading
- Backwards
- Forwards
- Editing
- Deleting
- Encryption
- Reactions: Waiting on flyerhq/flutter_chat_ui#838 or me doing a custom impl
- Pins
- Displaying
- Creating
- Threads
- Profile popouts
- Copy link to [room, space]
- Reporting
- Notifications using UnifiedPush
- Group calls using MSC4195
- Invites
- Viewing / accepting
- Spam filtering
- Settings
- Light/Dark mode
- Show media by default
- Dynamic Theming
- Devices
- Viewing devices
- Verifying devices
- URL preview: Server / Client / None
- Account changes
- Display name
- Profile picture
- Timezone
- Pronouns
- Password
- About
- Log Out
First, clone and open the repo:
git clone https://git.federated.nexus/Henry-Hiles/nexus
cd nexus- With Nix: Either use direnv, or
nix flake develop - Without Nix: Install Flutter, Go, Olm, Git, Clang, and GLibc.
I don't really know. You will need Flutter, Git, Olm, Go, and Visual Studio tools, and otherwise I guess just keep installing stuff until there aren't any errors. I will look into this sometimeTM.
Get dependencies:
flutter pub getGet dependencies:
flutter pub getClone Gomuks and generate bindings:
scripts/generate.shBuild generated files, and watch for new changes:
flutter pub run build_runner watch --delete-conflicting-outputsRun the app:
flutter runJoin the Nexus Client Matrix Room for questions or help with developing or using Nexus Client.

