kickstart.nvim/flake.nix

50 lines
1.3 KiB
Nix

{
description = "Personal Neovim configuration based on kickstart.nvim";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
# Custom Neovim package with this configuration
neovimConfig = pkgs.stdenv.mkDerivation {
name = "kickstart-nvim-config";
src = self;
installPhase = ''
mkdir -p $out
cp -r init.lua $out/
cp -r lua $out/
cp -r doc $out/
${pkgs.lib.optionalString (builtins.pathExists ./AGENT.md) "cp AGENT.md $out/"}
'';
};
neovim-kickstart = pkgs.neovim.override {
configure = {
customRC = ''
lua << EOF
-- Set XDG_CONFIG_HOME to point to our config
vim.env.NVIM_APPNAME = vim.env.NVIM_APPNAME or "nvim-kickstart"
-- Load the kickstart configuration
dofile("${neovimConfig}/init.lua")
EOF
'';
};
};
in
{
packages = {
default = neovim-kickstart;
neovim = neovim-kickstart;
};
}
);
}