intellij-idea
A reference page for the intellij-idea resource
The intellij-idea resource installs JetBrains IntelliJ IDEA, a general-purpose JVM/Java IDE. As of 2025.3, IntelliJ IDEA ships as a unified distribution that includes both the free Community tier and Ultimate features, which unlock within the same install via a subscription. On macOS it is installed via Homebrew Cask (brew install --cask intellij-idea); on Linux via Snap (snap install intellij-idea-community --classic).
Parameters
-
settingsZip (string, optional) — Absolute path to an IntelliJ IDEA settings ZIP file (exported via File | Manage IDE Settings | Export Settings) to import on first install. The archive is extracted directly into the IntelliJ IDEA config directory, so all exported settings (keymaps, code styles, inspections, etc.) are applied before IntelliJ IDEA is first launched.
-
importSettings (boolean, optional, default:
true) — Controls whether thesettingsZipis imported duringcreate. Set tofalseto skip the import even whensettingsZipis specified. This is a setting parameter and is not tracked as state, so it only has effect when the resource is first applied. -
plugins (string[], optional) — JetBrains Marketplace plugin IDs to install (e.g.
"com.github.copilot","Docker"). Plugin IDs can be found on the plugin's page in the Marketplace under Additional Information. Plugins are managed statefully: Codify adds missing plugins and removes plugins no longer in the list. -
jvmMaxHeapSize (string, optional) — Maximum JVM heap allocated to IntelliJ IDEA, e.g.
"2048m"for 2 GB or"4096m"for 4 GB. Written toidea.vmoptionsin the IDE config directory as-Xmx<value>. -
jvmMinHeapSize (string, optional) — Initial JVM heap allocated to IntelliJ IDEA, e.g.
"512m". Written toidea.vmoptionsas-Xms<value>. Typically set to half the max heap size.
Example usage
Install IntelliJ IDEA with plugins
[
{
"type": "intellij-idea",
"plugins": [
"com.github.copilot",
"Docker"
]
}
]Install IntelliJ IDEA, import previous settings, and increase heap
[
{
"type": "intellij-idea",
"settingsZip": "/path/to/intellij-idea-settings.zip",
"importSettings": true,
"jvmMaxHeapSize": "4096m",
"jvmMinHeapSize": "1024m",
"plugins": [
"com.github.copilot",
"Docker"
]
}
]Notes
- On macOS a CLI launcher symlink is created at
/usr/local/bin/ideaduring install so thatideais available in terminal sessions. It is removed on destroy. - Plugin IDs must be exact JetBrains Marketplace IDs. You can find them on the plugin's Marketplace page under Additional Information → Plugin ID.
- The
settingsZipimport only runs duringcreate(first apply), not on subsequent applies. If you need to re-import, destroy and re-apply the resource. - JVM options are written to
idea.vmoptionsin~/Library/Application Support/JetBrains/IntelliJIdea<version>/on macOS and~/.config/JetBrains/IntelliJIdea<version>/on Linux. If IntelliJ IDEA has never been launched, Codify creates this directory and file automatically. - On Linux, Snap must be available. Codify will attempt to install
snapdvia the system package manager if it is not found. - IntelliJ IDEA is the unified distribution covering both the free Community tier and the Ultimate edition; Ultimate features are unlocked within the same install via an active subscription.