neovim-flake/flake.nix

71 lines
1.6 KiB
Nix

{
description = "Personal Neovim configuration.";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixvim.url = "github:nix-community/nixvim";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
flake-parts.url = "github:hercules-ci/flake-parts";
render-markdown = {
url = "github:MeanderingProgrammer/render-markdown.nvim";
flake = false;
};
satellite = {
url = "github:lewis6991/satellite.nvim";
flake = false;
};
haskell-tools = {
url = "github:mrcjkb/haskell-tools.nvim";
flake = false;
};
rustaceanvim = {
url = "github:mrcjkb/rustaceanvim";
flake = false;
};
};
outputs =
{
nixvim,
flake-parts,
...
}@inputs:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
perSystem =
{
pkgs,
system,
...
}:
let
nixvimLib = nixvim.lib.${system};
nixvim' = nixvim.legacyPackages.${system};
nixvimModule = {
inherit pkgs;
extraSpecialArgs = {
inherit inputs;
};
module = import ./config;
};
nvim = nixvim'.makeNixvimWithModule nixvimModule;
in
{
formatter = pkgs.nixfmt-rfc-style;
checks = {
default = nixvimLib.check.mkTestDerivationFromNixvimModule nixvimModule;
};
packages = {
default = nvim;
};
};
};
}