Kaidan

Cross-platform chat client for the XMPP protocol

Declared in: projects/Kaidan/default.nix

Try the service in a VM

  1. 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
  2. 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;
      }
    
    )
    
  3. 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='
  4. 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
  5. Usage Instructions
    1. Once the graphical environment is running, open Kaidan from 'Menu > Network'.

    2. Right-click on its entry on the window bar and choose "Maximize Alt+f10" to fit the Kaidan window to the screen size.

    3. NOTE: You need an XMPP user account to use Kaidan. If you don't have one, two demo-user accounts, alice and john, are available.

    4. Login as the first user:

      • Chat address: john@example.org
      • Password: foobar

    5. 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.

    6. 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
programs.kaidan.enable

Whether to enable enable Kaidan.

Type:
boolean
Default:
false
Declared in:
projects/Kaidan/programs/kaidan/module.nix
programs.kaidan.package

The kaidan package to use.

Type:
package
Default:
pkgs.kaidan
Declared in:
projects/Kaidan/programs/kaidan/module.nix

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

This project is funded by NLnet through these subgrants:

Related links: