2020-12-30 01:05:51 +00:00
|
|
|
{
|
|
|
|
description = "A neovim configuration system for NixOS";
|
|
|
|
|
2022-09-18 11:19:23 +01:00
|
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
2020-12-30 01:05:51 +00:00
|
|
|
|
2022-01-10 19:50:13 +00:00
|
|
|
inputs.nmdSrc.url = "gitlab:rycee/nmd";
|
|
|
|
inputs.nmdSrc.flake = false;
|
|
|
|
|
2022-09-18 11:19:23 +01:00
|
|
|
outputs = { self, nixpkgs, nmdSrc, flake-utils, ... }@inputs:
|
|
|
|
with nixpkgs.lib;
|
|
|
|
with builtins;
|
|
|
|
let
|
|
|
|
# TODO: Support nesting
|
|
|
|
nixvimModules = map (f: ./modules + "/${f}") (attrNames (builtins.readDir ./modules));
|
|
|
|
|
|
|
|
modules = pkgs: nixvimModules ++ [
|
|
|
|
(rec {
|
|
|
|
_file = ./flake.nix;
|
|
|
|
key = _file;
|
|
|
|
config = {
|
|
|
|
_module.args = {
|
|
|
|
pkgs = mkForce pkgs;
|
|
|
|
lib = pkgs.lib;
|
|
|
|
helpers = import ./plugins/helpers.nix { lib = pkgs.lib; };
|
2021-01-05 11:26:49 +00:00
|
|
|
};
|
2022-09-18 11:19:23 +01:00
|
|
|
};
|
|
|
|
})
|
2021-01-07 16:06:39 +00:00
|
|
|
|
2022-09-18 11:19:23 +01:00
|
|
|
./plugins/default.nix
|
|
|
|
];
|
2021-02-01 15:54:53 +00:00
|
|
|
|
2022-09-18 11:19:23 +01:00
|
|
|
flakeOutput =
|
|
|
|
flake-utils.lib.eachDefaultSystem
|
2022-10-17 15:08:17 +02:00
|
|
|
(system: let
|
|
|
|
pkgs = import nixpkgs { inherit system; };
|
|
|
|
in {
|
2022-09-18 11:19:23 +01:00
|
|
|
packages.docs = import ./docs {
|
|
|
|
pkgs = import nixpkgs { inherit system; };
|
|
|
|
lib = nixpkgs.lib;
|
|
|
|
nixvimModules = nixvimModules;
|
|
|
|
inherit nmdSrc;
|
2021-02-01 15:54:53 +00:00
|
|
|
};
|
2021-02-01 16:40:07 +00:00
|
|
|
|
2022-10-17 15:08:17 +02:00
|
|
|
legacyPackages.makeNixvim = import ./wrappers/standalone.nix pkgs (modules pkgs);
|
2022-09-18 11:19:23 +01:00
|
|
|
});
|
|
|
|
in
|
|
|
|
flakeOutput // {
|
2022-10-17 15:08:17 +02:00
|
|
|
nixosModules.nixvim = import ./wrappers/nixos.nix modules;
|
|
|
|
homeManagerModules.nixvim = import ./wrappers/hm.nix modules;
|
2020-12-30 01:05:51 +00:00
|
|
|
};
|
|
|
|
}
|