nvim.nix/flake.nix
iofq 63f5dd46e9
Some checks failed
build / build (nvim) (push) Has been cancelled
flake.lock: Update
Flake lock file updates:

• Updated input 'dart':
    'github:iofq/dart.nvim/8822aabbfef95eda2b22a8f7ee08912c762ef941?narHash=sha256-ADZ2b2Oz%2BMOSjdKKCcQX9KmlhtmvVlZFEJr0HigWsOY%3D' (2025-11-01)
  → 'github:iofq/dart.nvim/205f809fbb27d56aff22756a97b5ba6f0c7243c3?narHash=sha256-lLY34wnbyzi21zE8i%2BVM0AoEt67r4aPn/EoaZ8o4NgU%3D' (2025-12-07)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/2c33f92a62588cd30dbba26fa39384e29229bc6f?narHash=sha256-h3c8Mcs4wI0U9JKzDyj1X%2BJUMc5KsfIXu2eyRE5ktAs%3D' (2025-11-09)
  → 'github:nix-community/neovim-nightly-overlay/f7fbc4e3d4ccea45eaa5b187884592eb42dfdbbd?narHash=sha256-YMf/PUyY4z7RlIe/Dzn1NnxZGS0Vp2eHxcMNWJM9q%2BA%3D' (2025-12-18)
• Updated input 'neovim-nightly-overlay/flake-parts':
    'github:hercules-ci/flake-parts/26d05891e14c88eb4a5d5bee659c0db5afb609d8?narHash=sha256-xxdepIcb39UJ94%2BYydGP221rjnpkDZUlykKuF54PsqI%3D' (2025-11-06)
  → 'github:hercules-ci/flake-parts/a34fae9c08a15ad73f295041fec82323541400a9?narHash=sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw%3D' (2025-12-15)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/ded578625219d5056fdacdba4b04f0d5bf4fbe9d?narHash=sha256-npSk%2BFSPkiaGwKTluegZ3tXqDpe3EFiRMQJ2Cc6rq4Y%3D' (2025-11-08)
  → 'github:neovim/neovim/c172fd9f464d5766eab9071e8f4770504c920c05?narHash=sha256-KE/ufBGH8XFXTw3Vt1DrK1rQmAEp1Q%2BoyLQibX5UKO0%3D' (2025-12-17)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cdfa60cc7448c7943dd3feb0ab18e342d569c7a4?narHash=sha256-kGEigbGxzpXpyeU9BtILXsMwTls5XcLyXEwYVfNjO4g%3D' (2025-11-09)
  → 'github:NixOS/nixpkgs/1306659b587dc277866c7b69eb97e5f07864d8c4?narHash=sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4%3D' (2025-12-15)
• Updated input 'nvim-treesitter-main':
    'github:iofq/nvim-treesitter-main/69e9583fe72fa2dbffcb740563a9cc48396e3f75?narHash=sha256-hRGD%2BCE04Z1qAJAaiJs6o%2BblS0WUEqfVS/5cqA0NcDI%3D' (2025-11-09)
  → 'github:iofq/nvim-treesitter-main/2e8b5c686fc346c34b1d2a269584b32f480e7b7f?narHash=sha256-%2BUw%2B965kDJTriyUGiYF/eYAuQBowoBZpLzJswInqLCY%3D' (2025-12-14)
• Updated input 'nvim-treesitter-main/nixpkgs':
    'github:nixos/nixpkgs/ae814fd3904b621d8ab97418f1d0f2eb0d3716f4?narHash=sha256-YRqMDEtSMbitIMj%2BJLpheSz0pwEr0Rmy5mC7myl17xs%3D' (2025-11-05)
  → 'github:nixos/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11)
• Updated input 'nvim-treesitter-main/nvim-treesitter':
    'github:nvim-treesitter/nvim-treesitter/d97d226cfd4c00af000b3b8529261352677fc6a8?narHash=sha256-hXs9TdytYtBeXW6nx9QZiQcqsuj1uLuZMf8kclaScQ8%3D' (2025-11-08)
  → 'github:nvim-treesitter/nvim-treesitter/74b119812e9f82bccc2f0eca156faff0354362ae?narHash=sha256-HT%2BUzX1m4hm2QAqDa0dltArr3gMyYhXHnHoYkkQBWZA%3D' (2025-12-13)
• Updated input 'nvim-treesitter-main/nvim-treesitter-textobjects':
    'github:nvim-treesitter/nvim-treesitter-textobjects/7024f8687b060dd9a425bde1fa8621c896a38138?narHash=sha256-gzeT2gtmFaXhRSC13mijH6tlk/eWRZaUrGiEpKoAorA%3D' (2025-11-08)
  → 'github:nvim-treesitter/nvim-treesitter-textobjects/0d7c800fadcfe2d33089f5726cb8907fc846eece?narHash=sha256-w2dzc5oWyEoPUgbqaAuNKCeFeh81rYJPOCPVRnFC724%3D' (2025-12-14)
2025-12-18 00:14:36 -06:00

85 lines
2.2 KiB
Nix

{
description = "Neovim derivation";
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";
inputs.nixpkgs.follows = "nixpkgs";
};
gen-luarc = {
url = "github:mrcjkb/nix-gen-luarc-json";
inputs.nixpkgs.follows = "nixpkgs";
};
dart = {
url = "github:iofq/dart.nvim";
};
nvim-treesitter-main = {
url = "github:iofq/nvim-treesitter-main";
};
};
outputs =
inputs@{
nixpkgs,
flake-utils,
...
}:
let
systems = builtins.attrNames nixpkgs.legacyPackages;
# This is where the Neovim derivation is built.
neovim-overlay = import ./nix/neovim-overlay.nix { inherit inputs; };
finalOverlays = [
inputs.neovim-nightly-overlay.overlays.default
inputs.nvim-treesitter-main.overlays.default
(final: prev: {
vimPlugins = prev.vimPlugins.extend (
f: p: {
nvim-treesitter = p.nvim-treesitter.withAllGrammars;
nvim-treesitter-textobjects = p.nvim-treesitter-textobjects.overrideAttrs {
dependencies = [ f.nvim-treesitter ];
};
}
);
})
neovim-overlay
];
in
flake-utils.lib.eachSystem systems (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = finalOverlays ++ [
inputs.gen-luarc.overlays.default
];
};
shell = pkgs.mkShell {
name = "nvim-devShell";
buildInputs = with pkgs; [
lua-language-server
nixd
stylua
luajitPackages.luacheck
];
shellHook = ''
# symlink the .luarc.json generated in the overlay
ln -fs ${pkgs.nvim-luarc-json} .luarc.json
'';
};
in
{
packages = rec {
default = nvim;
nvim = pkgs.nvim-pkg;
};
devShells = {
default = shell;
};
}
)
// {
overlays.default = nixpkgs.lib.composeManyExtensions finalOverlays;
};
}