neovim-flake/flake.nix
Youwen Wu 414e46dd15
feat: minor overhaul
* switch to oil.nvim from yazi
* use lualine with custom config
* optimize settings
2024-09-16 23:49:09 -07:00

68 lines
1.5 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;
};
};
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;
};
};
};
}