# Install ballerina with Homebrew, Nix

Programming Language for Network Distributed Applications. Version 2201.13.4 via Homebrew; verified 2026-05-11.

## Install

```sh
sudo av install brew:ballerina
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ballerina
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#ballerina
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ba/ballerina/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:ballerina
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ballerina>
- **Version:** 2201.13.4
- **Source summary:** Programming Language for Network Distributed Applications
- **Homepage:** <https://ballerina.io>
- **Repository:** <https://github.com/ballerina-platform/ballerina-lang>
- **Upstream docs:** <https://ballerina.io/learn>
- **License:** Apache-2.0
- **Source archive:** <https://dist.ballerina.io/downloads/2201.13.4/ballerina-2201.13.4-swan-lake.zip>
- **Last updated:** 2026-05-11T06:50:01Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bal (cli)
- bal (alias)

## Dependencies

- openjdk

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2201.13.4
- Package-manager updated: 2026-05-11
- Local data: ok
- Upstream repository: https://ballerina.io
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Ballerina is an open-source, cloud-native programming language developed by WSO2 for integration, network services, data handling, and API-oriented applications. The Homebrew package installs the `bal` toolchain for building, running, testing, formatting, packaging, and publishing Ballerina code.

### Project history

The Ballerina homepage describes it as a programming language for the cloud that makes it easier to use, combine, and create network services. The same page says WSO2 has developed Ballerina since 2016 and that it was first released in February 2022.

The ballerina-platform/ballerina-lang GitHub repository was created on November 16, 2016. The project positions the language around integration as code, with built-in support for network protocols, data formats, connectors, concurrency, sequence-diagram-oriented views, and cloud-native deployment.

### Adoption history

Ballerina adoption is tied to WSO2's integration ecosystem, Ballerina Central, and users building services, connectors, data pipelines, and enterprise integration patterns. The homepage lists users and case-study links including WSO2, Red Cross Elixir, Fat Tuesday, MOSIP, QHAna, RAAPID, Choreo, Tech Venturas, Visualize HR, and Avinya Foundation.

Package-manager adoption is narrower than mainstream languages but present: the input facts list Homebrew and Nix packages. The Homebrew formula API reported stable version 2201.13.4 with 24 installs in the previous 30 days as of June 30, 2026.

### How it is used

The `bal` CLI supports project and module workflows around `Ballerina.toml`, runtime configuration via `Config.toml`, package management through Ballerina Central, tests, documentation generation, OpenAPI/GraphQL/AsyncAPI/gRPC tooling, Java interop, observability, container and Kubernetes deployment guidance, and GraalVM native executable workflows.

Typical use cases include REST, GraphQL, gRPC, Kafka, database, data-processing, and integration services where network and data abstractions are part of the language and standard ecosystem.

### Why package nerds care

Ballerina is significant because it is not just another JVM-hosted language package; it packages a language designed around integration semantics, network resources, typed data, and service tooling. For package nerds, it is a full toolchain with its own package registry, config conventions, code generators, docs tooling, and deployment story exposed through one `bal` executable.

### Timeline

- 2016: WSO2 begins developing Ballerina, according to the official homepage.
- 2016-11-16: ballerina-platform/ballerina-lang repository created on GitHub.
- 2022-02: Official homepage says Ballerina was first released.
- 2026-06-04: GitHub latest release endpoint reported ballerina-lang v2201.12.12.
- 2026-06-30: Homebrew formula reports stable ballerina 2201.13.4.

### Related projects

- Ballerina Central is the package and connector ecosystem referenced by the official Learn page.
- Related tooling includes the Ballerina VS Code extension, OpenAPI, GraphQL, AsyncAPI, gRPC, health/FHIR/HL7, EDI, WSDL, XSD, persist, scan, profiler, and GraalVM executable tooling documented in the Learn section.

### Sources

- <https://api.github.com/repos/ballerina-platform/ballerina-lang>
- <https://api.github.com/repos/ballerina-platform/ballerina-lang/releases/latest>
- <https://ballerina.io/>
- <https://ballerina.io/learn/>
- <https://formulae.brew.sh/api/formula/ballerina.json>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./Ballerina.toml, ./Config.toml, ./tests/Config.toml, ~/.ballerina/Settings.toml

## Credential files

- Unix: ~/.ballerina/Settings.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ballerina
- **Aliases:** bal
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - ballerina: normalized package name match | nixpkgs package indexes: pkgs/by-name/ba/ballerina/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [chapel](https://www.automicvault.com/pkg/brew/chapel/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coffeescript](https://www.automicvault.com/pkg/brew/coffeescript/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [crystal](https://www.automicvault.com/pkg/brew/crystal/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [fennel](https://www.automicvault.com/pkg/brew/fennel/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [frege](https://www.automicvault.com/pkg/brew/frege/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [kotlin](https://www.automicvault.com/pkg/brew/kotlin/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, openjdk.
- [mercury](https://www.automicvault.com/pkg/brew/mercury/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, openjdk.

## Combined YAML source

View the package source record on GitHub. [combined/ballerina.yml](https://github.com/automic-vault/db/blob/main/combined/ballerina.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
