nvim-oxi 0.6.0

Rust bindings to all things Neovim
Documentation
{
  description = "nvim-oxi";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

    flake-utils = {
      url = "github:numtide/flake-utils";
    };

    neovim-nightly-overlay = {
      url = "github:nix-community/neovim-nightly-overlay/master";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    inputs:
    with inputs;
    flake-utils.lib.eachDefaultSystem (
      system:
      let
        inherit (nixpkgs.lib) lists;

        mkPkgs =
          isNightly:
          (import nixpkgs {
            inherit system;
            overlays = lists.optionals isNightly [
              neovim-nightly-overlay.overlays.default
            ];
          });

        mkShell =
          { nightly }:
          (
            let
              pkgs = mkPkgs nightly;
              inherit (pkgs) lib stdenv;
            in
            pkgs.mkShell {
              buildInputs = lists.optionals stdenv.isDarwin [ pkgs.libiconv ];

              packages = with pkgs; [
                gcc
                luajit
                neovim
                pkg-config
              ];
            }
          );
      in
      {
        devShells = {
          default = mkShell { nightly = false; };
          nightly = mkShell { nightly = true; };
        };
      }
    );
}