Files
dotfiles/neovim/flake.nix
2024-04-27 17:18:10 +05:30

73 lines
1.6 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default";
nixvim = {
url = "github:GaetanLepage/nixvim/ast-grep";
inputs.nixpkgs.follows = "nixpkgs";
};
nnn = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
pets = {
url = "github:giusgad/pets.nvim";
flake = false;
};
neorg = {
url = "github:nvim-neorg/neorg/v7.0.0";
flake = false;
};
neorg-telescope = {
url = "github:nvim-neorg/neorg-telescope";
flake = false;
};
rest-nvim = {
url = "github:rest-nvim/rest.nvim";
flake = false;
};
gp-nvim = {
url = "github:Robitx/gp.nvim";
flake = false;
};
nvim-devdocs = {
url = "github:luckasRanarison/nvim-devdocs";
flake = false;
};
neogit = {
url = "github:NeogitOrg/neogit/nightly";
flake = false;
};
};
outputs = {
self,
nixpkgs,
systems,
nixvim,
nnn,
...
} @ inputs: let
forEachSystem = nixpkgs.lib.genAttrs (import systems);
nvim = forEachSystem (system:
import ./nvim.nix {
pkgs = import nixpkgs {
inherit system;
overlays = import ./overlays.nix {
inherit inputs;
};
};
});
in rec {
packages = forEachSystem (system: rec {
neovim = nvim.${system}.neovim;
default = neovim;
});
overlays = {
default = prev: final: {
sneovim = packages.${final.system}.neovim;
};
};
};
}