Workstation API - v0.6.2
    Preparing search index...

    Variable toolsConst

    tools: {
        apt: (packages: readonly string[]) => PackageResource[];
        brew: (packages: readonly string[]) => PackageResource[];
        brewCask: (
            packages: readonly string[],
            upgrade?: BrewCaskUpgradeOptions,
        ) => PackageResource[];
        dnf: (packages: readonly string[]) => PackageResource[];
        flatpak: (
            packages: readonly string[],
            options?: FlatpakOptions,
        ) => PackageResource[];
        mas: (ids: readonly (string | number)[]) => PackageResource[];
        mise: (
            packages: readonly string[] | Readonly<Record<string, string>>,
        ) => PackageResource[];
        pacman: (packages: readonly string[]) => PackageResource[];
        system: (packages: readonly string[]) => PackageResource[];
        yum: (packages: readonly string[]) => PackageResource[];
    } = ...

    Declare packages; installation happens when the Workstation CLI runs.

    Type Declaration

    • apt: (packages: readonly string[]) => PackageResource[]

      Install Debian/Ubuntu packages through APT. Mutations request sudo.

    • brew: (packages: readonly string[]) => PackageResource[]

      Install Homebrew formulae (command-line packages).

    • brewCask: (
          packages: readonly string[],
          upgrade?: BrewCaskUpgradeOptions,
      ) => PackageResource[]

      Install macOS applications. Greedy casks participate in explicit upgrades.

      tools.brewCask(["ghostty"], { greedy: true, force: true })
      
    • dnf: (packages: readonly string[]) => PackageResource[]

      Install RPM packages through DNF. Mutations request sudo.

    • flatpak: (packages: readonly string[], options?: FlatpakOptions) => PackageResource[]

      Install Flatpak app IDs; defaults to the user's flathub remote and stable branch.

    • mas: (ids: readonly (string | number)[]) => PackageResource[]

      Install previously acquired Mac App Store apps by numeric ID; follows available updates without version pins.

    • mise: (
          packages: readonly string[] | Readonly<Record<string, string>>,
      ) => PackageResource[]

      Install mise tools. A list requests latest; a map accepts version selectors.

      tools.mise({ node: "lts", go: "1.27" })
      
    • pacman: (packages: readonly string[]) => PackageResource[]

      Install Arch Linux repository packages through pacman; does not refresh databases or upgrade the whole system.

    • system: (packages: readonly string[]) => PackageResource[]

      Use the configured manager, Homebrew on macOS, or detect APT/DNF/YUM/pacman on Linux.

    • yum: (packages: readonly string[]) => PackageResource[]

      Install RPM packages through legacy YUM. Mutations request sudo.