/nix-idea

Nix plugin for the IntelliJ IDEA IDE

Primary LanguageJavaApache License 2.0Apache-2.0

NixIDEA - A Nix language plugin for IntelliJ IDEA

Build Status Version

This plugin has the goal of being generally useful when working with nixpkgs/NixOS/nixops. It currently adds support for the Nix language. The following features are available:

  • Syntax Highlighting
  • Real time detection of syntax errors

We would also like to provide additional support for Nix/NixOS/NixOps, but the following features are currently not implemented:

  • Linting, code completion, formatting
  • Profile management
  • Run configurations
  • Templates for common usage patterns

Install

From JetBrains marketplace

The plugin can be found at the Jetbrains plugin repository as NixIDEA.

  • Goto File > Settings > Plugins > Marketplace
  • Type NixIDEA into the search bar
  • Click Install

From ZIP file

You can also install the plugin from a ZIP file.

  • Goto File > Settings > Plugins
  • Click onto the wheel icon on the top
  • Choose Install Plugin from Disk

You can find corresponding ZIP files on GitHub or build them yourself as described below.

Build

Build preparation

Follow the following steps before you build the project the first time.

  • Clone the repository
  • Ensure that you have a JDK for Java 11 or higher on your PATH
  • Only on NixOS: Setup JetBrains Runtime (JBR) from <nixpkgs>
    nix-build '<nixpkgs>' -A jetbrains.jdk -o jbr

Build execution

After you have completed the preparation, you can build the plugin by running the build task in Gradle.

./gradlew build

You should then find the plugin at build/distributions/NixIDEA-<version>.zip.

Credits

The Nix Snowflake (logo of NixOS) is designed by Tim Cuthbertson (@timbertson). It is made available under CC-BY license at NixOS/nixos-artwork. The variants used by this plugin may have been modified to comply with JetBrains' Guidelines.