diff options
| author | bee <beebeeb5k@gmail.com> | 2026-05-05 22:37:10 +0530 |
|---|---|---|
| committer | bee <beebeeb5k@gmail.com> | 2026-05-05 22:37:10 +0530 |
| commit | 9365a8e96827cbf7bc5adad6d29bcd05b4d761b2 (patch) | |
| tree | 0998a5dcfc4517e4112a2c589e04ac0dbc1e011b /flake.nix | |
| parent | 0c50f17133b90c60735f1f51943f51f60372bdd3 (diff) | |
Migrate from nixcats to nix-wrapper-modules
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 138 |
1 files changed, 46 insertions, 92 deletions
@@ -1,19 +1,9 @@ { - description = "A Lua-natic's neovim flake, with extra cats! nixCats!"; - + description = "Flake exporting a configured neovim package"; 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; - plugins-base46-nvim.url = "github:AvengeMedia/base46"; - plugins-base46-nvim.flake = false; - neovim-nightly-overlay = { - url = "github:nix-community/neovim-nightly-overlay"; - }; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + wrappers.url = "github:BirdeeHub/nix-wrapper-modules"; + wrappers.inputs.nixpkgs.follows = "nixpkgs"; plugins-lze = { url = "github:BirdeeHub/lze"; flake = false; @@ -22,92 +12,56 @@ url = "github:BirdeeHub/lzextras"; flake = false; }; + plugins-base46 = { + url = "github:AvengeMedia/base46"; + flake = false; + }; }; - outputs = { self, nixpkgs, - nixCats, + wrappers, ... }@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"; + forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all; + module = nixpkgs.lib.modules.importApply ./module.nix inputs; + wrapper = wrappers.lib.evalModule module; 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 - ; + { + wrapperModules = { + neovim = module; + default = self.wrapperModules.neovim; + }; + wrappers = { + neovim = wrapper.config; + default = self.wrappers.neovim; + }; + overlays = { + neovim = final: prev: { neovim = self.wrappers.neovim.wrap { pkgs = final; }; }; + default = self.overlays.neovim; + }; + packages = forAllSystems ( + system: + let + pkgs = import nixpkgs { inherit system; }; + in + { + neovim = self.wrappers.neovim.wrap { inherit pkgs; }; + default = self.packages.${system}.neovim; + } + ); + nixosModules = { + default = self.nixosModules.neovim; + neovim = wrappers.lib.getInstallModule { + name = "neovim"; + value = module; }; - 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; - } - ); + }; + homeModules = { + default = self.homeModules.neovim; + neovim = self.nixosModules.neovim; + }; + }; } |
