mirror of
https://github.com/macocianradu/setup.git
synced 2026-07-16 10:38:46 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 815f689f3c | |||
| c201aa51db | |||
| 15e7488d64 | |||
| dab574ff79 |
@@ -5,13 +5,13 @@ require('codecompanion').setup({
|
|||||||
opts = {
|
opts = {
|
||||||
title_generation_opts = {
|
title_generation_opts = {
|
||||||
adapter = "openrouter",
|
adapter = "openrouter",
|
||||||
model = "minimax/minimax-m2.5"
|
model = "minimax/minimax-m2.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
summary = {
|
summary = {
|
||||||
generation_opts = {
|
generation_opts = {
|
||||||
adapter = "openrouter",
|
adapter = "openrouter",
|
||||||
model = "minimax/minimax-m2.5"
|
model = "minimax/minimax-m2.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -41,7 +41,7 @@ require('codecompanion').setup({
|
|||||||
},
|
},
|
||||||
schema = {
|
schema = {
|
||||||
model = {
|
model = {
|
||||||
default = "qwen/qwen3.5-plus-02-15",
|
default = "qwen/qwen3.6-flash",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -64,3 +64,19 @@ require('codecompanion').setup({
|
|||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>gpt', function() require("codecompanion").chat({ strategy = "agent" }) end);
|
vim.keymap.set('n', '<leader>gpt', function() require("codecompanion").chat({ strategy = "agent" }) end);
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'gpi', function()
|
||||||
|
Snacks.input({ prompt = "Prompt: " }, function(input)
|
||||||
|
if input and input ~= "" then
|
||||||
|
vim.cmd("CodeCompanion " .. input)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
vim.keymap.set('v', 'gpi', function()
|
||||||
|
Snacks.input({ prompt = "Prompt (with context): " }, function(input)
|
||||||
|
if input and input ~= "" then
|
||||||
|
vim.cmd("'<,'>CodeCompanion " .. input)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
local neogit = require('neogit')
|
local neogit = require('neogit')
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>gs", function()
|
vim.keymap.set("n", "<leader>gs", function()
|
||||||
neogit.open({ kind= "floating" })
|
neogit.open()
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -86,5 +86,9 @@ local function toggle_term(fullscreen)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.keymap.set({ "n", "t" }, "<leader>tt", function() toggle_term(false) end, { desc = "Terminal (split)" })
|
vim.keymap.set("n", "<leader>tt", function() toggle_term(false) end, { desc = "Terminal (split)" })
|
||||||
vim.keymap.set({ "n", "t" }, "<leader>tT", function() toggle_term(true) end, { desc = "Terminal (fullscreen)" })
|
vim.keymap.set("n", "<leader>tT", function() toggle_term(true) end, { desc = "Terminal (fullscreen)" })
|
||||||
|
vim.keymap.set("t", "<C-t>", function()
|
||||||
|
local w = find_term_win()
|
||||||
|
if w then vim.api.nvim_win_close(w, true) end
|
||||||
|
end, { desc = "Hide terminal" })
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ local M = {}
|
|||||||
-- Adapter (netcoredbg)
|
-- Adapter (netcoredbg)
|
||||||
dap.adapters.coreclr = {
|
dap.adapters.coreclr = {
|
||||||
type = "executable",
|
type = "executable",
|
||||||
command = "/home/radu/.local/share/nvim/mason/bin/netcoredbg",
|
command = vim.fn.expand("$HOME/.local/share/nvim/mason/bin/netcoredbg"),
|
||||||
args = { "--interpreter=vscode" },
|
args = { "--interpreter=vscode" },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,5 +26,12 @@ vim.opt.signcolumn = "yes"
|
|||||||
vim.opt.isfname:append("@-@")
|
vim.opt.isfname:append("@-@")
|
||||||
|
|
||||||
vim.opt.updatetime = 50
|
vim.opt.updatetime = 50
|
||||||
|
vim.opt.autoread = true
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold" }, {
|
||||||
|
callback = function()
|
||||||
|
vim.cmd("checktime")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# AGENTS.md
|
||||||
|
|
||||||
|
Agent-agnostic guidance for any coding agent working in this repository. Keep all agent-agnostic instructions in this file. Agent-specific guidance lives in the agent's own file (e.g. `CLAUDE.md`).
|
||||||
|
|
||||||
|
## Repository purpose
|
||||||
|
|
||||||
|
Personal dotfiles repo. The working tree is structured to be cloned/symlinked at `$HOME` — the path `.config/nvim/` here corresponds to `~/.config/nvim/` on the user's machine. There is no build, test, or lint step; changes are validated by reloading Neovim.
|
||||||
|
|
||||||
|
`.gitignore` excludes `.config/nvim/lazy-lock.json` (lazy.nvim's plugin lockfile is not tracked).
|
||||||
|
|
||||||
|
## Neovim configuration architecture
|
||||||
|
|
||||||
|
Entry points and load order:
|
||||||
|
1. `.config/nvim/init.lua` → `require("wicked")`
|
||||||
|
2. `.config/nvim/lua/wicked/init.lua` requires, in order: `wicked.remap` (keymaps), `wicked.set` (options), `wicked.lazy` (plugin manager bootstrap + spec).
|
||||||
|
3. After `lazy.setup` runs, Neovim sources every file under `.config/nvim/after/plugin/*.lua` automatically (standard `after/` runtime path). Each of those files configures one plugin loaded by lazy.
|
||||||
|
|
||||||
|
This means: plugin **declarations** live in `lua/wicked/lazy.lua`, but plugin **configuration** (setup calls, keymaps, autocmds) lives in `after/plugin/<name>.lua`. When adding a plugin, both files usually need a change unless the plugin is configured inline via `opts`/`config` in the lazy spec.
|
||||||
|
|
||||||
|
DAP adapters are split out under `lua/dap/` (`dap-haskell.lua`, `dap-odoo.lua`, `dap-dotnet.lua`) and are required from `after/plugin/dap.lua`.
|
||||||
|
|
||||||
|
Leader key is `<Space>`, set in both `remap.lua` and `set.lua` (the duplicate in `set.lua` is intentional defensive ordering).
|
||||||
|
|
||||||
|
## Notable plugin choices
|
||||||
|
|
||||||
|
- **lazy.nvim** with `checker.enabled = true` (auto-checks for updates daily).
|
||||||
|
- **snacks.nvim** is used for picker/terminal/etc. — it replaced telescope (see commit `12db5d8`). Don't reintroduce telescope.
|
||||||
|
- **everforest** is the active colorscheme; nord is installed but not active.
|
||||||
|
- **codecompanion.nvim** pinned to `^18.0.0`.
|
||||||
|
- **roslyn.nvim** for C# LSP (separate from the standard `nvim-lspconfig` flow).
|
||||||
|
- **tidal.nvim** + **strudel.nvim** for live-coding music; tidal expects `ghci` at `~/.ghcup/bin/ghci` and a SuperDirt boot file at `~/.local/share/tidal/BootSuperDirt.scd`.
|
||||||
|
- **obsidian.nvim** workspace points at `~/notes`.
|
||||||
|
- **persistence.nvim** stores sessions under `stdpath("state")/sessions/`.
|
||||||
|
- Undo files live at `~/.vim/undodir` (set in `wicked/set.lua`), not the default location.
|
||||||
|
|
||||||
|
## Working in this repo
|
||||||
|
|
||||||
|
- To preview changes, reload Neovim or `:source` the affected file. There are no CI or test commands to run.
|
||||||
|
- `lazy-lock.json` is gitignored — don't try to commit it. Plugin version pinning happens via the spec in `lua/wicked/lazy.lua`.
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
See [AGENTS.md](./AGENTS.md) for the repository overview, architecture, and working conventions. All agent-agnostic instructions belong in `AGENTS.md`. Only Claude-specific instructions or skill references belong in this file.
|
||||||
|
|
||||||
|
<!-- Add Claude-specific instructions or skill references below this line. -->
|
||||||
-68
@@ -1,68 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "----- Cloning homefull-api -----"
|
|
||||||
if [ -d "$HOME/projects/homefull-api" ]; then
|
|
||||||
echo "[Skipped] homefull-api already exists"
|
|
||||||
else
|
|
||||||
git clone https://github.com/macocianradu/homefull-api.git\
|
|
||||||
~/projects/homefull-api
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "----- Cloning homefull-gui -----"
|
|
||||||
if [ -d "$HOME/projects/homefull-gui" ]; then
|
|
||||||
echo "[Skipped] homefull-gui already exists"
|
|
||||||
else
|
|
||||||
git clone https://github.com/macocianradu/homefull-gui.git\
|
|
||||||
~/projects/homefull-gui
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$OSTYPE" == "linux"* ]]; then
|
|
||||||
echo "----- Linux-Gnu detected -----"
|
|
||||||
nvim_path="/opt/nvim-linux64"
|
|
||||||
echo "----- Downloading NVIM -----"
|
|
||||||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
|
|
||||||
sudo rm -rf /opt/nvim
|
|
||||||
echo "Copying NVIM to /opt/nvim-linux64"
|
|
||||||
sudo tar -C /opt -xzf nvim-linux64.tar.gz
|
|
||||||
echo "Adding NVIM to PATH in ./bashrc"
|
|
||||||
echo "export PATH="\$PATH:$nvim_path/bin"" >> ~/.bashrc
|
|
||||||
echo "NVIM added to path, run '. ~/.bashrc' to reload PATH variable"
|
|
||||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|
||||||
echo "----- OSX detected -----"
|
|
||||||
nvim_path="~/Applications/nvim"
|
|
||||||
if [ -d "$HOME/Applications/nvim" ]; then
|
|
||||||
echo "[Skipped] NVIM already installed"
|
|
||||||
else
|
|
||||||
echo "----- Downloading nvim -----"
|
|
||||||
curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim-macos-arm64.tar.gz
|
|
||||||
tar xzf nvim-macos-arm64.tar.gz
|
|
||||||
mv nvim-macos-arm64 $nvim_path
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -d "$HOME/.local/share/nvim/roslyn" ]] then
|
|
||||||
echo "----- Roslyn LS not detected: Downloading now -----"
|
|
||||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
||||||
ls_url="https://zaxvsblobprodwus215.vsblob.vsassets.io/b-63b6279ad2f14bc3a21cdb7614e92831/5787C047B250801723E628CEF9CA582F82C848FE406E4553BA02BF5ECA870EBD00.blob?sv=2019-07-07&sr=b&si=1&sig=L9sr005TS6IonkYAeB7KYh7kW9CnWNr9MAqNu4ypEUo%3D&spr=https&se=2024-08-19T00%3A25%3A13Z&rscl=x-e2eid-ec16adad-34c8456c-80536072-32aeec7d-session-ec16adad-34c8456c-80536072-32aeec7d&rscd=attachment%3B%20filename%3D%22Microsoft.CodeAnalysis.LanguageServer.linux-x64.4.12.0-2.24417.1.nupkg%22&P1=1724037911&P2=1&P3=2&P4=gWMe2EcOpfH3DR3WcrRHHNy7Tdsz8N7QuAZdgHUJfyk%3d"
|
|
||||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|
||||||
ls_url="https://etjvsblobprodwus2172.vsblob.vsassets.io/b-63b6279ad2f14bc3a21cdb7614e92831/270B5B41FCC924B78FFAAEC2E2F6623DDEE782E2EB8AD71C9661A7144E9B399C00.blob?sv=2019-07-07&sr=b&si=1&sig=Y2Eil5keeY2ZyHlm%2FOZPZz%2FfkZhWgII31wn0q0Kuu0g%3D&spr=https&se=2024-08-19T00%3A42%3A54Z&rscl=x-e2eid-0ae75aa5-b81e4f13-bef4006c-4791577b-session-0ae75aa5-b81e4f13-bef4006c-4791577b&rscd=attachment%3B%20filename%3D%22Microsoft.CodeAnalysis.LanguageServer.osx-arm64.4.12.0-2.24417.1.nupkg%22&P1=1724038971&P2=1&P3=2&P4=4%2b936oMTgkM4TFkxnmVVzhCHlRl4L3LpTq2trVyzSMQ%3d"
|
|
||||||
mkdir temp
|
|
||||||
curl $ls_url\
|
|
||||||
-o temp/language_server.nupkg
|
|
||||||
cd temp
|
|
||||||
unzip temp/language_server.nupkg
|
|
||||||
mv temp/content/LanguageServer/linux-x64 $HOME/.local/share/nvim/roslyn
|
|
||||||
rm -rf temp
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "----- Copying NVIM configuration -----"
|
|
||||||
if [ ! -d "$HOME/.config" ]; then
|
|
||||||
echo ".config folder not found. Creating one"
|
|
||||||
mkdir ~/.config
|
|
||||||
fi
|
|
||||||
ln -s ~/projects/setup/.config/nvim ~/.config/
|
|
||||||
if [ ! -d "$HOME/.vim" ]; then
|
|
||||||
echo ".vim folder not found. Creating one"
|
|
||||||
mkdir ~/.vim
|
|
||||||
fi
|
|
||||||
ln -s ~/projects/setup/.vim/undodir ~/.vim/
|
|
||||||
Reference in New Issue
Block a user