{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
utils.url = "github:numtide/flake-utils";
tabby-nvim = {
url = "github:nanozuki/tabby.nvim?rev=916c9e56d043906a441cd9f905e2ca1f5c4dddb0";
flake = false;
};
outputs = inputs @ { self, nixpkgs, utils, ... }:
utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [
(f: p: {
vimPlugins = p.vimPlugins // {
tabby-nvim = p.vimUtils.buildVimPluginFrom2Nix {
name = "tabby-nvim";
src = inputs.tabby-nvim;
})
];
neovim = pkgs.callPackage ./. { };
in
apps.default = {
type = "app";
program = "${neovim}/bin/nvim";
packages.default = neovim;
devShells.default = pkgs.mkShell {
packages = [
(neovim.override {
enableDevIcons = true;
enableTabby = true;
pkgs.stylua # lua formatter
overlays = f: p: {
myneovim = neovim;
});
}