{ description = "A Lua-natic's neovim flake, with extra cats! nixCats!"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixCats.url = "github:BirdeeHub/nixCats-nvim"; plugins-rustaceanvim.url = "github:mrcjkb/rustaceanvim"; plugins-opencode-nvim.url = "github:NickvanDyke/opencode.nvim"; plugins-opencode-nvim.flake = false; plugins-neogit.url = "github:NeogitOrg/neogit"; plugins-neogit.flake = false; neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; }; plugins-lze = { url = "github:BirdeeHub/lze"; flake = false; }; plugins-lzextras = { url = "github:BirdeeHub/lzextras"; flake = false; }; }; outputs = { self, nixpkgs, nixCats, ... }@inputs: let inherit (nixCats) utils; luaPath = ./.; forEachSystem = utils.eachSystem nixpkgs.lib.platforms.all; extra_pkg_config = { allowUnfree = true; }; dependencyOverlays = [ (utils.standardPluginOverlay inputs) ]; categoryDefinitions = import ./cats.nix inputs; packageDefinitions = import ./package.nix inputs; defaultPackageName = "beeVim"; in forEachSystem ( system: let nixCatsBuilder = utils.baseBuilder luaPath { inherit nixpkgs system dependencyOverlays extra_pkg_config ; } categoryDefinitions packageDefinitions; defaultPackage = nixCatsBuilder defaultPackageName; pkgs = import nixpkgs { inherit system; }; in { packages = utils.mkAllWithDefault defaultPackage; devShells = { default = pkgs.mkShell { name = defaultPackageName; packages = [ defaultPackage ]; inputsFrom = [ ]; shellHook = ""; }; }; } ) // ( let nixosModule = utils.mkNixosModules { moduleNamespace = [ defaultPackageName ]; inherit defaultPackageName dependencyOverlays luaPath categoryDefinitions packageDefinitions extra_pkg_config nixpkgs ; }; homeModule = utils.mkHomeModules { moduleNamespace = [ defaultPackageName ]; inherit defaultPackageName dependencyOverlays luaPath categoryDefinitions packageDefinitions extra_pkg_config nixpkgs ; }; in { overlays = utils.makeOverlays luaPath { inherit nixpkgs dependencyOverlays extra_pkg_config; } categoryDefinitions packageDefinitions defaultPackageName; nixosModules.default = nixosModule; homeModules.default = homeModule; inherit utils nixosModule homeModule; inherit (utils) templates; } ); }