A rofi plugin that adds the ability to launch recent projects in JetBrains IDEs
To install this plugin on a flake-based NixOS system, a bare-minimum configuration would look as follows:
# flake.nix
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
rofi-jetbrains = {
url = "github:zakuciael/rofi-jetbrains";
# inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@inputs: {
nixosConfigurations."default" = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = {
# Pass system and inputs to the configuration.nix file
inherit system inputs;
};
modules = [
./configuration.nix
];
};
};
}
# configuration.nix
{ inputs, system, ... }: {
imports = [
# Hardware config generated by the NixOS Installer
./hardware-configuration.nix
];
environment.systemPackages = [inputs.rofi-jetbrains.packages.${system}.default];
system.stateVersion = "24.11";
}
- GNU C Library (glib)
- GTK3
- GNU make utility (make)
- pkg-config
To run the plugin, execute the following command in your terminal or shortcut launcher:
rofi -modi jetbrains -show jetbrains
You can customize the behavior of the plugin by using the following configuration options in your .rasi
file:
You can change the directory where all of your JetBrains IDEs are installed by using the jetbrains-install-dir
configuration option.
For example:
jetbrains-install-dir: "~/.local/share/JetBrains/Toolbox/apps/";
If you want to add custom IDE aliases a part from the built-in ones you can use the
jetbrains-custom-aliases
configuration option to do so.
The syntax for an alias is composed of <alias string>:<ide_product_code>
, where the ide_product_code
can be found
in the product-info.json
file in the IDE installation directory or
in this file.
For example:
jetbrains-custom-aliases: ["web:WS", "cpp:CL"];
This plugin uses the built-in icon fetcher provided by rofi so to disable them or change the icon theme use the
respected rofi configuration options.
For example:
show-icons: true;
icon-theme: "WhiteSur-dark";
Distributed under the MIT license. See LICENSE file for more information.