row echelon form i guess i dont really know. supposedly a good matrix client (hopefully)
  • Rust 49.3%
  • CSS 25.5%
  • Svelte 17%
  • Kotlin 4%
  • Nix 2.2%
  • Other 2%
Find a file
flaxeneel2 fb72dace3e
All checks were successful
build-test / test-tauri (, ubuntu-22.04) (push) Successful in 7m1s
Merge pull request 'refactor' (#29) from refactor into master
Reviewed-on: #29
Reviewed-by: human489 <me@yahya-ahmad.com>
2026-06-20 22:43:46 +02:00
.forgejo/workflows make check also not run on PR to master since we are already running the full build there 2026-06-20 14:38:12 +01:00
.idea got rid of discord.xml in git :/ 2026-02-28 15:51:07 +00:00
.vscode startt 2026-02-14 02:56:46 +00:00
src fix issue pointed out by svelte check 2026-06-20 14:12:40 +01:00
src-tauri Merge branch 'master' into refactor 2026-06-20 22:20:07 +02:00
static Completed documentation and initial frontend 2026-03-08 03:15:52 +00:00
.envrc Fixed flake.nix and shell.nix and added direnv so life is not a pain 2026-02-19 01:53:33 +00:00
.gitignore dont really need copilot files in the repo 2026-03-22 03:44:04 +00:00
bun.lock update everything 2026-06-19 19:00:42 +01:00
common.nix make a common.nix to make our lives easier in the future 2026-03-22 00:27:43 +00:00
flake.lock Started OAuth2 manually for some reason and fixed flake.nix to add rust-rover 2026-02-22 18:17:20 +00:00
flake.nix switch over to keyring core entirely, remove keyring, use respective native stores 2026-06-19 21:36:19 +01:00
package.json update everything 2026-06-19 19:00:42 +01:00
README.md switch to check for non master branches 2026-06-20 14:03:48 +01:00
shell.nix make a common.nix to make our lives easier in the future 2026-03-22 00:27:43 +00:00
svelte.config.js startt 2026-02-14 02:56:46 +00:00
tsconfig.json startt 2026-02-14 02:56:46 +00:00
vite.config.js startt 2026-02-14 02:56:46 +00:00

Echelon

A (hopefully) good cross-platform client for matrix servers.

Note

The main git is on https://git.flaxeneel2.net/streigen/echelon . Github is just a push mirror

Contributing

Currently, this is just a personal project with some uni friends, but we are always open for feature requests and bug reports.

Building

Pre requisites

  • Rust
  • Bun (Node.js probably works too, but we use bun for development)
  • Android studio with android SDK 35. (if you plan on building for android)
  • Xcode (if you plan on building for macOS/iOS)

If you are on NixOS, you can use the provided shell.nix to get a development environment with all the necessary dependencies.

Run nix-shell shell.nix to enter the development environment.

Alternatively, you can use the provided direnv to automatically enable the environment when you cd into the project root.

Ensure this is inside your configuration.nix:

{
  # Allows the direnv manager to always be available
  programs.direnv = {
    enable = true;
    nix-direnv.enable = true;

    # This ensures the shell integration is loaded for bash/zsh
    enableBashIntegration = true;
    enableZshIntegration = true;
  };
}

Then restart your terminal, and cd into the project directory and enable direnv by using the command it displays and the environment should work!

Installing dependencies

To install dependencies, run:

bun install

Development and Building for Desktop

To build for desktop, run:

bun run tauri build

Development and Building for Android

Linux Devices

To run the app via an Android emulator, first run the following to start the emulator:

run-test-emulator

Then, to run the application in the emulator:

bun run tauri android dev

We recommend using an Android device if your hardware acceleration is broken for the Android SDK on Linux,

To do so, you need to follow the following steps on your device:

  1. Go to Settings > About Phone.

  2. Tap Build Number 7 times until it says "You are now a developer."

  3. Go to Settings > System > Developer Options.

  4. Enable USB Debugging.

on NixOS, you need to add this to your config:

{
    programs.adb.enable = true;
    users.users.YOURUSERNAMEHERE.extraGroups = [ "adbusers" ];
}

On non-NixOS systems, you need to ensure your user is in the adbusers group, and you have the correct udev rules implemented.

On Windows, you should not have any issues (hopefully), but it has not been tested yet.

To run in a dev environment, run the command:

bun run tauri android dev --host 127.0.0.1

To build for android, run:

bun run tauri android build

Licensed Software

All software used can be found inside THIRD_PARTY_LICENSES.md, or if the URL is broken for some reason;

At static/THIRD_PARTY_LICENSES.md inside this repository.