idk some stuff, mostly 25.11 and opencode stuff
This commit is contained in:
+143
-113
@@ -1,4 +1,9 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
customPlugins = {
|
||||
vim-zettel = pkgs.vimUtils.buildVimPlugin {
|
||||
@@ -116,12 +121,13 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
my-python-packages = python-packages: with python-packages; [
|
||||
tasklib
|
||||
pynvim
|
||||
six
|
||||
# other python packages you want
|
||||
];
|
||||
my-python-packages =
|
||||
python-packages: with python-packages; [
|
||||
tasklib
|
||||
pynvim
|
||||
six
|
||||
# other python packages you want
|
||||
];
|
||||
python-with-my-packages = pkgs.python3.withPackages my-python-packages;
|
||||
in
|
||||
{
|
||||
@@ -146,7 +152,8 @@ in
|
||||
'';
|
||||
|
||||
# Private mode plugin for concealing buffer content (out of store symlink for live editing)
|
||||
home.file.".config/nvim/lua/private-mode.lua".source = config.lib.file.mkOutOfStoreSymlink "${toString ./.}/private-mode.lua";
|
||||
home.file.".config/nvim/lua/private-mode.lua".source =
|
||||
config.lib.file.mkOutOfStoreSymlink "${toString ./.}/private-mode.lua";
|
||||
|
||||
#environment.systemPackages = with customPlugins; [ tidal ];
|
||||
programs.neovim = {
|
||||
@@ -483,10 +490,10 @@ 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{}
|
||||
|
||||
@@ -577,16 +584,16 @@ in
|
||||
Function = "ƒ "
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-- Setup neo-tree
|
||||
require("neo-tree").setup {}
|
||||
|
||||
|
||||
-- Setup outline
|
||||
require("outline").setup {}
|
||||
|
||||
|
||||
-- Setup trouble
|
||||
require("trouble").setup {}
|
||||
|
||||
|
||||
-- Setup noice for floating command palette and notifications
|
||||
require("noice").setup({
|
||||
cmdline = {
|
||||
@@ -636,7 +643,7 @@ in
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
-- Setup barbar (tabline with icons)
|
||||
require'barbar'.setup {
|
||||
icons = {
|
||||
@@ -646,7 +653,7 @@ in
|
||||
},
|
||||
}
|
||||
local navic = require("nvim-navic")
|
||||
|
||||
|
||||
-- Setup conform.nvim for formatting
|
||||
require("conform").setup({
|
||||
formatters_by_ft = {
|
||||
@@ -880,7 +887,7 @@ in
|
||||
|
||||
require("which-key").setup{}
|
||||
require('leap').set_default_keymaps()
|
||||
|
||||
|
||||
-- supercollider
|
||||
local scnvim = require 'scnvim'
|
||||
local map = scnvim.map
|
||||
@@ -1025,15 +1032,15 @@ in
|
||||
disable_on_zoom = true,
|
||||
mux = 'auto', -- auto-detect tmux
|
||||
}
|
||||
|
||||
|
||||
-- Set up Navigator.nvim keybindings
|
||||
vim.keymap.set({'n', 't'}, '<M-h>', '<CMD>NavigatorLeft<CR>')
|
||||
vim.keymap.set({'n', 't'}, '<M-j>', '<CMD>NavigatorDown<CR>')
|
||||
vim.keymap.set({'n', 't'}, '<M-k>', '<CMD>NavigatorUp<CR>')
|
||||
vim.keymap.set({'n', 't'}, '<M-l>', '<CMD>NavigatorRight<CR>')
|
||||
|
||||
-- Paste from system clipboard in insert mode (handles tmux/kitty better)
|
||||
-- vim.keymap.set('i', '<C-v>', '<C-r><C-p>+', {noremap = true, silent = true})
|
||||
-- Paste from system clipboard in insert mode (Ctrl+V in normal mode remains visual block)
|
||||
vim.keymap.set('i', '<C-v>', '<C-r><C-p>+', {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})
|
||||
@@ -1130,106 +1137,129 @@ in
|
||||
zk
|
||||
];
|
||||
|
||||
plugins = with pkgs.vimPlugins // customPlugins; [
|
||||
# ui
|
||||
lualine-nvim
|
||||
fzf-vim
|
||||
neo-tree-nvim
|
||||
outline-nvim
|
||||
noice-nvim
|
||||
nui-nvim
|
||||
trouble-nvim
|
||||
neovim-ayu
|
||||
rainbow_parentheses-vim
|
||||
vim-surround
|
||||
vim-devicons
|
||||
nvim-web-devicons
|
||||
undotree
|
||||
telescope-nvim
|
||||
plenary-nvim
|
||||
nvim-navic
|
||||
(nvim-treesitter.withPlugins (p: [ p.nix p.clojure p.python p.fennel p.lua p.html p.css p.regex p.supercollider p.beancount p.markdown p.glsl p.yaml p.toml p.dockerfile p.json ]))
|
||||
nvim-treesitter-context
|
||||
my-fterm
|
||||
barbar-nvim
|
||||
auto-session
|
||||
my-marks
|
||||
which-key-nvim
|
||||
nvim-peekup
|
||||
zen-mode-nvim
|
||||
twilight-nvim
|
||||
my-lspsaga
|
||||
vim-dasht
|
||||
plugins =
|
||||
with pkgs.vimPlugins // customPlugins;
|
||||
[
|
||||
# ui
|
||||
lualine-nvim
|
||||
fzf-vim
|
||||
neo-tree-nvim
|
||||
outline-nvim
|
||||
noice-nvim
|
||||
nui-nvim
|
||||
trouble-nvim
|
||||
neovim-ayu
|
||||
rainbow_parentheses-vim
|
||||
vim-surround
|
||||
vim-devicons
|
||||
nvim-web-devicons
|
||||
undotree
|
||||
telescope-nvim
|
||||
plenary-nvim
|
||||
nvim-navic
|
||||
(nvim-treesitter.withPlugins (p: [
|
||||
p.nix
|
||||
p.clojure
|
||||
p.python
|
||||
p.fennel
|
||||
p.lua
|
||||
p.html
|
||||
p.css
|
||||
p.regex
|
||||
p.supercollider
|
||||
p.beancount
|
||||
p.markdown
|
||||
p.glsl
|
||||
p.yaml
|
||||
p.toml
|
||||
p.dockerfile
|
||||
p.json
|
||||
]))
|
||||
nvim-treesitter-context
|
||||
my-fterm
|
||||
barbar-nvim
|
||||
auto-session
|
||||
my-marks
|
||||
which-key-nvim
|
||||
nvim-peekup
|
||||
zen-mode-nvim
|
||||
twilight-nvim
|
||||
my-lspsaga
|
||||
vim-dasht
|
||||
|
||||
# language
|
||||
vim-nix
|
||||
vim-elixir
|
||||
emmet-vim
|
||||
csv-vim
|
||||
direnv-vim
|
||||
zig-vim
|
||||
conjure
|
||||
# language
|
||||
vim-nix
|
||||
vim-elixir
|
||||
emmet-vim
|
||||
csv-vim
|
||||
direnv-vim
|
||||
zig-vim
|
||||
conjure
|
||||
|
||||
# kitaab stuff
|
||||
vimwiki
|
||||
taskwiki
|
||||
vim-zettel
|
||||
hologram-nvim
|
||||
zk-nvim
|
||||
# kitaab stuff
|
||||
vimwiki
|
||||
taskwiki
|
||||
vim-zettel
|
||||
hologram-nvim
|
||||
zk-nvim
|
||||
|
||||
# lsp stuff
|
||||
# nvim-lint
|
||||
nvim-lspconfig
|
||||
nvim-cmp
|
||||
cmp-nvim-lsp
|
||||
cmp-treesitter
|
||||
nvim-lsp-ts-utils
|
||||
cmp-conjure
|
||||
cmp-buffer
|
||||
cmp-path
|
||||
cmp-spell
|
||||
nvim-autopairs
|
||||
cmp_luasnip
|
||||
luasnip
|
||||
conform-nvim
|
||||
friendly-snippets
|
||||
lspkind-nvim
|
||||
# lsp stuff
|
||||
# nvim-lint
|
||||
nvim-lspconfig
|
||||
nvim-cmp
|
||||
cmp-nvim-lsp
|
||||
cmp-treesitter
|
||||
nvim-lsp-ts-utils
|
||||
cmp-conjure
|
||||
cmp-buffer
|
||||
cmp-path
|
||||
cmp-spell
|
||||
nvim-autopairs
|
||||
cmp_luasnip
|
||||
luasnip
|
||||
conform-nvim
|
||||
friendly-snippets
|
||||
lspkind-nvim
|
||||
|
||||
# git stuff
|
||||
vim-fugitive
|
||||
gitsigns-nvim
|
||||
fzf-checkout-vim
|
||||
diffview-nvim
|
||||
# git stuff
|
||||
vim-fugitive
|
||||
gitsigns-nvim
|
||||
fzf-checkout-vim
|
||||
diffview-nvim
|
||||
|
||||
# Clojure stuff
|
||||
# conjure
|
||||
vim-sexp
|
||||
vim-sexp-mappings-for-regular-people
|
||||
fennel-vim
|
||||
# Clojure stuff
|
||||
# conjure
|
||||
vim-sexp
|
||||
vim-sexp-mappings-for-regular-people
|
||||
fennel-vim
|
||||
|
||||
# experimental
|
||||
nvim-luapad
|
||||
gh-addressed
|
||||
scnvim
|
||||
leap-nvim
|
||||
Navigator-nvim
|
||||
vim-beancount
|
||||
# vimtex
|
||||
# custom
|
||||
yuck-vim
|
||||
nvim-parinfer
|
||||
|
||||
# opencode integration
|
||||
opencode-nvim
|
||||
# vim-processing
|
||||
] ++ lib.optionals pkgs.stdenv.isLinux [
|
||||
# Linux-only plugins
|
||||
vim-tidal # requires SuperCollider which is Linux-only
|
||||
];
|
||||
# experimental
|
||||
nvim-luapad
|
||||
gh-addressed
|
||||
scnvim
|
||||
leap-nvim
|
||||
Navigator-nvim
|
||||
vim-beancount
|
||||
# vimtex
|
||||
# custom
|
||||
yuck-vim
|
||||
nvim-parinfer
|
||||
|
||||
# opencode integration
|
||||
opencode-nvim
|
||||
# vim-processing
|
||||
]
|
||||
++ 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 ];
|
||||
extraPython3Packages =
|
||||
pkgs: with pkgs; [
|
||||
tasklib
|
||||
six
|
||||
packaging
|
||||
];
|
||||
vimAlias = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user