nix-jetbrains-plugins/flake.nix

50 lines
1.3 KiB
Nix
Raw Normal View History

2024-12-11 09:42:06 +01:00
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
flake-utils.url = "github:numtide/flake-utils";
flake-utils.inputs.systems.follows = "systems";
2024-12-11 09:42:06 +01:00
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
);
};
}
);
}