Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Nix
  3. rnix-lsp

rnix-lsp

MITRust

A language server for Nix providing syntax checking, completion, renaming, and formatting.

GitHubGitHub
713 stars41 forks0 contributors

What is rnix-lsp?

rnix-lsp is a language server for the Nix programming language that provides syntax checking, code completion, renaming, goto definition, and formatting capabilities. It solves the problem of lacking robust editor support for Nix by integrating with popular code editors to enhance developer productivity.

Target Audience

Nix developers and system administrators who write Nix expressions and need advanced editor tooling for syntax validation, navigation, and code formatting.

Value Proposition

Developers choose rnix-lsp because it is the primary open-source language server for Nix, built on the reliable rnix parser, and it integrates seamlessly with major editors like Vim, Emacs, and VSCode.

Overview

WIP Language Server for Nix! [maintainer=@aaronjanse]

Use Cases

Best For

  • Writing and validating Nix expressions in real-time
  • Navigating complex Nix codebases with goto definition
  • Refactoring Nix code with rename functionality
  • Formatting Nix code consistently with nixpkgs-fmt
  • Enhancing editor support for Nix development
  • Integrating Nix tooling into Vim, Emacs, or VSCode

Not Ideal For

  • Projects requiring stable, production-ready language server support without breaking changes
  • Teams developing on Mac OS who need guaranteed cross-platform compatibility
  • Developers needing advanced IDE features like semantic linting, debugging, or deep refactoring beyond basic operations
  • Environments using editors with untested integration or where setup requires extensive manual configuration

Pros & Cons

Pros

Reliable Syntax Diagnostics

Provides real-time syntax checking using the rnix parser, offering accurate error detection for Nix code without external tools.

Essential Editor Tooling

Integrates basic LSP features like completion, renaming, and goto definition, enhancing productivity for common Nix development tasks.

Built-in Formatting Support

Seamlessly integrates with nixpkgs-fmt for code formatting, ensuring consistent style directly within the editor workflow.

Community-Driven Development

Maintained by the Nix community with active support on Matrix, fostering collaboration and updates based on user feedback.

Cons

Unstable Beta Quality

Admits to being 'beta-level at best' with expected breakages and no semver compatibility before 1.x.y, making it risky for critical projects.

Limited Platform Guarantees

Mac OS support is not guaranteed, as noted in PR #61, which can exclude developers on Apple ecosystems.

Sparse Integration Testing

Editor integration instructions are not fully tested per the README, often requiring users to raise issues or submit PRs for fixes.

Frequently Asked Questions

Quick Stats

Stars713
Forks41
Contributors0
Open Issues17
Last commit2 years ago
CreatedSince 2018

Tags

#language-server#syntax-checking#nix#code-formatting#lsp-server#development-tools#rust#editor-tooling#code-completion

Built With

R
Rust
r
rnix-parser

Included in

Nix5.0k
Auto-fetched 1 day ago

Related Projects

DevboxDevbox

Instant, easy, and predictable development environments

Stars11,583
Forks316
Last commit4 days ago
floxflox

The Deterministic Foundation for your SDLC

Stars3,988
Forks127
Last commit1 day ago
nix-direnvnix-direnv

A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]

Stars2,661
Forks142
Last commit5 days ago
atticattic

Multi-tenant Nix Binary Cache

Stars1,884
Forks167
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub