48 lines
1.2 KiB
Nix
48 lines
1.2 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
systems.url = "github:nix-systems/default";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
systems,
|
|
flake-utils,
|
|
}:
|
|
flake-utils.lib.eachSystem (import systems) (
|
|
system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
};
|
|
in
|
|
rec {
|
|
plugins = pkgs.callPackage ./plugins.nix { };
|
|
|
|
packages = {
|
|
_nix-jebrains-plugins-generator = pkgs.callPackage ./generator/pkg.nix { };
|
|
};
|
|
|
|
devShells = {
|
|
default = pkgs.callPackage ./dev.nix { };
|
|
};
|
|
|
|
lib = {
|
|
# Using this function you can build an IDE using a set of named plugins from this Flake. The function
|
|
# will automatically figure out what IDE and version the plugin needs to be for.
|
|
# See README.
|
|
buildIdeWithPlugins =
|
|
jetbrains: ide-name: plugin-ids:
|
|
let
|
|
ide = jetbrains."${ide-name}";
|
|
in
|
|
jetbrains.plugins.addPlugins ide (
|
|
builtins.map (p: plugins."${ide.pname}"."${ide.version}"."${p}") plugin-ids
|
|
);
|
|
};
|
|
}
|
|
);
|
|
}
|