{
description = "A CLI to generate vim/nvim help doc from emmylua";
nixConfig = {
extra-substituters = "https://mrcjkb.cachix.org";
extra-trusted-public-keys = "mrcjkb.cachix.org-1:KhpstvH5GfsuEFOSyGjSTjng8oDecEds7rbrI96tjA4=";
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs @ {
self,
nixpkgs,
flake-parts,
...
}:
flake-parts.lib.mkFlake {inherit inputs;} {
systems = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
];
perSystem = {
config,
system,
...
}: let
pkgs = import nixpkgs {
inherit system;
overlays = [
self.overlays.default
];
};
in {
devShells.default = pkgs.mkShell {
name = "vimcats devShell";
buildInputs = with pkgs;
with pkgs.rustPlatform; [
cargo
rustc
rustfmt
rust-analyzer
alejandra
];
};
packages = rec {
default = vimcats;
inherit (pkgs) vimcats;
};
};
flake = {
overlays.default = final: prev: {
vimcats = final.rustPlatform.buildRustPackage {
pname = "vimcats";
src = self;
version = ((final.lib.importTOML "${self}/Cargo.toml").package).version;
cargoLock = {
lockFile = ./Cargo.lock;
};
buildFeatures = ["cli"];
meta = with final.lib; {
description = "CLI for generating vimdoc from LuaCATS annotations";
license = with licenses; [mit];
mainProgram = "vimcats";
};
};
};
};
};
}