deskctl/site/src/pages/installation.mdx
Hari eac3a61ceb rename (#11)
* align docs and contract

* clean

* rename from deskctl-cli to deskctl

* runtime
2026-03-26 08:51:15 -04:00

73 lines
1.4 KiB
Text

---
layout: ../layouts/DocLayout.astro
title: Installation
toc: true
---
# Installation
## Default install
```sh
npm install -g deskctl
deskctl --help
```
`deskctl` is the default install path. It installs the command by
downloading the matching GitHub Release asset for the supported runtime target.
## One-shot usage
```sh
npx deskctl --help
```
## Agent skill
For `skills.sh`-style runtimes:
```sh
npx skills add harivansh-afk/deskctl -s deskctl
```
The repo skill lives under `skills/deskctl` and is designed around the same
observe -> wait -> act -> verify loop as the CLI.
## Other install paths
### Nix
```sh
nix run github:harivansh-afk/deskctl -- --help
nix profile install github:harivansh-afk/deskctl
```
### Build from source
```sh
git clone https://github.com/harivansh-afk/deskctl
cd deskctl
cargo build
```
Source builds on Linux require:
- Rust 1.75+
- `pkg-config`
- X11 development libraries such as `libx11-dev` and `libxtst-dev`
## Runtime requirements
- Linux with an active X11 session
- `DISPLAY` set to a usable X11 display, such as `DISPLAY=:1`
- `XDG_SESSION_TYPE=x11` or an equivalent X11 session environment
- a window manager or desktop environment that exposes standard EWMH properties
such as `_NET_CLIENT_LIST_STACKING` and `_NET_ACTIVE_WINDOW`
The binary itself only depends on the standard Linux glibc runtime.
If setup fails, run:
```sh
deskctl doctor
```