{ config, pkgs, ... }: { home.username = "roy"; home.homeDirectory = "/home/roy"; home.packages = with pkgs; [ age dig ffmpeg_6 git grim kdePackages.gwenview prismlauncher slurp sops ssh-to-age tree unzip vlc wl-clipboard yq-go zip ]; programs.git = { enable = true; userName = "Roy Dumblauskas"; userEmail = "roydumblauskas@gmail.com"; }; programs.nixvim = { enable = true; opts = { number = true; relativenumber = true; shiftwidth = 2; tabstop = 2; expandtab = true; }; plugins = { lsp-lines.enable = true; lsp-format.enable = true; lsp = { enable = true; inlayHints = true; servers = { html.enable = true; lua_ls.enable = true; nil_ls.enable = true; ts_ls.enable = true; marksman.enable = true; pyright.enable = true; gopls.enable = true; terraformls.enable = true; ansiblels.enable = true; jsonls.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"; }; K = { action = "hover"; desc = "Hover"; }; "cw" = { action = "workspace_symbol"; desc = "Workspace Symbol"; }; "cr" = { action = "rename"; desc = "Rename"; }; }; diagnostic = { "cd" = { action = "open_float"; desc = "Line Diagnostics"; }; "]d" = { action = "goto_next"; desc = "Next Diagnostic"; }; "[d" = { action = "goto_prev"; desc = "Previous Diagnostic"; }; }; }; }; }; extraConfigLua = '' local _border = "rounded" vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( vim.lsp.handlers.hover, { border = _border } ) vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with( vim.lsp.handlers.signature_help, { border = _border } ) vim.diagnostic.config{ float={border=_border} }; require('lspconfig.ui.windows').default_options = { border = _border } ''; colorschemes.catppuccin.enable = true; }; home.stateVersion = "24.11"; programs.home-manager.enable = true; }