{ description = "My nixvim configuration"; inputs = { nixvim.url = "github:nix-community/nixvim"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, nixvim, flake-utils, ... }@inputs: flake-utils.lib.eachDefaultSystem (system: let nixvimLib = nixvim.lib.${system}; pkgs = import nixpkgs { inherit system; }; nixvim' = nixvim.legacyPackages.${system}; nvim = nixvim'.makeNixvimWithModule { inherit pkgs; module = ./.; }; mkNixvim = specialArgs: nixvim.legacyPackages.${system}.makeNixvimWithModule { inherit pkgs; module = ./.; extraSpecialArgs = specialArgs // { inherit pkgs; }; }; in { formatter = nixpkgs.legacyPackages.${system}.alejandra; checks = { default = nixvimLib.check.mkTestDerivationFromNvim { inherit nvim; name = "My nixvim configuration"; }; }; packages = { # Lets you run `nix run .` to start nixvim default = mkNixvim { }; lite = mkNixvim { withNodeJs = false; }; }; devShells.default = import ./shell.nix { inherit pkgs; }; }); }