Compare commits

..

9 Commits

Author SHA1 Message Date
tgrosinger c06ef9a626 Fish: Add go/bin and npm/global/bin to path 2026-06-02 10:55:34 -07:00
tgrosinger 6287f40b07 Install: Add codex and claude 2026-06-02 10:51:22 -07:00
tgrosinger d05329471d Neovim: Disable markdownlint warnings for line length 2026-06-02 10:51:01 -07:00
tgrosinger 272e3ee138 Tmux: Hotkey to kill the current session 2026-05-15 09:36:21 -07:00
tgrosinger 583b78abad Tmux: Save sessions periodically and restore when reopening 2026-05-15 09:31:00 -07:00
tgrosinger f8fd24a8fb Neovim: Add persistence to reopen previous files on restart
Based on the directory, open whatever files were previously open when
vim was closed (intentionally or unexpectedly).
2026-05-15 09:30:09 -07:00
tgrosinger c77adc9234 Tmux: Mouse mode on by default 2026-05-15 09:19:25 -07:00
tgrosinger 044f392526 Neovim: Add helper to open claude plan file 2026-05-13 11:53:39 -07:00
tgrosinger 521e199ff6 Neovim: Add code-review plugin
Allows easily marking up code and exporting comments to be copied into
an AI agent for acting on.
2026-05-13 11:49:20 -07:00
9 changed files with 139 additions and 3 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:4300
SETUVAR fish_user_paths:/home/tgrosinger/\x2edotfiles/bin/linux
SETUVAR fish_user_paths:/home/tgrosinger/go/bin\x1e/home/tgrosinger/\x2enpm\x2dglobal/bin\x1e/home/tgrosinger/\x2edotfiles/bin/linux
@@ -0,0 +1,7 @@
{
// markdownlint-cli2 base config used by nvim-lint (see lua/plugins/markdown.lua).
"config": {
// Disable line-length errors; long lines are soft-wrapped on purpose.
"MD013": false
}
}
+1
View File
@@ -4,6 +4,7 @@
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" },
"code-review.nvim": { "branch": "main", "commit": "ed91462e20bd08c3be71efb11a4a7d00459f0b47" },
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
"diffview.nvim": { "branch": "main", "commit": "fe01c7c3f11575c8d732fc0c1d52890d33ce41c0" },
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
+7
View File
@@ -1,3 +1,10 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
vim.keymap.set("n", "<leader>aP", function()
Snacks.picker.files({
cwd = vim.fn.expand("~/.claude/plans"),
title = "Claude plans",
})
end, { desc = "Find Claude plan" })
@@ -0,0 +1,72 @@
-- Cheatsheet
--
-- Workflow: open a plan/diff from Claude Code, mark it up, copy, paste back.
-- Works inside Diffview buffers as well.
--
-- Keymaps:
-- <leader>rc Add comment at cursor or visual selection
-- <leader>rp Preview all comments (editable buffer)
-- <leader>ry Copy review to clipboard (paste into Claude Code)
-- <leader>rs Show comments at cursor
-- <leader>rl List all comments (Telescope/fzf/quickfix)
-- <leader>rd Delete comment at cursor
-- <leader>rx Clear all comments
-- <leader>rw Save review to file
--
-- Inside the comment input window: <C-s> submits, <Esc> or q cancels.
-- (Terminals can't distinguish <C-CR> from <CR>, so we bind <C-s> instead.)
return {
{
"folke/which-key.nvim",
opts = {
spec = {
{ "<leader>r", group = "review" },
},
},
},
{
"choplin/code-review.nvim",
cmd = {
"CodeReviewComment",
"CodeReviewShowComment",
"CodeReviewList",
"CodeReviewPreview",
"CodeReviewSave",
"CodeReviewCopy",
"CodeReviewClear",
"CodeReviewDeleteComment",
},
keys = {
{ "<leader>rc", mode = { "n", "v" }, desc = "Code review: add comment" },
{ "<leader>rp", desc = "Code review: preview" },
{ "<leader>ry", desc = "Code review: copy to clipboard" },
{ "<leader>rs", desc = "Code review: show at cursor" },
{ "<leader>rl", desc = "Code review: list comments" },
{ "<leader>rd", desc = "Code review: delete at cursor" },
{ "<leader>rx", desc = "Code review: clear all" },
{ "<leader>rw", desc = "Code review: save to file" },
},
opts = {
ui = {
input_window = {
title = " Add Comment (C-s to submit) ",
},
},
output = {
-- Flat format optimized for pasting into AI assistants like Claude Code:
-- path/to/file.lua:L42: comment text
format = "minimal",
},
},
init = function()
vim.api.nvim_create_autocmd("User", {
pattern = "CodeReviewInputEnter",
callback = function(ev)
local funcs = require("code-review").get_input_buffer_functions(ev.data.buf)
vim.keymap.set({ "i", "n" }, "<C-s>", funcs.submit, { buffer = ev.data.buf })
end,
})
end,
},
}
@@ -0,0 +1,12 @@
return {
-- Point markdownlint-cli2 at a global config so MD013 (line-length) stays
-- disabled everywhere. The linter runs over stdin, so it can't reliably
-- auto-discover a per-project config; pass --config explicitly instead.
{
"mfussenegger/nvim-lint",
opts = function()
local config = vim.fn.stdpath("config") .. "/.markdownlint-cli2.jsonc"
require("lint").linters["markdownlint-cli2"].args = { "--config", config, "-" }
end,
},
}
@@ -0,0 +1,20 @@
return {
"folke/persistence.nvim",
init = function()
vim.api.nvim_create_autocmd("VimEnter", {
group = vim.api.nvim_create_augroup("PersistenceAutoload", { clear = true }),
nested = true,
callback = function()
if vim.fn.argc() == 0 then
require("persistence").load()
end
end,
})
vim.api.nvim_create_autocmd({ "BufWritePost", "FocusLost" }, {
group = vim.api.nvim_create_augroup("PersistenceCrashSave", { clear = true }),
callback = function()
require("persistence").save()
end,
})
end,
}
+13 -1
View File
@@ -14,7 +14,11 @@ set -g set-clipboard on
### Reload the config with r
bind-key r source-file ~/.tmux.conf\; display-message "Reloaded config"
### Toggle Mouse Mode
### Kill the current session
bind-key X confirm-before -p "Kill session #S? (y/n)" kill-session
### Mouse mode on by default; toggle with prefix + m
set -g mouse on
bind-key m set-window-option mouse\; display-message "mouse support is now #{?mouse,on,off}"
### Open LazyGit in a popup
@@ -73,6 +77,14 @@ set -g @catppuccin_window_status_enable "no"
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Session persistence (resurrect + continuum)
set -g @continuum-restore 'on'
set -g @continuum-save-interval '10'
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-strategy-nvim 'session'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
+6 -1
View File
@@ -12,7 +12,9 @@ echo "Installing homebrew"
# npm config set prefix $HOME/.npm-global
# fish_add_path $HOME/.npm-global/bin
# npm install -g @anthropic-ai/sandbox-runtime
#
# NOTE: claude was installed using the install script:
# curl -fsSL https://claude.ai/install.sh | bash
brew install \
anomalyco/tap/opencode \
@@ -45,6 +47,9 @@ brew install \
#stripe-cli \
#visidata \
# OpenAI Codex
brew install --cask codex
brew services start atuin
# Previously these were installed with npm because I didn't want to use brew to