# Install crystalline with Homebrew, Nix

Language Server Protocol implementation for Crystal. Version 0.18.0 via Homebrew; verified 2026-05-30. Also installable with nix: nix profile install nixpkgs#crystalline.

## Install

```sh
sudo av install brew:crystalline
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install crystalline
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#crystalline
```

  Evidence: nixpkgs package indexes: crystalline from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

## Package facts

- **Package key:** brew:crystalline
- **Package manager:** Homebrew
- **Version:** 0.18.0
- **Source summary:** Language Server Protocol implementation for Crystal
- **Homepage:** <https://github.com/elbywan/crystalline>
- **Repository:** <https://github.com/elbywan/crystalline>
- **Last updated:** 2026-05-30T21:55:45Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- crystalline (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.18.0
## Project history and usage

Crystalline is a Language Server Protocol implementation written in and for Crystal. Its package-manager interest is that it packages editor support for a compiled language whose official compiler architecture makes full language-server behavior relatively hard.

### Project history

The project README describes Crystalline as an LSP server for Crystal and says it began as an experiment when there was no working Crystal LSP. The maintainer positioned it as a practical tool for editor features such as completion, go-to-definition, formatting, diagnostics, hover, and document symbols rather than as a complete language-intelligence platform.

### Adoption history

Official installation notes list pre-built binaries, Homebrew on macOS, Arch Linux packaging, and builds from source with Crystal shards. The Homebrew and Nix package-manager entries in the input show that it reached the cross-platform developer-tool packaging layer rather than remaining only a manually built Crystal shard.

### How it is used

Crystalline is meant to run behind editor integrations. The README documents VS Code, Vim/Neovim through coc.nvim, and Emacs lsp-mode setups, with project behavior controlled from shard.yml entries for the entry point, monorepo projects, and Crystal compilation flags.

### Why package nerds care

For package maintainers, Crystalline is mainly a binary LSP package with tight coupling to Crystal compiler versions. Its compatibility table maps Crystal versions to Crystalline releases, which matters for formula and distribution updates.

### Timeline

- 2020: GitHub release v0.1.0 was published for Crystal 0.35.1 compatibility.
- 2026: GitHub release v0.18.0 targets Crystal 1.20 compatibility.

### Related projects

- The README credits Scry, the earlier Crystal language server, as an inspiration and partial source of reused code.

### Sources

- <https://github.com/elbywan/crystalline#readme>
- <https://api.github.com/repos/elbywan/crystalline/releases?per_page=100>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Nix - crystalline: normalized package name match | nixpkgs package indexes: crystalline from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix


## Combined YAML source

View the package source record on GitHub. [combined/crystalline.yml](https://github.com/mxcl/pkgdb/blob/main/combined/crystalline.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
