Compare commits

..
2 Commits
Author SHA1 Message Date
hektor 0fc88c2d79 chore(flake): unshallow hecuba-services
check / lint (push) Successful in 46s
2026-08-25 11:11:39 +02:00
hektor c45e869bb6 chore(flake): update lockfile 2026-08-25 11:11:39 +02:00
27 changed files with 666 additions and 230 deletions
+20 -1
View File
@@ -27,7 +27,7 @@ scrollback_pager_history_size 1024
#: Mouse {{{ #: Mouse {{{
mouse_hide_wait 0.0 mouse_hide_wait 0.0
paste_actions quote-urls-at-prompt paste_actions quote-urls-at-prompt,confirm
#: }}} #: }}}
@@ -54,6 +54,17 @@ hide_window_decorations yes
#: }}} #: }}}
#: Tab bar {{{
tab_bar_edge bottom
tab_bar_style powerline
tab_bar_min_tabs 1
tab_powerline_style slanted
tab_activity_symbol !
tab_title_template "{index}{fmt.fg.red}{bell_symbol}{fmt.fg.tab}{activity_symbol}:{tab.last_focused_progress_percent}{title}"
#: }}}
#: Advanced {{{ #: Advanced {{{
notify_on_cmd_finish unfocused notify_on_cmd_finish unfocused
@@ -117,6 +128,14 @@ map cmd+8
map kitty_mod+9 map kitty_mod+9
map cmd+9 map cmd+9
map kitty_mod+0 map kitty_mod+0
map f1 goto_tab 1
map f2 goto_tab 2
map f3 goto_tab 3
map f4 goto_tab 4
map f5 goto_tab 5
map f6 goto_tab 6
map f7 goto_tab 7
map f8 goto_tab 8
# map kitty_mod+c new_tab # FIXME: conflict with 'copy' # map kitty_mod+c new_tab # FIXME: conflict with 'copy'
map cmd+t map cmd+t
map kitty_mod+q map kitty_mod+q
+1 -1
View File
@@ -2,7 +2,7 @@ allow_remote_control socket-only
listen_on unix:/tmp/kitty listen_on unix:/tmp/kitty
shell_integration enabled shell_integration enabled
action_alias kitty_scrollback_nvim kitten ~/.local/share/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py action_alias kitty_scrollback_nvim kitten ~/.local/share/nvim/site/pack/paqs/start/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py
map kitty_mod+h kitty_scrollback_nvim map kitty_mod+h kitty_scrollback_nvim
map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output
@@ -0,0 +1,61 @@
require("claude-code").setup({
-- Terminal window settings
window = {
split_ratio = 0.3, -- Percentage of screen for the terminal window (height for horizontal, width for vertical splits)
position = "vertical", -- Position of the window: "botright", "topleft", "vertical", "float", etc.
enter_insert = true, -- Whether to enter insert mode when opening Claude Code
hide_numbers = true, -- Hide line numbers in the terminal window
hide_signcolumn = true, -- Hide the sign column in the terminal window
-- Floating window configuration (only applies when position = "float")
float = {
width = "80%", -- Width: number of columns or percentage string
height = "80%", -- Height: number of rows or percentage string
row = "center", -- Row position: number, "center", or percentage string
col = "center", -- Column position: number, "center", or percentage string
relative = "editor", -- Relative to: "editor" or "cursor"
border = "rounded", -- Border style: "none", "single", "double", "rounded", "solid", "shadow"
},
},
-- File refresh settings
refresh = {
enable = true, -- Enable file change detection
updatetime = 100, -- updatetime when Claude Code is active (milliseconds)
timer_interval = 1000, -- How often to check for file changes (milliseconds)
show_notifications = true, -- Show notification when files are reloaded
},
-- Git project settings
git = {
use_git_root = true, -- Set CWD to git root when opening Claude Code (if in git project)
},
-- Shell-specific settings
shell = {
separator = "&&", -- Command separator used in shell commands
pushd_cmd = "pushd", -- Command to push directory onto stack (e.g., 'pushd' for bash/zsh, 'enter' for nushell)
popd_cmd = "popd", -- Command to pop directory from stack (e.g., 'popd' for bash/zsh, 'exit' for nushell)
},
-- Command settings
command = "claude", -- Command used to launch Claude Code
-- Command variants
command_variants = {
-- Conversation management
continue = "--continue", -- Resume the most recent conversation
resume = "--resume", -- Display an interactive conversation picker
-- Output options
verbose = "--verbose", -- Enable verbose logging with full turn-by-turn output
},
-- Keymaps
keymaps = {
toggle = {
normal = "<C-,>", -- Normal mode keymap for toggling Claude Code, false to disable
terminal = "<C-,>", -- Terminal mode keymap for toggling Claude Code, false to disable
variants = {
continue = "<leader>cC", -- Normal mode keymap for Claude Code with continue flag
verbose = "<leader>cV", -- Normal mode keymap for Claude Code with verbose flag
},
},
window_navigation = true, -- Enable window navigation keymaps (<C-h/j/k/l>)
scrolling = true, -- Enable scrolling keymaps (<C-f/b>) for page up/down
},
})
@@ -1,26 +0,0 @@
require("claudecode").setup({
-- terminal = {
-- provider = "snacks",
-- snacks_win_opts = {
-- position = "float",
-- width = 0.8,
-- height = 0.8,
-- border = "rounded",
-- },
-- },
-- diff_opts = {
-- layout = "vertical",
-- },
})
local map = vim.keymap.set
map({ "n", "t" }, "<C-_>", "<cmd>ClaudeCode<cr>", { desc = "Toggle Claude Code" })
map("n", "<leader>cf", "<cmd>ClaudeCodeFocus<cr>", { desc = "Focus Claude Code" })
map("n", "<leader>cC", "<cmd>ClaudeCode --continue<cr>", { desc = "Claude Code (continue)" })
map("n", "<leader>cr", "<cmd>ClaudeCode --resume<cr>", { desc = "Claude Code (resume)" })
map("n", "<leader>cm", "<cmd>ClaudeCodeSelectModel<cr>", { desc = "Claude Code select model" })
map("n", "<leader>cb", "<cmd>ClaudeCodeAdd %<cr>", { desc = "Add buffer to Claude Code" })
map("v", "<leader>cs", "<cmd>ClaudeCodeSend<cr>", { desc = "Send selection to Claude Code" })
map("n", "<leader>co", "<cmd>ClaudeCodeDiffAccept<cr>", { desc = "Accept Claude Code diff" })
map("n", "<leader>cd", "<cmd>ClaudeCodeDiffDeny<cr>", { desc = "Deny Claude Code diff" })
@@ -5,3 +5,19 @@ require("codecompanion").setup({
inline = { adapter = "openai" }, inline = { adapter = "openai" },
}, },
}) })
-- Load mcphub extension after codecompanion is initialized
-- and ensure the config structure exists
local ok, cc_config = pcall(require, "codecompanion.config")
if ok then
cc_config.interactions = cc_config.interactions or {}
cc_config.interactions.chat = cc_config.interactions.chat or {}
cc_config.interactions.chat.tools = cc_config.interactions.chat.tools or {}
cc_config.interactions.chat.variables = cc_config.interactions.chat.variables or {}
require("mcphub.extensions.codecompanion").setup({
make_vars = true,
make_slash_commands = true,
show_result_in_chat = true,
})
end
@@ -0,0 +1 @@
require("copilot_cmp").setup()
@@ -0,0 +1 @@
require("copilot").setup({})
@@ -2,7 +2,7 @@ local gitsigns = require("gitsigns")
gitsigns.setup({ gitsigns.setup({
current_line_blame_formatter = "<author>, <author_time:%R> - <summary>", current_line_blame_formatter = "<author>, <author_time:%R> - <summary>",
-- linehl = true, linehl = true,
current_line_blame_opts = { current_line_blame_opts = {
delay = 0, delay = 0,
virt_text_pos = "right_align", virt_text_pos = "right_align",
@@ -0,0 +1 @@
require("mcphub").setup({})
@@ -62,6 +62,7 @@ cmp.setup({
["<CR>"] = c_l, ["<CR>"] = c_l,
}), }),
sources = { sources = {
{ name = "copilot", group_index = 2 },
{ name = "zk" }, { name = "zk" },
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "luasnip", max_item_count = 16 }, { name = "luasnip", max_item_count = 16 },
@@ -1,14 +0,0 @@
local function overrides()
local colors = require("vscode.colors").get_colors()
vim.api.nvim_set_hl(0, "NormalFloat", { bg = colors.vscLeftDark })
vim.api.nvim_set_hl(0, "FloatBorder", { fg = colors.vscSplitDark, bg = colors.vscLeftDark })
end
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "vscode",
callback = overrides,
})
if vim.g.colors_name == "vscode" then
overrides()
end
@@ -0,0 +1 @@
vim.cmd("colorscheme zenwritten")
+316 -4
View File
@@ -1,5 +1,141 @@
{ {
"nodes": { "nodes": {
"crane": {
"locked": {
"lastModified": 1769287525,
"narHash": "sha256-gABuYA6BzoRMLuPaeO5p7SLrpd4qExgkwEmYaYQY4bM=",
"owner": "ipetkov",
"repo": "crane",
"rev": "0314e365877a85c9e5758f9ea77a9972afbb4c21",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitlab-nvim": {
"inputs": {
"flake-utils": "flake-utils",
"gomod2nix": "gomod2nix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1780036237,
"narHash": "sha256-74xa5njR6mFwRxivaXTswcqV9T6kR3fd2cvcNqYxwcA=",
"owner": "harrisoncramer",
"repo": "gitlab.nvim",
"rev": "f06f97b99afdb8b5c129285d6675f77daa2ea912",
"type": "github"
},
"original": {
"owner": "harrisoncramer",
"repo": "gitlab.nvim",
"type": "github"
}
},
"gomod2nix": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"gitlab-nvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1770585520,
"narHash": "sha256-yBz9Ozd5Wb56i3e3cHZ8WcbzCQ9RlVaiW18qDYA/AzA=",
"owner": "nix-community",
"repo": "gomod2nix",
"rev": "1201ddd1279c35497754f016ef33d5e060f3da8d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "gomod2nix",
"type": "github"
}
},
"kubectl-nvim": {
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1780242361,
"narHash": "sha256-bRiJ0Mt8gLusp4Q9N1YZDTsDkFbYPdiD9l2+5J8K92s=",
"owner": "Ramilito",
"repo": "kubectl.nvim",
"rev": "84522036936b87f7811d13800ac3cbeaad093423",
"type": "github"
},
"original": {
"owner": "Ramilito",
"repo": "kubectl.nvim",
"type": "github"
}
},
"nixCats": { "nixCats": {
"locked": { "locked": {
"lastModified": 1777273601, "lastModified": 1777273601,
@@ -17,11 +153,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1787424095, "lastModified": 1780336545,
"narHash": "sha256-dWLO5AHhKaw6rdWCtTes8hnntT1r0/J5yhQGm0f0ZgU=", "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "174eb786fb68e3a13e4e535a3deea479a0c07a6a", "rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -47,6 +183,22 @@
"type": "github" "type": "github"
} }
}, },
"plugins-diffview-nvim": {
"flake": false,
"locked": {
"lastModified": 1780388924,
"narHash": "sha256-r9jrapT3yHbr9jWcNzBbrW5zZCA2nV7xXgnvPgffYi4=",
"owner": "dlyongemallo",
"repo": "diffview.nvim",
"rev": "3d948ae75e2dac5b7590cfdf91dd9de1b8098f2c",
"type": "github"
},
"original": {
"owner": "dlyongemallo",
"repo": "diffview.nvim",
"type": "github"
}
},
"plugins-nvimkit-nvim": { "plugins-nvimkit-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -97,12 +249,172 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"gitlab-nvim": "gitlab-nvim",
"kubectl-nvim": "kubectl-nvim",
"nixCats": "nixCats", "nixCats": "nixCats",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"plugins-beancount-nvim": "plugins-beancount-nvim", "plugins-beancount-nvim": "plugins-beancount-nvim",
"plugins-diffview-nvim": "plugins-diffview-nvim",
"plugins-nvimkit-nvim": "plugins-nvimkit-nvim", "plugins-nvimkit-nvim": "plugins-nvimkit-nvim",
"plugins-shipwright-nvim": "plugins-shipwright-nvim", "plugins-shipwright-nvim": "plugins-shipwright-nvim",
"plugins-tailwind-fold-nvim": "plugins-tailwind-fold-nvim" "plugins-tailwind-fold-nvim": "plugins-tailwind-fold-nvim",
"mcp-hub": "mcp-hub",
"plugins-mcphub-nvim": "plugins-mcphub-nvim",
"plugins-helm-ls-nvim": "plugins-helm-ls-nvim"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"kubectl-nvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1769568593,
"narHash": "sha256-vf3cZf8imUlPzFtICa1uyReDzoPV0XhHOIRM3tqI5VY=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6fe5039018d05cee5d01dda7df1c0846fb7943a4",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"mcp-hub": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_g2"
},
"locked": {
"lastModified": 1755841689,
"narHash": "sha256-KakvXZf0vjdqzyT+LsAKHEr4GLICGXPmxl1hZ3tI7Yg=",
"owner": "ravitemer",
"repo": "mcp-hub",
"rev": "9c7670a4c341ed3cf738a6242c0fde1cea40bccf",
"type": "github"
},
"original": {
"owner": "ravitemer",
"repo": "mcp-hub",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"mcp-hub",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs_g2": {
"locked": {
"lastModified": 1743689281,
"narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2bfc080955153be0be56724be6fa5477b4eefabb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"plugins-mcphub-nvim": {
"flake": false,
"locked": {
"lastModified": 1768730387,
"narHash": "sha256-g9tPvjThz6EUk7zcY7lL+YH4lrT4x3FJ6jrNMHA8PAE=",
"owner": "ravitemer",
"repo": "mcphub.nvim",
"rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
"type": "github"
},
"original": {
"owner": "ravitemer",
"repo": "mcphub.nvim",
"type": "github"
}
},
"plugins-helm-ls-nvim": {
"flake": false,
"locked": {
"lastModified": 1773934114,
"narHash": "sha256-8trqFsA7nTKSdtkiAL0Sa9bXjh5ONtAqN7XNE/B8ukM=",
"owner": "qvalentin",
"repo": "helm-ls.nvim",
"rev": "20df43509b02a3ce3c6b3eee254d6e2bffa9a370",
"type": "github"
},
"original": {
"owner": "qvalentin",
"repo": "helm-ls.nvim",
"type": "github"
} }
} }
}, },
+26 -17
View File
@@ -2,6 +2,7 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixCats.url = "github:BirdeeHub/nixCats-nvim"; nixCats.url = "github:BirdeeHub/nixCats-nvim";
mcp-hub.url = "github:ravitemer/mcp-hub";
plugins-shipwright-nvim = { plugins-shipwright-nvim = {
url = "github:rktjmp/shipwright.nvim"; url = "github:rktjmp/shipwright.nvim";
@@ -23,6 +24,14 @@
url = "github:jamesblckwell/nvimkit.nvim"; url = "github:jamesblckwell/nvimkit.nvim";
flake = false; flake = false;
}; };
plugins-mcphub-nvim = {
url = "github:ravitemer/mcphub.nvim";
flake = false;
};
plugins-helm-ls-nvim = {
url = "github:qvalentin/helm-ls.nvim";
flake = false;
};
}; };
@@ -40,6 +49,7 @@
allowUnfreePredicate = allowUnfreePredicate =
pkg: pkg:
builtins.elem (nixpkgs.lib.getName pkg) [ builtins.elem (nixpkgs.lib.getName pkg) [
"copilot-language-server"
"vim-sandwich" "vim-sandwich"
"jupytext.nvim" "jupytext.nvim"
"eyeliner.nvim" "eyeliner.nvim"
@@ -54,8 +64,11 @@
]; ];
}; };
mkDependencyOverlays = [ mkDependencyOverlays = system: [
(utils.standardPluginOverlay inputs) (utils.standardPluginOverlay inputs)
(_final: _prev: {
mcp-hub = inputs.mcp-hub.packages.${system}.default;
})
(_: prev: { (_: prev: {
luajitPackages = prev.luajitPackages.overrideScope ( luajitPackages = prev.luajitPackages.overrideScope (
_: lprev: { _: lprev: {
@@ -70,12 +83,8 @@
categoryDefinitions = categoryDefinitions =
{ {
pkgs, pkgs,
categories,
... ...
}: }:
let
themes = import ./themes.nix pkgs;
in
{ {
lspsAndRuntimeDeps = with pkgs; { lspsAndRuntimeDeps = with pkgs; {
general = [ general = [
@@ -83,7 +92,7 @@
black black
clang clang
clang-tools clang-tools
curl # → plenary-nvim curl # → plenary-nvim, mcp-hub
delta delta
emmet-language-server emmet-language-server
eslint_d eslint_d
@@ -94,6 +103,7 @@
helm-ls helm-ls
isort isort
lua-language-server lua-language-server
mcp-hub
nixd nixd
nixfmt nixfmt
prettier prettier
@@ -116,9 +126,7 @@
}; };
startupPlugins = { startupPlugins = {
general = general = with pkgs.vimPlugins; [
with pkgs.vimPlugins;
[
## plug ## plug
vim-plug vim-plug
vim-sandwich vim-sandwich
@@ -160,8 +168,9 @@
plenary-nvim plenary-nvim
nui-nvim nui-nvim
trouble-nvim trouble-nvim
lush-nvim
pkgs.neovimPlugins.shipwright-nvim pkgs.neovimPlugins.shipwright-nvim
lush-nvim
zenbones-nvim
nvim-treesitter.withAllGrammars nvim-treesitter.withAllGrammars
nvim-treesitter-textobjects nvim-treesitter-textobjects
# nvim-treesitter-context # nvim-treesitter-context
@@ -178,15 +187,16 @@
pkgs.neovimPlugins.beancount-nvim pkgs.neovimPlugins.beancount-nvim
pkgs.neovimPlugins.nvimkit-nvim pkgs.neovimPlugins.nvimkit-nvim
codecompanion-nvim codecompanion-nvim
helm-ls-nvim pkgs.neovimPlugins.mcphub-nvim
copilot-lua
copilot-cmp
pkgs.neovimPlugins.helm-ls-nvim
kitty-scrollback-nvim kitty-scrollback-nvim
fidget-nvim fidget-nvim
rustaceanvim rustaceanvim
# pkgs.neovimPlugins.m-taskwarrior-d-nvim # pkgs.neovimPlugins.m-taskwarrior-d-nvim
claudecode-nvim claude-code-nvim
snacks-nvim ];
]
++ themes.${categories.colorscheme or "zenwritten"};
}; };
optionalPlugins = { optionalPlugins = {
@@ -211,7 +221,6 @@
}; };
categories = { categories = {
general = true; general = true;
colorscheme = "zenwritten";
}; };
}; };
}; };
@@ -221,7 +230,7 @@
forEachSystem ( forEachSystem (
system: system:
let let
dependencyOverlays = mkDependencyOverlays; dependencyOverlays = mkDependencyOverlays system;
nixCatsBuilder = utils.baseBuilder luaPath { nixCatsBuilder = utils.baseBuilder luaPath {
inherit inherit
nixpkgs nixpkgs
@@ -15,6 +15,7 @@ vim.api.nvim_create_user_command("AnkiDeck", function()
end, {}) end, {})
vim.cmd([[ vim.cmd([[
set cc=81
set cocu="" set cocu=""
func! GetContext() func! GetContext()
" https://stackoverflow.com/questions/9464844/how-to-get-group-name-of-highlighting-under-cursor-in-vim " https://stackoverflow.com/questions/9464844/how-to-get-group-name-of-highlighting-under-cursor-in-vim
+2 -1
View File
@@ -16,4 +16,5 @@ require("diagnostic")
require("utils") require("utils")
require("zk") require("zk")
require("reload") require("reload")
require("theme")
vim.opt.background = "dark"
+3 -1
View File
@@ -22,7 +22,6 @@ set("n", "s=", "<c-w>=", { desc = "equalize splits" })
set("n", "sb", ":Lex<cr>", { desc = "file tree" }) set("n", "sb", ":Lex<cr>", { desc = "file tree" })
set("n", "<leader><leader>", ":noh<cr>", { desc = "clear highlights" }) set("n", "<leader><leader>", ":noh<cr>", { desc = "clear highlights" })
set("n", "<leader>t", ":term<cr>", { desc = "open terminal" }) set("n", "<leader>t", ":term<cr>", { desc = "open terminal" })
set("n", "<leader>w", "<cmd>w<cr>", { desc = ":w" })
-- remaps -- remaps
set("i", "jj", "<esc>", { nowait = true, desc = "exit insert mode" }) set("i", "jj", "<esc>", { nowait = true, desc = "exit insert mode" })
@@ -35,6 +34,9 @@ set("i", "<down>", "<nop>")
set("i", "<up>", "<nop>") set("i", "<up>", "<nop>")
set("i", "<right>", "<nop>") set("i", "<right>", "<nop>")
-- search
set("n", "<c-_>", ":noh<cr>", { desc = "clear search highlight" })
-- line numbers -- line numbers
set("n", "<leader>n", ":set nu! rnu!<cr>", { desc = "toggle line numbers" }) set("n", "<leader>n", ":set nu! rnu!<cr>", { desc = "toggle line numbers" })
-8
View File
@@ -1,8 +0,0 @@
vim.opt.background = "dark"
if vim.g.vscode then
return
end
vim.g.zenwritten_compat = 1
vim.cmd.colorscheme(require("nixCatsUtils").getCatOrDefault("colorscheme", "zenwritten"))
-4
View File
@@ -1,4 +0,0 @@
pkgs: {
vscode = [ pkgs.vimPlugins.vscode-nvim ];
zenwritten = [ pkgs.vimPlugins.zenbones-nvim ];
}
Generated
+124 -32
View File
@@ -123,11 +123,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1788879443, "lastModified": 1786361680,
"narHash": "sha256-qb9sL86UCUEd3SYAda4ItN1NV0vhMSdbpA64WckvVI0=", "narHash": "sha256-IxaZkb9rCGEZ+yGndxKXONeIEcKMzoFUsvLTB5G/caw=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "414ac5f35d79aabe5a0bf52451d8cf61eadf6c88", "rev": "16901271e5b30b591e56f7a84f25f186fb20f3e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -165,11 +165,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1788926592, "lastModified": 1787630552,
"narHash": "sha256-cHzKQBhQVLPfMCtK+E0EMeQpwW2/XA9l+8H6xXsT+70=", "narHash": "sha256-w3LGSHkHWKRH5K4A8plRWaFbaSWfdZAIxv32kO2mpOg=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "9d230a63e1419b6efd95728f01a6a72e1986a03f", "rev": "25227969423d7ef599f70e16364ac550a0f713cd",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -265,6 +265,28 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nvim",
"mcp-hub",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@@ -345,11 +367,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788267358, "lastModified": 1787424939,
"narHash": "sha256-nt+lUqYVpc9Y6JeMd2WmXzCDojasdadKo0mWcluvY2Y=", "narHash": "sha256-O2tBn84NNuHrnqNVxx/XqsXwfYvS1YwBh+7CBnbCYsk=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "27555e2624241fb116b49095df4caaee85a25691", "rev": "809414f0cdadf82cf11b06c2b29ba9b3168b3297",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -396,11 +418,11 @@
"hecuba-services": { "hecuba-services": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1788557536, "lastModified": 1787190763,
"narHash": "sha256-oG0PyMqzA11EGfqY86iU73DjYq5HHoK89kQW0xaPHf4=", "narHash": "sha256-hZCD0M5mt6gP5z21dYOslx9d7aoF5XTCgB0axt8O+SA=",
"ref": "main", "ref": "main",
"rev": "29002359b7a863b12bed5a83a1cafc53c660a14a", "rev": "838434daa9844608863c93627aa466a0109237b5",
"revCount": 218, "revCount": 209,
"type": "git", "type": "git",
"url": "ssh://git@github.com/hektor/hecuba-services" "url": "ssh://git@github.com/hektor/hecuba-services"
}, },
@@ -417,11 +439,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788921139, "lastModified": 1787540599,
"narHash": "sha256-2wRuvf9UDw1SYWtBcxNmxLeAtNU1i/hc1c0AKQHdvlM=", "narHash": "sha256-MHwk52ty3NsLhq9a1IbIfBJZlCUJIdiUYFo52JLK9hY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a2dbe7c2c9333e8234ae8114c7f731784201d108", "rev": "03f4cd46bc1dd4f3a96da778d2ce9f7ce39dd450",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -430,6 +452,25 @@
"type": "github" "type": "github"
} }
}, },
"mcp-hub": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1755841689,
"narHash": "sha256-KakvXZf0vjdqzyT+LsAKHEr4GLICGXPmxl1hZ3tI7Yg=",
"owner": "ravitemer",
"repo": "mcp-hub",
"rev": "9c7670a4c341ed3cf738a6242c0fde1cea40bccf",
"type": "github"
},
"original": {
"owner": "ravitemer",
"repo": "mcp-hub",
"type": "github"
}
},
"nix-github-actions": { "nix-github-actions": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -454,10 +495,10 @@
"nix-secrets": { "nix-secrets": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1788786361, "lastModified": 1785190089,
"narHash": "sha256-u6qgw8xKHLdlC02HZnC89WzigADbXoO4mGsllMMj5FM=", "narHash": "sha256-nhzJq5kkcU9X5QXhErn1pHqqN5TPxUVV0teOd+yMzN4=",
"ref": "main", "ref": "main",
"rev": "b560101cef698142dd15cacc222c2c6135b8ab04", "rev": "3375f7a8ccb4dc3c5ea3c488597c659665973e4d",
"shallow": true, "shallow": true,
"type": "git", "type": "git",
"url": "ssh://git@github.com/hektor/nix-secrets" "url": "ssh://git@github.com/hektor/nix-secrets"
@@ -510,11 +551,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1788942796, "lastModified": 1787144466,
"narHash": "sha256-CLoJCCRi9sogsyGXYn8rOCWBLKAntfKUB9Rli/YXgEY=", "narHash": "sha256-HHfv2/HkNSKbbSyU9iD/g8lbP6r4tl33sSw1W4rXCk0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "83bbc895120516d6e86885a188c04beced6535d9", "rev": "0471accf8d0a8210b31d947497d179ecc99e0021",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -539,11 +580,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1788881743, "lastModified": 1787498568,
"narHash": "sha256-2V9GZGvPfrNzxFozhI9dcqV+c3QdA8YZrvAAzqEB+dI=", "narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d6524aaca2ff07876657ae2b323f24be4874944b", "rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -553,6 +594,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1743689281,
"narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2bfc080955153be0be56724be6fa5477b4eefabb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
@@ -580,11 +637,14 @@
}, },
"nvim": { "nvim": {
"inputs": { "inputs": {
"mcp-hub": "mcp-hub",
"nixCats": "nixCats", "nixCats": "nixCats",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"plugins-beancount-nvim": "plugins-beancount-nvim", "plugins-beancount-nvim": "plugins-beancount-nvim",
"plugins-helm-ls-nvim": "plugins-helm-ls-nvim",
"plugins-mcphub-nvim": "plugins-mcphub-nvim",
"plugins-nvimkit-nvim": "plugins-nvimkit-nvim", "plugins-nvimkit-nvim": "plugins-nvimkit-nvim",
"plugins-shipwright-nvim": "plugins-shipwright-nvim", "plugins-shipwright-nvim": "plugins-shipwright-nvim",
"plugins-tailwind-fold-nvim": "plugins-tailwind-fold-nvim" "plugins-tailwind-fold-nvim": "plugins-tailwind-fold-nvim"
@@ -615,6 +675,38 @@
"type": "github" "type": "github"
} }
}, },
"plugins-helm-ls-nvim": {
"flake": false,
"locked": {
"lastModified": 1773934114,
"narHash": "sha256-8trqFsA7nTKSdtkiAL0Sa9bXjh5ONtAqN7XNE/B8ukM=",
"owner": "qvalentin",
"repo": "helm-ls.nvim",
"rev": "20df43509b02a3ce3c6b3eee254d6e2bffa9a370",
"type": "github"
},
"original": {
"owner": "qvalentin",
"repo": "helm-ls.nvim",
"type": "github"
}
},
"plugins-mcphub-nvim": {
"flake": false,
"locked": {
"lastModified": 1768730387,
"narHash": "sha256-g9tPvjThz6EUk7zcY7lL+YH4lrT4x3FJ6jrNMHA8PAE=",
"owner": "ravitemer",
"repo": "mcphub.nvim",
"rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
"type": "github"
},
"original": {
"owner": "ravitemer",
"repo": "mcphub.nvim",
"type": "github"
}
},
"plugins-nvimkit-nvim": { "plugins-nvimkit-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -689,11 +781,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788914643, "lastModified": 1786629091,
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=", "narHash": "sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "13616fff713a9f94055c66f15687ebdc17a335df", "rev": "a8627b21b9107c5711c96b84f32a9a4b3d45295f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -725,7 +817,7 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@@ -738,11 +830,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1787771653, "lastModified": 1787175104,
"narHash": "sha256-DkkJSBOXWV/mja5Vy8az5g1KpZlsbUwlmH0BsQhowaQ=", "narHash": "sha256-tzNjlb0loxeWlipvxSNAUUihloeTZoyGFhEen87yM9k=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "5e3809851f486e7fc7e84b40f174c74b60ecc784", "rev": "a9e5a76a1b75b137f266e4f445e1eaba82e9783e",
"type": "github" "type": "github"
}, },
"original": { "original": {
+17 -19
View File
@@ -27,36 +27,34 @@
claude-code.enable = true; claude-code.enable = true;
opencode.enable = true; opencode.enable = true;
}; };
anki.enable = true;
audio.enable = true;
browser.primary = "librewolf";
cloud = {
hetzner.enable = true;
vercel.enable = true;
};
comms.signal.enable = true;
deploy.enable = true;
desktop.niri.enable = true; desktop.niri.enable = true;
devenv.enable = true; browser.enable = true;
direnv.enable = true; browser.primary = "librewolf";
cloud.hetzner.enable = true;
gaming.enable = true; gaming.enable = true;
comms.signal.enable = true;
git.enable = true; git.enable = true;
git.github.enable = true; git.github.enable = true;
k8s.k9s.enable = true;
keepassxc.enable = true;
music.enable = true;
nvim.enable = true;
pandoc.enable = true;
photography.enable = true;
secrets.enable = true;
shell = { shell = {
enable = true; enable = true;
bash.aliases.lang-js = true; bash.aliases.lang-js = true;
bash.addBinToPath = true; bash.addBinToPath = true;
}; };
ssh.enable = true; anki.enable = true;
k8s.k9s.enable = true;
secrets.enable = true;
taskwarrior.enable = true; taskwarrior.enable = true;
audio.enable = true;
ssh.enable = true;
deploy.enable = true;
music.enable = true;
terminal.enable = true; terminal.enable = true;
devenv.enable = true;
keepassxc.enable = true;
direnv.enable = true;
nvim.enable = true;
pandoc.enable = true;
photography.enable = true;
torrenting.enable = true; torrenting.enable = true;
my.yubikey.enable = true; my.yubikey.enable = true;
zk.enable = true; zk.enable = true;
+1 -4
View File
@@ -70,10 +70,7 @@
music.enable = true; music.enable = true;
my.dconf.enable = true; my.dconf.enable = true;
my.stylix.enable = true; my.stylix.enable = true;
nvim = { nvim.enable = true;
enable = true;
colorscheme = "vscode";
};
pandoc.enable = true; pandoc.enable = true;
shell.enable = true; shell.enable = true;
taskwarrior.enable = true; taskwarrior.enable = true;
+1
View File
@@ -27,6 +27,7 @@ in
kubectl kubectl
kubernetes kubernetes
kustomize kustomize
minikube
]; ];
programs.kubecolor = { programs.kubecolor = {
+8 -26
View File
@@ -1,28 +1,15 @@
{ {
inputs,
pkgs,
lib,
config, config,
lib,
pkgs,
inputs,
... ...
}: }:
let
themes = import "${inputs.nvim}/themes.nix" pkgs;
plugins = themes.${config.nvim.colorscheme};
in
{ {
imports = [ inputs.nvim.homeModules.default ]; options.nvim.enable = lib.mkEnableOption "nvim";
options.nvim.colorscheme = lib.mkOption {
type = lib.types.enum (lib.attrNames themes);
default = "zenwritten";
};
config = lib.mkIf config.nvim.enable { config = lib.mkIf config.nvim.enable {
nvim.packageDefinitions.merge.nvim = _: {
categories.colorscheme = config.nvim.colorscheme;
};
home = { home = {
sessionVariables = { sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
@@ -32,15 +19,10 @@ in
PAGER = "nvimpager"; PAGER = "nvimpager";
MANWIDTH = "80"; MANWIDTH = "80";
}; };
packages = with pkgs; [ nvimpager ]; packages = with pkgs; [
inputs.nvim.packages.${pkgs.stdenv.hostPlatform.system}.nvim
nvimpager
];
}; };
xdg.configFile."nvimpager/init.lua".text = ''
vim.opt.clipboard = "unnamedplus"
vim.opt.background = "dark"
vim.g.zenwritten_compat = 1
${lib.concatMapStringsSep "\n" (plugin: ''vim.opt.runtimepath:append("${plugin}")'') plugins}
vim.cmd.colorscheme("${config.nvim.colorscheme}")
'';
}; };
} }
-1
View File
@@ -24,6 +24,5 @@ in
}; };
home.file.".config/kitty/nvim.conf".source = dotsPath + "/.config/kitty/nvim.conf"; home.file.".config/kitty/nvim.conf".source = dotsPath + "/.config/kitty/nvim.conf";
home.file.".local/share/kitty-scrollback.nvim".source = pkgs.vimPlugins.kitty-scrollback-nvim;
}; };
} }
+1 -7
View File
@@ -55,13 +55,7 @@ in
useDHCP = lib.mkDefault true; useDHCP = lib.mkDefault true;
}; };
nvidia.enable = true; nvidia.enable = true;
restic-backup = { restic-backup.enable = true;
enable = true;
paths = [
"/home"
"/data"
];
};
secrets = { secrets = {
enable = true; enable = true;
nixSigningKey.enable = true; nixSigningKey.enable = true;
-1
View File
@@ -58,7 +58,6 @@ in
dbus.enable = true; dbus.enable = true;
displayManager.ly = lib.mkIf cfg.ly.enable { displayManager.ly = lib.mkIf cfg.ly.enable {
enable = true; enable = true;
settings.session_log = ".local/state/ly-session.log";
}; };
}; };
}; };