Kaidan
Cross-platform chat client for the XMPP protocol
Declared in: projects/Kaidan/default.nix
Try the service in a VM
-
Install Nix
- Bash
-
$ apt install --yes curl git jq nix
- Bash
-
$ apt install --yes curl git jq nix
- Bash
-
$ pacman --sync --refresh --noconfirm curl git jq nix
-
Download a configuration file
# default.nix { ngipkgs ? import (fetchTarball "https://github.com/ngi-nix/ngipkgs/tarball/main") { }, }: ngipkgs.demo-vm ( { programs.kaidan.enable = true; # Enable graphical session services.xserver.enable = true; } )
-
Enable binary substituters
- Bash
-
$ export NIX_CONFIG='substituters = https://cache.nixos.org/ https://ngi.cachix.org/ trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ngi.cachix.org-1:n+CAL72ROC3qQuLxIHpV+Tw5t42WhXmMhprAGkRSrOw='
-
Build and run a virtual machine
- Bash
-
$ nix-build ./default.nix && ./result
- Bash
-
$ nix-build ./default.nix && ./result
- Bash
-
$ rev=$(nix-instantiate --eval --attr sources.nixpkgs.rev https://github.com/ngi-nix/ngipkgs/archive/master.tar.gz | jq --raw-output)$ nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz --packages nix --run "nix-build ./default.nix && ./result"
- Bash
-
$ nix-build ./default.nix && ./result
-
Usage Instructions
-
Once the graphical environment is running, open Kaidan from 'Menu > Network'.
-
Right-click on its entry on the window bar and choose "Maximize Alt+f10" to fit the Kaidan window to the screen size.
-
NOTE: You need an XMPP user account to use Kaidan. If you don't have one, two demo-user accounts,
aliceandjohn, are available. -
Login as the first user:
- Chat address:
john@example.org - Password:
foobar
- Chat address:
-
When logged in, choose "add contact by chat address" on the hamburger menu. Add
alice@example.com, and a chat will be started. Send a message toalice. -
You can verify that
alicehas received the message by logging outjohnand logging in asalice- Chat address:
alice@example.org - Password:
foobar
- Chat address:
-
Options
programs.kaidan
-
Whether to enable enable Kaidan.
- Type:
boolean- Default:
false- Declared in:
- projects/Kaidan/programs/kaidan/module.nix
-
The kaidan package to use.
- Type:
package- Default:
pkgs.kaidan- Declared in:
- projects/Kaidan/programs/kaidan/module.nix
programs.kaidan.enable
programs.kaidan.package
Examples
Kaidan with local XMPP server and self-signed certs
{ programs.kaidan.enable = true; # Enable graphical session services.xserver.enable = true; }
Declared in: projects/Kaidan/programs/kaidan/examples/demo.nix
Metadata
This project is funded by NLnet through these subgrants:
- Commons
- Kaidan-MUC
- Entrust
- Kaidan-Auth
- Review
- Kaidan
- Kaidan-AV
- Kaidan-Groups
- Kaidan-Mediasharing
Related links: