🍺 BREW Explorer

← all formulae

desk

brew install desk v0.6.0 MIT

Lightweight workspace manager for the shell

4
30-day installs · #11129
11
90-day · #11583
40
365-day · #11710
2.6k
★ GitHub stars · updated 4y ago

GitHub topics

bash desk shell shell-script workspace-manager zsh

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Lightweight workspace manager for the shell",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:54+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "desk",
  "github_default_branch": "master",
  "github_last_commit_at": "2022-07-07T17:57:09Z",
  "github_readme_excerpt": "\n# \u25f2  desk\n\n[![build](https://api.travis-ci.org/jamesob/desk.svg?branch=master)](https://travis-ci.org/jamesob/desk) [![Join the chat at https://gitter.im/jamesob/desk](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jamesob/desk?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nLightweight workspace manager for the shell.\n\nDesk makes it easy to flip back and forth between different project contexts in\nyour favorite shell. Change directory, activate a virtualenv or rvm, load\nin domain-specific aliases, environment variables, functions, arbitrary shell files, \nall in a single command.\n\nInstead of relying on `CTRL-R` to execute and recall (\"that command\u0027s gotta\nbe here somewhere...\"), desk helps shorten and document those actions with\nshell aliases and functions, which are then namespaced under a particular\ndesk.\n\nBecause Deskfiles are just enriched shell scripts, the possibilities are \nendless. For example, when doing work on AWS I have desk \nsecurely load AWS API keys into environment variables via \n[`pass`](https://www.passwordstore.org/) -- no effort on my part, and no \nrisk of accidentally persisting that sensitive information to a history file.\n\n\u003cimg src=\u0027screencap.gif\u0027 width=700\u003e\n\nI have a hard time calling this a \"workspace manager\" with a straight\nface -- it\u0027s basically just a shell script that sources another shell script in a new shell.\nBut I often find myself working in multiple different code trees simultaneously:\nthe quick context switches and namespaced commands that desk facilitates\nhave proven useful.\n\nThere are no dependencies other than `bash`. Desk is explicitly tested with `bash`,\n`zsh`, and `fish`.\n\n```sh\n\u25f2  desk 0.6.0\n\nUsage:\n\n    desk\n        List the current desk and any associated aliases. If no desk\n        is being used, display available desks.\n    desk init\n        Initialize desk configuration.\n    desk (list|ls)\n        List all desks along with a description.\n    desk (.|go) [\u003cdesk-name-or-path\u003e [",
  "github_repo": "jamesob/desk",
  "github_stars": 2576,
  "github_topics": [
    "bash",
    "desk",
    "shell",
    "shell-script",
    "workspace-manager",
    "zsh"
  ],
  "homepage": "https://github.com/jamesob/desk",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 4,
  "installs_365d": 40,
  "installs_90d": 11,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "desk",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 11129,
  "rank_365d": 11710,
  "rank_90d": 11583,
  "raw_hash": "e9ed1144471bf998",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/d/desk.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": null,
  "version_stable": "0.6.0",
  "versioned_formulae": [],
  "why_use_this": null
}