Initial chezmoi-managed dotfiles with bootstrap scripts
- Rename master to legacy-2025 on remote (frozen pre-chezmoi snapshot) - New orphan 'main' branch with bootstrap-enabled config - .chezmoi.yaml.tmpl detects os_family (debian | arch) from /etc/os-release - dot_zshrc.tmpl refactored from current miche config with os_family conditional for pacman vs apt aliases - dot_config/: bat, btop, ghostty (with gruvbox themes), kitty (with gruvbox colors), nvim (LazyVim), paru - dot_gitconfig.tmpl, dot_tmux.conf (verbatim from current state) - run_once_00-install-bootstrap-tools.sh.tmpl: age, git, curl, ca-certificates - run_once_10-add-chaotic-aur.sh.tmpl (arch-only): add Chaotic-AUR + install paru - run_once_20-install-user-packages.sh.tmpl: zsh, tmux, neovim (with version check + binary tarball fallback for debian), oh-my-zsh + plugins, tpm, rustup, all CLI tools - run_onchange_30-ensure-cargo.sh.tmpl: rustup fallback - README.md with onboarding runbook
This commit is contained in:
commit
2f1477668b
45 changed files with 2128 additions and 0 deletions
47
dot_config/nvim/lua/plugins/opencode.lua
Normal file
47
dot_config/nvim/lua/plugins/opencode.lua
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
return {
|
||||
"NickvanDyke/opencode.nvim",
|
||||
dependencies = {
|
||||
-- Recommended for `ask()` and `select()`.
|
||||
-- Required for `snacks` provider.
|
||||
---@module 'snacks' <- Loads `snacks.nvim` types for configuration intellisense.
|
||||
{ "folke/snacks.nvim", opts = { input = {}, picker = {}, terminal = {} } },
|
||||
},
|
||||
config = function()
|
||||
---@type opencode.Opts
|
||||
vim.g.opencode_opts = {
|
||||
-- Your configuration, if any — see `lua/opencode/config.lua`, or "goto definition" on the type or field.
|
||||
}
|
||||
|
||||
-- Required for `opts.events.reload`.
|
||||
vim.o.autoread = true
|
||||
|
||||
-- Recommended/example keymaps.
|
||||
vim.keymap.set({ "n", "x" }, "<C-a>", function()
|
||||
require("opencode").ask("@this: ", { submit = true })
|
||||
end, { desc = "Ask opencode…" })
|
||||
vim.keymap.set({ "n", "x" }, "<C-x>", function()
|
||||
require("opencode").select()
|
||||
end, { desc = "Execute opencode action…" })
|
||||
vim.keymap.set({ "n", "t" }, "<C-.>", function()
|
||||
require("opencode").toggle()
|
||||
end, { desc = "Toggle opencode" })
|
||||
|
||||
vim.keymap.set({ "n", "x" }, "go", function()
|
||||
return require("opencode").operator("@this ")
|
||||
end, { desc = "Add range to opencode", expr = true })
|
||||
vim.keymap.set("n", "goo", function()
|
||||
return require("opencode").operator("@this ") .. "_"
|
||||
end, { desc = "Add line to opencode", expr = true })
|
||||
|
||||
vim.keymap.set("n", "<S-C-u>", function()
|
||||
require("opencode").command("session.half.page.up")
|
||||
end, { desc = "Scroll opencode up" })
|
||||
vim.keymap.set("n", "<S-C-d>", function()
|
||||
require("opencode").command("session.half.page.down")
|
||||
end, { desc = "Scroll opencode down" })
|
||||
|
||||
-- You may want these if you stick with the opinionated "<C-a>" and "<C-x>" above — otherwise consider "<leader>o…".
|
||||
vim.keymap.set("n", "+", "<C-a>", { desc = "Increment under cursor", noremap = true })
|
||||
vim.keymap.set("n", "-", "<C-x>", { desc = "Decrement under cursor", noremap = true })
|
||||
end,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue