Install
Requirements
Section titled “Requirements”- Linux under Wayland: Hyprland, Sway, KDE, GNOME and other Wayland compositors. X11 and macOS are on the roadmap, not there yet.
- Claude Code: the
claudecommand on yourPATH. Every card runs it. - Optional:
bwrap(bubblewrap). It lets an organization’s sessions run under that organization’s own Claude account. Without it, every session uses your own login. - Optional:
ssh(OpenSSH). The infra workspace opens its server panes with it.
desk talks to GitHub, GitLab, Bitbucket, Jira, Nagios and the password vaults itself. You don’t need gh, glab, bw or wl-paste.
Install it
Section titled “Install it”Run it without installing:
nix run github:lfdominguez/deskOr add it to your flake:
inputs.desk.url = "github:lfdominguez/desk";# …environment.systemPackages = [ inputs.desk.packages.${pkgs.system}.default ];The flake builds for x86_64-linux and aarch64-linux. A flake build reports its version as dev-<commit>.
Off NixOS (Ubuntu, Fedora…), nixpkgs’ graphics libraries can’t find your system’s GPU driver: they only look in /run/opengl-driver. When that folder is missing, the desk wrapper points them at nixpkgs’ own Mesa instead. That covers Intel, AMD and nouveau; anything else (NVIDIA’s own driver, for example) gets llvmpipe, Mesa’s software renderer. If you set __EGL_VENDOR_LIBRARY_FILENAMES, LIBGL_DRIVERS_PATH or GBM_BACKENDS_PATH yourself, your value wins. See Troubleshooting.
Download desk-<version>-x86_64.AppImage from the latest release, then:
chmod +x desk-*-x86_64.AppImage./desk-*-x86_64.AppImageDownload desk_<version>_amd64.deb from the latest release, then:
sudo apt install ./desk_<version>_amd64.debIt pulls in the Wayland, EGL, xkbcommon and PipeWire libraries it needs. Claude Code, bwrap and ssh you install yourself.
yay -S desk-kanbanOr with paru, or by hand:
git clone https://aur.archlinux.org/desk-kanban.gitcd desk-kanbanmakepkg -siIt builds the tagged release from source and installs desk. The AUR’s own desk package is another program (a shell workspace manager), so the two conflict. Claude Code is the AUR’s claude-code; bubblewrap and openssh are listed as optional dependencies.
You need Go (the version in go.mod), cgo, and the Wayland, xkbcommon, EGL and PipeWire headers:
git clone https://github.com/lfdominguez/desk.gitcd deskCGO_CFLAGS_ALLOW=-fno-strict-overflow go build -tags nox11 -o desk ./cmd/deskWith Nix, nix develop gives you a shell with all of that. See Development.
Releases and nightly
Section titled “Releases and nightly”Releases are dated, not numbered: 2026.11.03, and a second one the same day 2026.11.03.1, then .2… Each one publishes a .deb and an AppImage on the releases page, and updates the AUR package.
Every push to main also replaces the nightly pre-release: a .deb and an AppImage of that commit. Its version reads like 2026.11.04~git1a2b3c4. Use it to try what’s coming; use a dated release otherwise.
To see which version you run:
desk --versionThe Settings show it too, at the bottom of their left column.
Try it with nothing set up: desk demo. Or go straight to your own board: Quick start.