Getting Started

Installation

Build desk from source and put it on your PATH on macOS or Linux.

Requirements#

  • macOS or Linux, on amd64 or arm64.
  • Go 1.24 or newer, to build the binary. desk has no Go dependencies outside the standard library.
  • Git, to use repository workspaces. Scratch workspaces do not need it.

desk is a single executable. It needs no daemon or configuration file, and Go is not needed after the build.

Build from Source#

1

Get the source

Clone the repository and change into it.

Terminal

git clone https://github.com/markosnarinian/desk.git
cd desk
2

Build the binary

Build into a directory on your PATH. This example uses ~/.local/bin.

Terminal

mkdir -p "$HOME/.local/bin"
(cd cli && go build -trimpath -o "$HOME/.local/bin/desk" .)
3

Add it to your PATH

Skip this step if ~/.local/bin is already on your PATH.

Terminal

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
4

Verify

Open a new shell and check that desk runs.

Terminal

desk version

A source build prints dev. Run desk help to see every command.

5

Add shell integration

Load desk's shell function so desk new and desk cd can change your directory and your prompt shows the current workspace. For zsh:

Terminal

echo 'eval "$(desk init zsh)"' >> ~/.zshrc

See Shell integration for bash, fish, and oh-my-zsh.

Release Archives#

The repository includes a script that builds archives for macOS and Linux on amd64 and arm64, plus a SHA256SUMS file:

Terminal

scripts/release.sh v0.1.0

Each archive contains the desk binary. Check the archive against SHA256SUMS before extracting it. These binaries are not signed or notarized, and none have been published yet, so building from source is the supported way to install.

Uninstall#

Delete the binary and remove the desk init line from your shell's startup file. Your workspaces stay in ~/.desk/workspaces/ until you delete them.

Terminal

rm "$HOME/.local/bin/desk"