Merge branch 'main' of git.sealight.xyz:aynish/helm

This commit is contained in:
Anish Lakhwara
2025-11-21 21:09:56 -08:00
46 changed files with 1652 additions and 253 deletions
+92 -43
View File
@@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ pkgs, lib, config, ... }:
let
customPlugins = {
vim-zettel = pkgs.vimUtils.buildVimPlugin {
@@ -11,6 +11,16 @@ let
};
};
amp-nvim = pkgs.vimUtils.buildVimPlugin {
name = "amp-nvim";
src = pkgs.fetchFromGitHub {
owner = "sourcegraph";
repo = "amp.nvim";
rev = "main";
sha256 = "Sm/SQEIZlnqu/sD+MhZzgGm3bf+HnADOOimZ2Q++MXU=";
};
};
my-lspsaga = pkgs.vimUtils.buildVimPlugin {
name = "lspsaga.nvim";
src = pkgs.fetchFromGitHub {
@@ -29,24 +39,6 @@ let
sha256 = "gMaS5YFi3+gmUIfkCMEt9vhm8XSgv54Cquv5+WCWeTo=";
};
};
leap = pkgs.vimUtils.buildVimPlugin {
name = "leap";
src = pkgs.fetchFromGitHub {
owner = "ggandor";
repo = "leap.nvim";
rev = "1bb1fec369b1e9ae96e6ff1b829ea9272c51f844";
sha256 = "dH0v1D5q5OlMLA/omTDMb/taKyIgQ5VfVMYXJ609k/k=";
};
};
nvim-navic = pkgs.vimUtils.buildVimPlugin {
name = "nvim-navic";
src = pkgs.fetchFromGitHub {
owner = "SmiteshP";
repo = "nvim-navic";
rev = "096b23e73c84a653fd317c0c10261875fa573a6d";
sha256 = "vX7ZVJxgatIicmijehtaRvyHxk1i4gFfXrbPM/+VoFc=";
};
};
my-which-key-nvim = pkgs.vimUtils.buildVimPlugin {
pname = "which-key.nvim";
version = "2022-05-04";
@@ -108,6 +100,19 @@ let
sha256 = "czKjJgCpvRSdtR7rNGlJrluDgPIdx94KUyx33op5gdY=";
};
};
gh-addressed = pkgs.vimUtils.buildVimPlugin {
pname = "gh-addressed";
version = "2024-09-17";
src = pkgs.fetchFromGitHub {
owner = "dlvhdr";
repo = "gh-addressed.nvim";
rev = "64c12f0f2a1d28afe53220da5fb86e1adb79be07";
sha256 = "0pxzq9jllw7rfspyy6j8dr464g0ph7xvh317l4iyva26ld8889mp";
};
doCheck = false;
doInstallCheck = false;
nvimRequireCheck = "none";
};
};
my-python-packages = python-packages: with python-packages; [
@@ -148,7 +153,7 @@ in
extraConfig = ''
" so our custom files still get included
set runtimepath+=/home/anish/.config/nvim/
" set runtimepath+=/home/anish/.config/nvim/
set tabstop=2
set showmatch
set shiftwidth=2
@@ -298,6 +303,11 @@ in
nnoremap <leader>gp :Git! push<CR>
nnoremap <leader>gd :Gdiff<CR>
nnoremap <leader>gc :G commit -v -q %:p<CR>
" diffview keybindings
nnoremap <leader>do :DiffviewOpen<CR>
nnoremap <leader>dc :DiffviewClose<CR>
nnoremap <leader>dh :DiffviewFileHistory %<CR>
nnoremap <leader>df :DiffviewFileHistory<CR>
" kitaab
"map <leader>cz :VimwikiIndex<CR>:ZettelNew
@@ -320,10 +330,10 @@ in
let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } }
" lsp commands
nnoremap <leader>vgd :lua vim.lsp.buf.definition()<CR>
nnoremap <leader>vi :lua require('telescope.builtin').lsp_implementation()<CR>
nnoremap <leader>vsh :lua vim.lsp.buf.signature_help()<CR>
nnoremap <leader>vrr :lua require('telescope.builtin').lsp_references()<CR>
nnoremap gd :lua vim.lsp.buf.definition()<CR>
nnoremap gI :lua require('telescope.builtin').lsp_implementation()<CR>
nnoremap gK :lua vim.lsp.buf.signature_help()<CR>
nnoremap gr :lua require('telescope.builtin').lsp_references()<CR>
" nnoremap <leader>vrn :lua vim.lsp.buf.rename()<CR>
" nnoremap <leader>vh :lua vim.lsp.buf.hover()<CR>
" nnoremap <leader>vca :lua vim.lsp.buf.code_action()<CR>
@@ -332,9 +342,9 @@ in
" nnoremap <leader>va :lua require('telescope.builtin').lsp_code_actions(require('telescope.themes').get_cursor())<cr>
" lspsaga stuff doesn't work
nnoremap <leader>vd :Lspsaga peek_definition<CR>
nnoremap <leader>vrn :Lspsaga rename<CR><CR>
nnoremap <leader>vh :Lspsaga hover_doc<CR>
nnoremap <leader>vca :Lspsaga code_action<CR>
nnoremap <leader>cr :Lspsaga rename<CR><CR>
nnoremap K :Lspsaga hover_doc<CR>
nnoremap <leader>ca :Lspsaga code_action<CR>
nnoremap <leader>vsd :Lspsaga show_line_diagnostics<CR>
nnoremap <leader>vs :Dasht<Space>
nnoremap <leader>vn :Lspsaga diagnostic_jump_prev<CR>
@@ -473,6 +483,9 @@ in
vim.api.nvim_set_keymap('n', '<leader>vt', ':call v:lua.toggle_diagnostics()<CR>', {noremap = true, silent = true})
-- nicer diff view
vim.opt.diffopt = {'internal', 'filler', 'closeoff', 'algorithm:patience', 'indent-heuristic'}
-- autopairs
require('nvim-autopairs').setup{}
@@ -850,6 +863,21 @@ in
require("which-key").setup{}
require('leap').set_default_keymaps()
${lib.optionalString (customPlugins.amp-nvim != null) ''
-- Setup amp.nvim
require('amp').setup({
auto_start = true,
log_level = "info",
completion_enabled = true
})
-- require('amp.completion').setup({
-- keymaps = {
-- accept = "<C-y>",
-- dismiss = "<C-n>",
-- }
-- })
''}
-- supercollider
local scnvim = require 'scnvim'
local map = scnvim.map
@@ -908,10 +936,37 @@ in
map("n", "<leader>zl", "<Cmd>ZkLinks<CR>", opts)
-- Preview a linked note.
map("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
map("n", "<leader>ck", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
-- Open the code actions for a visual selection.
map("v", "<leader>za", ":'<,'>lua vim.lsp.buf.range_code_action()<CR>", opts)
-- diffview setup
require('diffview').setup{
use_icons = true,
view = {
default = {
layout = "diff2_horizontal",
},
merge_tool = {
layout = "diff3_horizontal",
disable_diagnostics = true,
},
},
file_panel = {
listing_style = "tree",
win_config = {
position = "left",
width = 35,
},
},
file_history_panel = {
win_config = {
position = "bottom",
height = 16,
},
},
}
-- zen mode
require('zen-mode').setup{
window = {
@@ -975,7 +1030,7 @@ in
vim.keymap.set({'n', 't'}, '<M-l>', '<CMD>NavigatorRight<CR>')
-- Disable Ctrl+V in nvim so Kitty can handle paste
vim.keymap.set({'n', 'v', 'i'}, '<C-v>', '<Nop>', {noremap = true, silent = true})
vim.keymap.set('i', '<C-v>', '<C-r>+', {noremap = true, silent = true})
-- Pane resizing with Alt+Shift+hjkl (to match tmux)
vim.keymap.set('n', '<M-S-h>', '<Cmd>vertical resize -2<CR>', {silent = true})
@@ -1186,6 +1241,7 @@ in
vim-fugitive
gitsigns-nvim
fzf-checkout-vim
diffview-nvim
# Clojure stuff
# conjure
@@ -1193,30 +1249,23 @@ in
vim-sexp-mappings-for-regular-people
fennel-vim
vim-tidal
# experimental
nvim-luapad
gh-addressed
scnvim
leap
leap-nvim
Navigator-nvim
vim-beancount
# vimtex
# custom
yuck-vim
nvim-parinfer
amp-nvim
# vim-processing
# amp.nvim for Sourcegraph Amp integration
(pkgs.vimUtils.buildVimPlugin {
name = "amp-nvim";
src = pkgs.fetchFromGitHub {
owner = "sourcegraph";
repo = "amp.nvim";
rev = "main";
sha256 = "sha256-+jIbAZjRpt30gcrIiwW+yZhT9CFLnW9ARf92GEfioZ0=";
};
})
];
] ++ lib.optionals pkgs.stdenv.isLinux [
# Linux-only plugins
vim-tidal # requires SuperCollider which is Linux-only
];
withPython3 = true;
extraPython3Packages = pkgs: with pkgs; [ tasklib six packaging ];
vimAlias = true;