summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix138
1 files changed, 46 insertions, 92 deletions
diff --git a/flake.nix b/flake.nix
index c143213..0faaab2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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;
+ };
+ };
}