{ description = "my_nixvim flake"; inputs = { nixvim.url = "github:nix-community/nixvim"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, nixpkgs-stable, nixvim, flake-utils, ... } @ inputs: let config = import ./config; # import the module directly in flake-utils.lib.eachDefaultSystem (system: let nixvimLib = nixvim.lib.${system}; pkgs = import nixpkgs {inherit system;}; pkgs-stable = import nixpkgs-stable {inherit system;}; nixvim' = nixvim.legacyPackages.${system}; nvim = nixvim'.makeNixvimWithModule { inherit pkgs; module = config; # You can use `extraSpecialArgs` to pass additional arguments to your module files extraSpecialArgs = { inherit self; inherit pkgs-stable; }; }; in { checks = { # Run `nix flake check .` to verify that your config is not broken default = nixvimLib.check.mkTestDerivationFromNvim { inherit nvim; name = "my_nixvim"; }; }; packages = { # Lets you run `nix run .` to start nixvim default = nvim; }; # formatter = pkgs.alejandra; }); }