--- 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 ```