- Rust 49.3%
- CSS 25.5%
- Svelte 17%
- Kotlin 4%
- Nix 2.2%
- Other 2%
|
All checks were successful
build-test / test-tauri (, ubuntu-22.04) (push) Successful in 7m1s
Reviewed-on: #29 Reviewed-by: human489 <me@yahya-ahmad.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| .idea | ||
| .vscode | ||
| src | ||
| src-tauri | ||
| static | ||
| .envrc | ||
| .gitignore | ||
| bun.lock | ||
| common.nix | ||
| flake.lock | ||
| flake.nix | ||
| package.json | ||
| README.md | ||
| shell.nix | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.js | ||
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:
-
Go to Settings > About Phone.
-
Tap Build Number 7 times until it says "You are now a developer."
-
Go to Settings > System > Developer Options.
-
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.