{
    programs.nixvim.plugins = {
        lsp-format = {
            enable = true;
        };
        lsp = {
            enable = true;
            inlayHints = true;
            servers = {
                html = {
                    enable = true;
                };
                lua_ls = {
                    enable = true;
                };
                nixd = {
                    enable = true;
                    extraOptions = {
                        nixos = {
                            expr = "(builtins.getFlake \"/etc/nixos\").nixosConfigurations.aurelionite.options";
                        };
                        home_manager = {
                            expr = "(builtins.getFlake \"/etc/nixos\").homeConfigurations.aurelionite.options";
                        };
                    };
                };
                marksman = {
                    enable = true;
                };
                pyright = {
                    enable = true;
                };
                gopls = {
                    enable = true;
                };
                yamlls = {
                    enable = true;
                };
            };
            keymaps = {
                silent = true;
                lspBuf = {
                    gd = {
                        action = "definition";
                        desc = "Goto Definition";
                    };
                    gr = {
                        action = "references";
                        desc = "Goto References";
                    };
                    gD = {
                        action = "declaration";
                        desc = "Goto Declaration";
                    };
                    gI = {
                        action = "implementation";
                        desc = "Goto Implementation";
                    };
                    gT = {
                        action = "type_definition";
                        desc = "Type Definition";
                    };
                    "<leader>cr" = {
                        action = "rename";
                        desc = "Rename";
                    };
                };
            };
        };
    };
}
