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#
Get the source
Clone the repository and change into it.
Terminal
git clone https://github.com/markosnarinian/desk.git
cd deskBuild 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" .)Add it to your PATH
Skip this step if ~/.local/bin is already on your PATH.
Terminal
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrcTerminal
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcVerify
Open a new shell and check that desk runs.
Terminal
desk versionA source build prints dev. Run desk help to see every command.
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)"' >> ~/.zshrcSee 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.0Each 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"