feat(09-01): add work-cli home-manager module

- enable option, jira/vault sub-enables
- all config options matching config.py schema
- generates ~/.config/work/config.toml via home.file
- wires bash completion via programs.bash.initExtra
- package installed from inputs.work-cli.packages
This commit is contained in:
2026-03-31 12:46:53 +02:00
parent 4aee96241c
commit 41c2552cb1
4 changed files with 206 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
local M = {}
local function merge_base()
return vim.fn.system("git merge-base origin/main HEAD"):gsub("%s+", "")
end
function M.files()
local base = merge_base()
require("fzf-lua").fzf_exec("git diff --name-only " .. base .. "...HEAD", {
prompt = "MR files> ",
actions = {
["default"] = function(selected)
vim.cmd("edit " .. selected[1])
require("gitsigns").diffthis(base)
end,
},
})
end
function M.commits()
local base = merge_base()
require("fzf-lua").fzf_exec("git log --oneline " .. base .. "..HEAD", {
prompt = "MR commits> ",
actions = {
["default"] = function(selected)
local sha = selected[1]:match("^(%S+)")
require("fzf-lua").fzf_exec("git diff --name-only " .. sha .. "~1.." .. sha, {
prompt = sha:sub(1, 7) .. " files> ",
actions = {
["default"] = function(files)
vim.cmd("edit " .. files[1])
require("gitsigns").diffthis(sha .. "~1")
end,
},
})
end,
},
})
end
vim.api.nvim_create_user_command("MRFiles", M.files, {})
vim.api.nvim_create_user_command("MRCommits", M.commits, {})
return M