Nix flake for JetBrains Junie CLI — an AI coding agent that runs in your terminal, IDE, or CI/CD.
This flake fetches the official binary release zips from
github.com/JetBrains/junie/releases,
patches the bundled JBR runtime libraries for NixOS, and exposes junie as a
package, app, and overlay.
The latest version is tracked automatically via a scheduled GitHub Actions
workflow that watches
update-info.jsonl
and opens an auto-merging PR every hour when a new release ships.
x86_64-linuxaarch64-linuxx86_64-darwinaarch64-darwin
This flake itself is MIT-licensed.
The Junie CLI binary it downloads is distributed by JetBrains under their EAP
Terms of Service (see https://jb.gg/junie-tos-eap), so the package is marked
as unfree — set nixpkgs.config.allowUnfree = true; (or
NIXPKGS_ALLOW_UNFREE=1) to install it.
nix run github:solcik/junie-cli-nix
nix run github:solcik/junie-cli-nix -- --version{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
junie-cli.url = "github:solcik/junie-cli-nix";
};
outputs = { self, nixpkgs, junie-cli, ... }: {
# As an overlay:
nixosConfigurations.example = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ pkgs, ... }: {
nixpkgs.overlays = [ junie-cli.overlays.default ];
nixpkgs.config.allowUnfree = true;
environment.systemPackages = [ pkgs.junie ];
})
];
};
};
}Or as a Home Manager package:
home.packages = [ junie-cli.packages.${pkgs.system}.junie ];git clone https://github.com/solcik/junie-cli-nix
cd junie-cli-nix
nix build .#junie
./result/bin/junie --versionThe hourly workflow at .github/workflows/update.yml handles version bumps
automatically. To update manually:
./scripts/update.sh # latest
./scripts/update.sh --version 1417.47 # specific version
./scripts/update.sh --check # check onlypackage.nix calls fetchurl on the platform-appropriate
junie-release-${version}-${platform}.zip from
github.com/JetBrains/junie/releases. On Linux it runs autoPatchelfHook
across the bundled JetBrains Runtime so the dynamic linker resolves against
NixOS-friendly libraries. The launcher at junie-app/bin/junie is wrapped via
makeWrapper to set LD_LIBRARY_PATH and disable the in-product autoupdater.