diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index de0a4c3..059800a 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -7,8 +7,8 @@ TERM = "xterm-256color" size = 16.0 [font.normal] -family = "FiraCode Nerd Font Mono" -style = "Light" +family = "JetBrainsMono Nerd Font Mono" +style = "ExtraLight" [window] opacity = 1 diff --git a/.config/alacritty/themes/gruvbox_dark.toml b/.config/alacritty/themes/gruvbox_dark.toml index 1bbbfe8..552687a 100644 --- a/.config/alacritty/themes/gruvbox_dark.toml +++ b/.config/alacritty/themes/gruvbox_dark.toml @@ -2,7 +2,7 @@ # Default colors [colors.primary] -background = '#282828' +background = '#1d2021' foreground = '#d4be98' # Normal colors diff --git a/.config/nvim/lua/core/theme.lua b/.config/nvim/lua/core/theme.lua index 4b81f67..49ac420 100644 --- a/.config/nvim/lua/core/theme.lua +++ b/.config/nvim/lua/core/theme.lua @@ -1,4 +1,5 @@ vim.g.gruvbox_material_better_performance = 1 -vim.g.gruvbox_material_background = 'medium' +vim.g.gruvbox_material_background = 'hard' +vim.g.gruvbox_material_foreground = 'original' vim.opt.background = 'dark' vim.cmd('colorscheme gruvbox-material') diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua index e826827..25cf33b 100644 --- a/.config/nvim/lua/plugins/conform.lua +++ b/.config/nvim/lua/plugins/conform.lua @@ -3,6 +3,7 @@ require("conform").setup({ python = { "black" }, javascript = { "prettierd" }, markdown = { "mdformat" }, + go = { "gofmt" }, json = {"jq"} } }) diff --git a/.config/nvim/lua/plugins/lazy.lua b/.config/nvim/lua/plugins/lazy.lua index 9143213..8b1079c 100644 --- a/.config/nvim/lua/plugins/lazy.lua +++ b/.config/nvim/lua/plugins/lazy.lua @@ -147,7 +147,7 @@ lazy.setup({ { "rcarriga/nvim-dap-ui", event = "VeryLazy", - dependencies = {"mfussenegger/nvim-dap","nvim-neotest/nvim-nio"}, + dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" }, config = function() local dap = require("dap") local dapui = require("dapui") @@ -196,6 +196,61 @@ lazy.setup({ require("plugins.lspconfig") end, }, + { + "folke/trouble.nvim", + branch = "dev", + keys = { + { + "xx", + "Trouble diagnostics toggle", + desc = "Diagnostics (Trouble)", + }, + { + "xX", + "Trouble diagnostics toggle filter.buf=0", + desc = "Buffer Diagnostics (Trouble)", + }, + { + "cs", + "Trouble symbols toggle focus=false", + desc = "Symbols (Trouble)", + }, + { + "cl", + "Trouble lsp toggle focus=false win.position=right", + desc = "LSP Definitions / references / ... (Trouble)", + }, + { + "xL", + "Trouble loclist toggle", + desc = "Location List (Trouble)", + }, + { + "xQ", + "Trouble qflist toggle", + desc = "Quickfix List (Trouble)", + }, + }, + opts = { + modes = { + mydiags = { + mode = "diagnostics", -- inherit from diagnostics mode + filter = { + any = { + buf = 0, -- current buffer + { + severity = vim.diagnostic.severity.ERROR, -- errors only + -- limit to files in the current project + function(item) + return item.filename:find(vim.loop.cwd(), 1, true) + end, + }, + }, + }, + } + } + } + }, { "stevearc/conform.nvim", @@ -204,6 +259,19 @@ lazy.setup({ end, }, + { + 'dense-analysis/ale', + config = function() + vim.g.ale_linters_explicit = 1 + vim.g.ale_echo_msg_error_str = 'E' + vim.g.ale_echo_msg_warning_str = 'W' + vim.g.ale_echo_msg_format = '[%linter%] %s [%severity%]' + --vim.g.ale_linters = { + -- go = { 'golangci-lint' }, + --} + end + }, + { "lervag/vimtex", config = function() @@ -211,13 +279,13 @@ lazy.setup({ end, }, - 'tpope/vim-commentary', + --'tpope/vim-commentary', - -- { - -- "mrcjkb/rustaceanvim", - -- version = "^4", -- Recommended - -- ft = { "rust" }, - -- }, + -- { + -- "mrcjkb/rustaceanvim", + -- version = "^4", -- Recommended + -- ft = { "rust" }, + -- }, "barreiroleo/ltex-extra.nvim", @@ -255,10 +323,15 @@ lazy.setup({ --Discord Rich Presence "andweeb/presence.nvim", - + --Vim be good 'ThePrimeagen/vim-be-good', --JQ - 'jrop/jq.nvim' + 'jrop/jq.nvim', + + { + 'BooleanCube/keylab.nvim', + opts = {} + } }) diff --git a/.config/nvim/lua/plugins/lspconfig.lua b/.config/nvim/lua/plugins/lspconfig.lua index d22cce9..615ab54 100644 --- a/.config/nvim/lua/plugins/lspconfig.lua +++ b/.config/nvim/lua/plugins/lspconfig.lua @@ -18,6 +18,9 @@ vim.api.nvim_create_autocmd("LspAttach", { local client = vim.lsp.get_client_by_id(ev.data.client_id) client.server_capabilities.semanticTokensProvider = nil + --Enable inlay hints + --vim.lsp.inlay_hint.enable(ev.buf,true) + -- Mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap = true, silent = true, buffer = ev.buf } @@ -35,6 +38,7 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "ge", function() vim.diagnostic.goto_next() end, bufopts) vim.keymap.set("n", "gE", function() vim.diagnostic.goto_prev() end, bufopts) vim.keymap.set("n", "fo", function() conform.format({ lsp_fallback = true }) end, bufopts) + vim.keymap.set("n", "n", "!toke check") end, }) @@ -50,6 +54,26 @@ mason_lspconfig.setup_handlers({ capabilities = capabilities, }) end, + ["gopls"] = function () + lspconfig["gopls"].setup({ + capabilities = capabilities, + settings = { + gopls = { + ["ui.completion.usePlaceholders"] = true, + ["ui.diagnostic.staticcheck"] = true, + ["ui.inlayhint.hints"] = { + assignVariablesTypes = true, + compositeLiteralFields = true, + compositeLiteralTypes = true, + constantValues = true, + functionTypeParameters = true, + parameterNames = true, + rangeVariableTypes = true + }, + } + } + }) + end, ["lua_ls"] = function() lspconfig["lua_ls"].setup({ capabilities = capabilities, @@ -61,6 +85,7 @@ mason_lspconfig.setup_handlers({ diagnostics = { globals = { 'vim' }, }, + hint = { enable = true } }, }, }) diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index da876dd..ec50706 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -2,8 +2,8 @@ require('lualine').setup { options = { icons_enabled = true, theme = 'auto', - component_separators = { left = '', right = ''}, - section_separators = { left = '', right = ''}, + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, disabled_filetypes = { statusline = {}, winbar = {}, @@ -18,11 +18,11 @@ require('lualine').setup { } }, sections = { - lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = {'filename'}, - lualine_x = {'lsp', 'fileformat', 'filetype'}, - lualine_y = {'progress'}, + lualine_a = {}, + lualine_b = {}, + lualine_c = {}, + lualine_x = {'filetype'}, + lualine_y = {}, lualine_z = {'location'} }, inactive_sections = { diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua index 39296df..6a9d3b6 100644 --- a/.config/nvim/lua/plugins/none-ls.lua +++ b/.config/nvim/lua/plugins/none-ls.lua @@ -8,6 +8,7 @@ null_ls.setup({ null_ls.builtins.formatting.prettierd.with({ filetypes = { "html", "json", "css", "js", "yaml", "markdown" }, }), + null_ls.builtins.diagnostics.golangci_lint, }, on_attach = function(client,bufnr) if client.supports_method("textDocument/formatting") then diff --git a/.config/tmux/tmux_status_bar.conf b/.config/tmux/tmux_status_bar.conf index 5aea37c..38d574f 100644 --- a/.config/tmux/tmux_status_bar.conf +++ b/.config/tmux/tmux_status_bar.conf @@ -1,10 +1,10 @@ #!/usr/bin/env bash # Hardcoded values -set -g status-bg "#282828" +set -g status-bg "#1d2021" set -g @unfocused-fg "#d4be98" set -g @focused-bg "#d4be98" -set -g @focused-fg "#282828" +set -g @focused-fg "#1d2021" # Set status bar position set -g status-position top diff --git a/.config/zsh/main.zsh b/.config/zsh/main.zsh index b1e457a..561d50b 100644 --- a/.config/zsh/main.zsh +++ b/.config/zsh/main.zsh @@ -15,22 +15,10 @@ setopt HIST_VERIFY export EDITOR=nvim export READER=mupdf - - -#if [ "$(arch)" = "arm64" ]; then -eval "$(/opt/homebrew/bin/brew shellenv)" -#else -# eval "$(/usr/local/bin/brew shellenv)" -#fi - -[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh - -# bun -export BUN_INSTALL="$HOME/.bun" -export PATH="$BUN_INSTALL/bin:$PATH" enable-fzf-tab # opam configuration source $HOME/.opam/opam-init/init.zsh > /dev/null 2>&1 || true eval "$(direnv hook zsh)" +eval "$(/opt/homebrew/bin/brew shellenv)" diff --git a/.local/bin/change-theme.sh b/.local/bin/change-theme.sh index 0927d6a..760a8b9 100755 --- a/.local/bin/change-theme.sh +++ b/.local/bin/change-theme.sh @@ -71,16 +71,18 @@ case $1 in alacritty_theme_name="gruvbox_dark" zsh_theme_name="gruvbox_dark" nvim_color_scheme="gruvbox-material" - background_color="#282828" + background_color="#1d2021" tmux_bar_unfocused_fg="#d4be98" tmux_bar_focused_bg="#d4be98" - tmux_bar_focused_fg="#282828" + tmux_bar_focused_fg="#1d2021" nvim --server /tmp/nvim.pipe --remote-send ':lua vim.g.gruvbox_material_better_performance = 1' || true echo "vim.g.gruvbox_material_better_performance = 1" > ~/.config/nvim/lua/core/theme.lua - nvim --server /tmp/nvim.pipe --remote-send ':lua vim.g.gruvbox_material_background = "medium"' || true - echo "vim.g.gruvbox_material_background = 'medium'" >> ~/.config/nvim/lua/core/theme.lua + nvim --server /tmp/nvim.pipe --remote-send ':lua vim.g.gruvbox_material_background = "hard"' || true + echo "vim.g.gruvbox_material_background = 'hard'" >> ~/.config/nvim/lua/core/theme.lua + nvim --server /tmp/nvim.pipe --remote-send ':lua vim.g.gruvbox_material_foreground = "original"' || true + echo "vim.g.gruvbox_material_foreground = 'original'" >> ~/.config/nvim/lua/core/theme.lua nvim --server /tmp/nvim.pipe --remote-send ':lua vim.opt.background = "dark"' || true echo "vim.opt.background = 'dark'" >> ~/.config/nvim/lua/core/theme.lua @@ -101,6 +103,8 @@ case $1 in echo "vim.g.gruvbox_material_better_performance = 1" > ~/.config/nvim/lua/core/theme.lua nvim --server /tmp/nvim.pipe --remote-send ':lua vim.g.gruvbox_material_background = "soft"' || true echo "vim.g.gruvbox_material_background = 'soft'" >> ~/.config/nvim/lua/core/theme.lua + nvim --server /tmp/nvim.pipe --remote-send ':lua vim.g.gruvbox_material_foreground = "original"' || true + echo "vim.g.gruvbox_material_foreground = 'original'" >> ~/.config/nvim/lua/core/theme.lua nvim --server /tmp/nvim.pipe --remote-send ':lua vim.opt.background = "light"' || true echo "vim.opt.background = 'light'" >> ~/.config/nvim/lua/core/theme.lua diff --git a/.zshenv b/.zshenv index c582aef..a127c7e 100644 --- a/.zshenv +++ b/.zshenv @@ -4,19 +4,4 @@ TRAPUSR1() { exec "${SHELL}" fi } - -# Add paths -export PATH="$HOME/.local/share/nvim/mason/bin:$PATH" -export PATH="/Users/afonso/.local/bin:$PATH" -export PATH="/opt/homebrew/bin:$PATH" -export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH" -export PATH="$HOME/go/bin:$PATH" -export PATH="$HOME/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin:$PATH" -export PATH="$HOME/.cargo/bin:$PATH" -export PATH="$HOME/.ghcup/bin:$PATH" -export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH" export JAVA_HOME="/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home" -export PATH="$HOME/.miniforge3/bin:$PATH" -export PATH="/opt/homebrew/opt/texlive/bin/:$PATH" -eval "$(/opt/homebrew/bin/brew shellenv)" - diff --git a/.zshrc b/.zshrc index 1dd4c5d..bc6466b 100644 --- a/.zshrc +++ b/.zshrc @@ -1,5 +1,17 @@ -# If you come from bash you might have to change your $PATH. -# export PATH=$HOME/bin:/usr/local/bin:$PATH +# Add paths +export PATH="/usr/sbin:/sbin:$PATH" +export PATH="$HOME/.local/share/nvim/mason/bin:$PATH" +export PATH="/Users/afonso/.local/bin:$PATH" +export PATH="/opt/homebrew/bin:$PATH" +export PATH="$HOME/go/bin:$PATH" +export PATH="$HOME/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin:$PATH" +export PATH="$HOME/.cargo/bin:$PATH" +export PATH="$HOME/.ghcup/bin:$PATH" +export PATH="$HOME/.miniforge3/bin:$PATH" +export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH" + +export GOPATH=$HOME/.go +export PATH=$PATH:$GOPATH/bin # Path to your oh-my-zsh installation. export ZSH="$HOME/.oh-my-zsh" @@ -76,6 +88,7 @@ ZSH_CUSTOM=/Users/afonso/.config/zsh source $HOME/.config/zsh/themes/gruvbox_dark.zsh source $HOME/.config/zsh/overrides.zsh +zvm_after_init_commands+=('[ -f $HOME/.fzf.zsh ] && source $HOME/.fzf.zsh') plugins=(zsh-vi-mode git sudo macos tmux command-not-found web-search zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting fzf-tab) @@ -129,11 +142,10 @@ else else export PATH="/Users/afonso/.miniforge3/bin:$PATH" fi + if [ -f "/Users/afonso/.miniforge3/etc/profile.d/mamba.sh" ]; then + . "/Users/afonso/.miniforge3/etc/profile.d/mamba.sh" + fi fi unset __conda_setup - -if [ -f "/Users/afonso/.miniforge3/etc/profile.d/mamba.sh" ]; then - . "/Users/afonso/.miniforge3/etc/profile.d/mamba.sh" -fi # <<< conda initialize <<<