This commit is contained in:
Your Name
2025-12-03 23:25:53 +01:00
parent 61896c8791
commit 0e4702031c
3 changed files with 52 additions and 19 deletions

View File

@@ -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 <Tab> completion instead of ctrl n and ctrl p
inoremap <expr> <Tab> pumvisible() ? "\<C-y>" : "\<Tab>"
inoremap <expr> <S-Tab> "\<Tab>"
set clipboard=unnamed,unnamedplus
set mouse=a
" Browser Preview Hotkey
nmap <leader>m <Plug>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" ];
};
};
}

View File

@@ -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.

View File

@@ -29,7 +29,6 @@
boot.extraModulePackages = [ ];
hardware.amdgpu.opencl.enable = true;
hardware.amdgpu.amdvlk.enable = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
hardware.graphics = {