diff options
| author | brustybee <bee@4d2.org> | 2026-03-09 17:02:03 +0530 |
|---|---|---|
| committer | brustybee <bee@4d2.org> | 2026-03-09 17:02:03 +0530 |
| commit | 972e5f9c68cc433c5fc26adf92cd25b293a3776a (patch) | |
| tree | c5930854787316181d07854048d9627538017ceb /flake.nix | |
One shot upload
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8be4059 --- /dev/null +++ b/flake.nix @@ -0,0 +1,111 @@ +{ + 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; + } + ); +} |
