Kaidan
Cross-platform chat client for the XMPP protocol
Try the service in a VM
-
Install Nix
- Arch Linux
-
- Bash
-
$ pacman --sync --refresh --noconfirm curl git jq nix
- Debian
-
- Bash
-
$ apt install --yes curl git jq nix
- Ubuntu
-
- Bash
-
$ apt install --yes 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
- Arch Linux, Debian Sid/Trixie and Ubuntu 25.04
-
- Bash
-
$ nix-build ./default.nix && ./result
- Ubuntu 24.04/24.10
-
- 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"
- 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 have an account, use that to login and you should be able to send/receive a message. If you don't have one, two demo-user accounts, `alice` and `john`, are available. Login as the first user: - Chat address: `john@example.org` - Password: `foobar` 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 to `alice`. You can verify that `alice` has received the message by logging out `john` and logging in as `alice` - Chat address: `alice@example.org` - Password: `foobar`
Options
programs.kaidan
-
Whether to enable enable Kaidan.
- Type:
boolean
- Default:
false
-
The kaidan package to use.
- Type:
package
- Default:
pkgs.kaidan
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; }
This project is funded by NLnet through these subgrants:
Related links: