Diff
1diff --git a/dot_aliases.tmpl b/dot_aliases.tmpl
2index b6ead1f848a2d00f1773c20a52ece08fdff44fb0..25046ca4aa49695f030266551a7fb2d710008d12 100644
3--- a/dot_aliases.tmpl
4+++ b/dot_aliases.tmpl
5@@ -69,6 +69,7 @@ alias kdk='kubectl diff -k'
6 alias mkdir='mkdir -p'
7 alias mpv='mpv --ytdl-format="bestvideo[height<=?1440]+bestaudio/best"'
8 alias myip='curl -s https://icanhazip.com'
9+alias opencode='AWS_PROFILE=default AWS_REGION=eu-west-1 opencode'
10 alias qrscan='hyprshot -m region --raw | zbarimg -1 -q - | sed "s/QR-Code://" | wl-copy'
11 alias ran=yazi
12 alias rcp='rsync -aPv'
13diff --git a/dot_config/nvim/lua/plugins/opencode.lua b/dot_config/nvim/lua/plugins/opencode.lua
14new file mode 100644
15index 0000000000000000000000000000000000000000..33b0c4546e92b6e545417f2eeccc295d15c02c44
16--- /dev/null
17+++ b/dot_config/nvim/lua/plugins/opencode.lua
18@@ -0,0 +1,35 @@
19+return {
20+ "NickvanDyke/opencode.nvim",
21+ dependencies = {
22+ -- Recommended for `ask()` and `select()`.
23+ -- Required for `snacks` provider.
24+ ---@module 'snacks' <- Loads `snacks.nvim` types for configuration intellisense.
25+ { "folke/snacks.nvim", opts = { input = {}, picker = {}, terminal = {} } },
26+ },
27+ config = function()
28+ ---@type opencode.Opts
29+ vim.g.opencode_opts = {
30+ -- Your configuration, if any — see `lua/opencode/config.lua`, or "goto definition".
31+ }
32+
33+ -- Required for `opts.events.reload`.
34+ vim.o.autoread = true
35+
36+ -- Recommended/example keymaps.
37+ vim.keymap.set({ "n", "x" }, "<leader>a", function()
38+ require("opencode").ask("@this: ", { submit = true })
39+ end, { desc = "Ask opencode" })
40+ vim.keymap.set({ "n", "x" }, "<leader>x", function()
41+ require("opencode").select()
42+ end, { desc = "Execute opencode action…" })
43+ vim.keymap.set({ "n", "x" }, "ga", function()
44+ require("opencode").prompt("@this")
45+ end, { desc = "Add to opencode" })
46+ vim.keymap.set({ "n", "t" }, "<C-.>", function()
47+ require("opencode").toggle()
48+ end, { desc = "Toggle opencode" })
49+ -- You may want these if you stick with the opinionated "<C-a>" and "<C-x>" above — otherwise consider "<leader>o".
50+ vim.keymap.set("n", "+", "<C-a>", { desc = "Increment", noremap = true })
51+ vim.keymap.set("n", "-", "<C-x>", { desc = "Decrement", noremap = true })
52+ end,
53+}
54diff --git a/dot_config/opencode/opencode.json b/dot_config/opencode/opencode.json
55index 5d7a5a52fbc90ddde45b8ccf4e222927adc19b02..fbe6d050e90ce2cef4564b19eccdba43b595a801 100644
56--- a/dot_config/opencode/opencode.json
57+++ b/dot_config/opencode/opencode.json
58@@ -6,5 +6,6 @@
59 "webfetch": "ask",
60 "doom_loop": "ask",
61 "external_directory": "ask"
62- }
63+ },
64+ "plugin": ["@mohak34/opencode-notifier@latest"]
65 }
66diff --git a/dot_zshrc.tmpl b/dot_zshrc.tmpl
67index 3bad1f8f191009061c0cec7b6a0d5f206f363e88..a4655c863a7fede1d267a99b97df451bbcd2f4dc 100644
68--- a/dot_zshrc.tmpl
69+++ b/dot_zshrc.tmpl
70@@ -34,6 +34,9 @@ set_env() {
71 export ANTHROPIC_DEFAULT_SONNET_MODEL="arn:aws:bedrock:us-east-1:118330671040:inference-profile/global.anthropic.claude-sonnet-4-5-20250929-v1:0"
72 export ANTHROPIC_DEFAULT_HAIKU_MODEL="arn:aws:bedrock:us-east-1:118330671040:inference-profile/global.anthropic.claude-haiku-4-5-20251001-v1:0"
73
74+ # OpenCode
75+ export OPENCODE_DISABLE_LSP_DOWNLOAD="true"
76+
77 # Common config
78 export DEFAULT_USER="pavle"
79 export EDITOR="nvim"