diff --git a/home/neovim.nix b/home/neovim.nix index b1bc96e..942006e 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,6 +1,5 @@ { pkgs, ... }: { - programs.neovim = { enable = true; viAlias = true; @@ -9,33 +8,60 @@ withPython3 = true; withNodeJs = true; + extraPython3Packages = ps: [ ps.pylatexenc ]; + extraConfig = '' set backspace=indent,eol,start syntax on set tabstop=2 softtabstop=0 autoindent expandtab shiftwidth=2 smarttab - - - " Wildmenu for command-line completion set wildmenu - set wildmode=longest:full,full " Example wildmode setting + set wildmode=longest:full,full - - " Use completion instead of ctrl n and ctrl p inoremap pumvisible() ? "\" : "\" inoremap "\" set clipboard=unnamed,unnamedplus set mouse=a + " Browser Preview Hotkey + nmap m MarkdownPreviewToggle ''; extraLuaConfig = '' vim.wo.number = true - -- vim.wo.relativenumber = true vim.api.nvim_set_option("clipboard", "unnamedplus") + + -- 2. CRITICAL: Set conceallevel to 2. + -- This hides the "$$" and allows the plugin to render the math. + vim.opt.conceallevel = 2 + + -- Optional: Ensure concealed text is not completely hidden if you want a cursor indicator + vim.opt.concealcursor = 'nc' -- Hide in Normal/Command, show in Insert + + require('nvim-treesitter.configs').setup { + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + } + + require('render-markdown').setup({ + latex = { + enabled = true, + -- This requires the 'pylatexenc' python package added above + converter = 'latex2text', + highlight = 'RenderMarkdownMath', + top_pad = 0, + bottom_pad = 0, + }, + }) ''; - extraPackages = [ pkgs.fzf ]; # For fzf-vim functionality + extraPackages = [ + pkgs.fzf + pkgs.wl-clipboard + pkgs.xclip + ]; plugins = with pkgs.vimPlugins; [ vim-nix @@ -46,14 +72,27 @@ typst-vim typst-preview-nvim aider-nvim + + # Icons + nvim-web-devicons + + # Treesitter with REQUIRED parsers + (nvim-treesitter.withPlugins (p: [ + p.markdown + p.markdown_inline + p.latex + p.yaml + p.bash + p.rust + ])) + + render-markdown-nvim + markdown-preview-nvim ]; - # CoC configuration (replacing coc-rust-analyzer plugin) coc.enable = true; coc.settings = { - "coc.globalExtensions" = [ - "coc-rust-analyzer" - ]; + "coc.globalExtensions" = [ "coc-rust-analyzer" ]; }; }; } diff --git a/home/niri.nix b/home/niri.nix index 861f55e..e267b82 100644 --- a/home/niri.nix +++ b/home/niri.nix @@ -432,8 +432,6 @@ let Mod+K { focus-window-or-monitor-up; } Mod+L { focus-column-or-monitor-right; } - Alt+Tab { focus-window-previous; } - Mod+Ctrl+Left { move-column-left; } Mod+Ctrl+Down { move-window-down; } Mod+Ctrl+Up { move-window-up; } @@ -559,9 +557,6 @@ let // Alternatively, there are commands to move just a single window: // Mod+Ctrl+1 { move-window-to-workspace 1; } - // Switches focus between the current and the previous workspace. - // Mod+Tab { focus-workspace-previous; } - // The following binds move the focused window in and out of a column. // If the window is alone, they will consume it into the nearby column to the side. // If the window is already in a column, they will expel it out. diff --git a/hosts/aragon/hardware-configuration.nix b/hosts/aragon/hardware-configuration.nix index 90f66ae..c03814f 100644 --- a/hosts/aragon/hardware-configuration.nix +++ b/hosts/aragon/hardware-configuration.nix @@ -29,7 +29,6 @@ boot.extraModulePackages = [ ]; hardware.amdgpu.opencl.enable = true; - hardware.amdgpu.amdvlk.enable = true; boot.kernelPackages = pkgs.linuxPackages_latest; hardware.graphics = {