Lesson 13 — Communication & Calls¶
Email, Matrix chat, video calls. Sources: vendor/nixproject/modules/home/selfhosted.nix (Thunderbird, Nheko), vendor/nixproject/modules/home/apps.nix (Zoom, Teams).
Thunderbird — email¶
Thunderbird connects to your Stalwart mail server at mymail.wilsoz.com.
First-time account setup¶
- Open Thunderbird
- Email → Set Up an Existing Email Account
- Enter your name, email address, and password
- Thunderbird will try to auto-detect — if it fails, enter manually:
- IMAP:
mymail.wilsoz.com, port993, SSL/TLS - SMTP:
mymail.wilsoz.com, port465(or587), SSL/TLS - Username: your LDAP username
- Click Done
The interface¶
Left panel → account tree (Inbox, Sent, folders)
Middle panel → message list
Right panel → message preview
Keyboard shortcuts¶
| Shortcut | Action |
|---|---|
N |
New message |
R |
Reply |
Shift-R |
Reply all |
F |
Forward |
Del |
Delete message |
M |
Mark as read/unread |
Ctrl-F |
Search messages |
F (in folder list) |
Filter messages |
Organising with folders and filters¶
Create a folder: Right-click your account → New Folder.
Set up filters (auto-sort incoming mail): 1. Tools → Message Filters → New 2. Set conditions (From, Subject, etc.) 3. Set action (Move to folder, Mark as read, etc.)
Filters run on new mail automatically.
Unified Inbox¶
If you have multiple accounts, Thunderbird → Local Folders → Unified Folders gives a combined view across all accounts.
Nheko — Matrix chat¶
Nheko connects to your Matrix server at chat.wilsoz.com (via Synapse). It's a lightweight native Qt client.
First-time setup¶
- Open Nheko
- Click Sign in
- Homeserver:
https://chat.wilsoz.com - Enter your Matrix username (e.g.
@marcus:chat.wilsoz.com) and password - Complete any verification steps
Secret storage / E2E encryption¶
Matrix uses end-to-end encryption (E2E) for DMs and encrypted rooms. Nheko uses secret storage to hold your encryption keys. On first login:
- Nheko will ask you to set up a Security Key or Recovery Phrase — do this and store it in Bitwarden
- If you see a "secret storage" error on first launch, this is what the
claude-fixon your USB stick fixed for the MacBook Air — the fix ensures the keyring (secret storage backend) is properly available in Sway
The interface¶
Useful shortcuts:
| Shortcut | Action |
|---|---|
Ctrl-K |
Quick room switcher |
Ctrl-F |
Search in current room |
Page Up/Down |
Scroll history |
/ in message box |
Commands (e.g. /join #room:server) |
Joining rooms¶
- Press the
+icon → Join room → enter room address (#room:server.org) - For rooms on your own server:
#room:chat.wilsoz.com - For public rooms on matrix.org or elsewhere, enter the full address
Sending messages¶
- Markdown works in most Matrix clients:
**bold**,*italic*,`code` - Drag and drop to send files/images
- Reply to a specific message by hovering over it and clicking the reply icon
Zoom — video calls¶
Native Linux Zoom client. Just works.
First-time setup¶
- Launch Zoom → Sign In
- Use SSO if your organisation has it, otherwise email + password
- Go to Settings → Audio → select your microphone (check it works with
easyeffectsrunning if you use mic processing — see lesson 16) - Go to Settings → Video → select your camera (EliteBook camera or external USB webcam)
During a call¶
- Mute/unmute:
Alt-A(or the mute button) - Start/stop video:
Alt-V - Share screen:
Alt-Shift-S(on Wayland you'll get a window/screen picker) - Reactions: use the Reactions menu in the toolbar
Wayland screen sharing¶
On Wayland, Zoom uses the XDG Desktop Portal for screen sharing — you'll get a picker to choose which window or screen to share. This works correctly with your PipeWire setup.
Teams — PWA in Chromium¶
Microsoft Teams has no native Linux desktop app. Your config installs it as a Progressive Web App (PWA) in Chromium, which gives it its own window and app menu entry.
Look for Microsoft Teams in your app menu — it opens https://teams.microsoft.com in a standalone Chromium window.
Why PWA works for Teams¶
- Camera and microphone work via the browser's media APIs
- Screen sharing works on Wayland (uses XDG portal, same as Zoom)
- Notifications work via the browser's notification system
- It behaves like a native app with its own window and taskbar entry
First-time setup¶
- Open the Teams PWA from the app menu
- Sign in with your Microsoft account
- Allow camera and microphone when prompted
- In Teams Settings → Notifications → enable browser notifications
Microphone with Teams¶
If you're using easyeffects for mic processing (noise reduction, EQ), make sure Teams is picking up the processed output:
- Open Zoom / Teams
- In their audio settings, look for a device labelled something like
easyeffects_sinkorWEBRTC VoiceCapture - Select that as the microphone input
If you can't find it, open qpwgraph to see how audio is routing and connect the right nodes (see lesson 16).
Camera quick reference¶
| Machine | Camera situation |
|---|---|
| EliteBook 845 | Built-in webcam — works normally |
| MacBook Air | FaceTime HD camera — works via facetimehd module but can be flaky; USB webcam is reliable fallback |
For important video calls on the MacBook Air, the $20 USB webcam mentioned in the README is the safe choice.