A complete Nix package for Roam, the AI-Powered Virtual HQ platform.
# Using flakes (recommended)
nix profile add github:georgesFoundation/Roam-nix#roam
# Or locally
git clone https://github.com/georgesFoundation/Roam-nix.git
cd Roam-nix
nix profile add .#roam
# Run Roam
roamRoam is an immersive platform that gives remote companies their own virtual HQ for their colleagues, guests, customers, and professional network. It's an entire office building that you can customize for the specific composition of your company or team, consisting of individual offices, conference rooms, team rooms, theaters and more.
Add to your flake inputs:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
roam-nix.url = "github:georgesFoundation/Roam-nix";
};
outputs = { self, nixpkgs, roam-nix }: {
packages.x86_64-linux = {
roam = roam-nix.packages.x86_64-linux.roam;
default = roam-nix.packages.x86_64-linux.roam;
};
};
}Then add to your configuration:
# NixOS configuration.nix
environment.systemPackages = with pkgs; [ roam-nix.packages.x86_64-linux.roam ];
# Home Manager configuration.nix
home.packages = with pkgs; [ roam-nix.packages.x86_64-linux.roam ];# From GitHub (recommended)
nix profile add github:georgesFoundation/Roam-nix#roam
# From local clone
git clone https://github.com/georgesFoundation/Roam-nix.git
cd Roam-nix
nix profile add .#roam
# Traditional Nix (without flakes)
nix-env -if . -A roamAfter installation, you can run Roam with:
roamOr from your application menu.
Roam (since 229) lets you set a custom activity on your avatar through its API.
roam-activity sets one, and the included NixOS / Home Manager modules refresh
it from a systemd user timer. Activities expire after at most one hour, so the
refresh has to keep running.
- In Roam settings, create a personal access token. You must pick at least one scope, and any scope works (e.g. "chat read").
- Save it to a file only you can read, e.g.
~/.config/roam/tokenor a sops-nix/agenix secret. - Enable the module:
# flake.nix: add roam-nix.homeManagerModules.default to your Home Manager modules
# (or roam-nix.nixosModules.default to your NixOS modules), then:
services.roam-activity = {
enable = true;
tokenFile = "/home/me/.config/roam/token";
# All optional:
# userId = "..."; # looked up via token.info when unset
# emoji = "❄️";
# title = "NixOS";
# subtitle = "ftw";
# color = "purple";
# interval = "30min";
};To try it once by hand:
ROAM_TOKEN_FILE=~/.config/roam/token nix run github:georgesFoundation/Roam-nix#roam-activity
nix run github:georgesFoundation/Roam-nix#roam-activity -- help # all env vars- Version: 196.0.0-beta001
- Platform: x86_64-linux
- Source: Official Roam .deb package
- License: MIT
- Based on: AUR package structure and dependencies
This package includes all necessary runtime dependencies based on the official AUR package:
- gtk3
- libappindicator-gtk3 (for system tray support)
- nss
- xdg-utils
- at-spi2-core (accessibility)
- libdrm
- libgbm
- libxcb
- pulseaudio
- libsecret
- alsa-lib
- libXScrnSaver (screen saver support)
# Build the package
nix build .#roam
# Run comprehensive tests
./test.sh
# Enter development shell
nix developIf you encounter library errors, the package includes comprehensive dependency coverage:
- GTK/GNOME: gtk3, glib, pango, cairo, gdk-pixbuf
- System Integration: libappindicator-gtk3, libXScrnSaver, xdg-utils
- Audio: pulseaudio, alsa-lib
- Security: nss, nspr, libsecret
- Display: Full X11 stack (libX11, libXext, libXrandr, etc.)
- Graphics: libdrm, libgbm, libxcb
- Accessibility: at-spi2-core
- Other: cups, fontconfig, freetype, dbus, expat, image libraries
- Fork this repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
./test.sh - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
Feel free to submit issues and pull requests to improve this package.
- Version: 196.0.0-beta001
- Platform: x86_64-linux
- Source: Official Roam .deb package
- License: MIT
- Based on: AUR package structure and dependencies
- Build System: Nix flakes + autoPatchelfHook
✅ Complete Dependencies: All runtime libraries from AUR + comprehensive Electron stack ✅ Auto Patching: Uses autoPatchelfHook for binary compatibility ✅ Proper Wrapping: Binary wrapped with correct library paths ✅ Desktop Integration: Icons, desktop file, documentation included ✅ AUR Compatible: Follows Arch Linux packaging patterns ✅ Well Tested: Comprehensive test suite included ✅ Modern Nix: Works with flakes and traditional Nix
- Binary Source: Repackages official Roam .deb for Nix compatibility
- Dependency Resolution: Based on AUR analysis + comprehensive Electron app requirements
- Library Management: autoPatchelfHook automatically patches ELF binaries
- Error Handling: Ignores problematic ffmpeg dependency to ensure build success
- Environment Variables: Properly sets GTK, GDK_PIXBUF, and GIO paths
- Desktop Files: Installs .desktop file and icons for application menu integration