Compare commits

1 Commits

Author SHA1 Message Date
f36cb204c4 Add various small changes from use over the last few days 2025-10-15 13:16:04 -05:00
8 changed files with 54 additions and 24 deletions

View File

@@ -12,22 +12,28 @@
- for aerospace window manager, have only 1 workspace/desktop - for aerospace window manager, have only 1 workspace/desktop
- manual settings, refer to [ref/macos-system-settings](ref/macos-system-settings.txt) - manual settings, refer to [ref/macos-system-settings](ref/macos-system-settings.txt)
--------
### script run ### script run
- to do the full setup, from git root dir, run: `./box_setup.sh` - to do the full setup, from git root dir, run: `./box_setup.sh`
- to copy dotfiles only, from git root dir, run: `./copy_dotfiles.sh` - to copy dotfiles only, from git root dir, run: `./copy_dotfiles.sh`
--------
### after script run ### after script run
- complete manual actions specified in [ref/post-run](ref/post-run.md) - complete manual actions specified in [ref/post-run](ref/post-run.md)
------------------------------------------------------------------------------------------ --------
### todo items ### todo items
- choose window manager for linux, then configure - config for: terminal (ghostty? foot? havoc?); shell; mpd, mpc, ncmpcpp; mpv
- config for: terminal (ghostty); shell; mpd, mpc, ncmpcpp; mpv - hyprland config on linux
- decide on docker? or alternatives like podman? any license concerns? - decide on docker? or alternatives like podman? any license concerns?
- switch installation approach, use csv file with programs to install, install types, - switch installation approach, use csv file with programs to install, install types,
any extra flags/opts, comments any extra flags/opts, comments
- regarding the system-types idea i'd started to build in already, maybe have a - regarding the system-types idea i'd started to build in already, maybe have a
column for filtering in the csv file, or just have multiple csv files corresponding column for filtering in the csv file, or just have multiple csv files corresponding
to a base/core install, a music-studio install, a employer/work machine, etc. to a base/core install, a music-studio install, a employer/work machine, etc.
- alternate idea: columns for "include_in_systems" and/or "excluded_from_systems"
- if both, likely apply the include column first, then the exclude (priority)
- add command in tmux to perform cd to a given dir in all windows of the current session - add command in tmux to perform cd to a given dir in all windows of the current session

View File

@@ -1,16 +1,18 @@
#!/bin/zsh #!/bin/zsh
# likely on unix systems already: find xargs grep sed awk # likely on unix systems already: find, xargs, awk? (maybe get alternative like nawk?)
${=BOX_SETUP_INSTALL_COMMAND} \ ${=BOX_SETUP_INSTALL_COMMAND} \
curl \ curl \
grep \
ripgrep \
sed \
fzf \
jq \ jq \
parallel \ parallel \
fzf \
make \ make \
cmake \ cmake \
gettext \ gettext
grep \ # TODO: add to above a system info monitor like htop, btop, gotop, or something similar
ripgrep
utils_package_name_pandoc="pandoc" utils_package_name_pandoc="pandoc"
case $BOX_SETUP_DISTRO in case $BOX_SETUP_DISTRO in

View File

@@ -23,6 +23,8 @@ source ./src_files/.config/zsh/.zshenv # ensure env vars set for use below
[[ ! -d "$DIR_DEV" ]] && mkdir -p $DIR_DEV [[ ! -d "$DIR_DEV" ]] && mkdir -p $DIR_DEV
[[ ! -d "$DIR_GIT_PROJECTS" ]] && mkdir -p $DIR_GIT_PROJECTS [[ ! -d "$DIR_GIT_PROJECTS" ]] && mkdir -p $DIR_GIT_PROJECTS
[[ ! -d "$DIR_GIT_PROJECTS/me" ]] && mkdir -p $DIR_DEV/git/me [[ ! -d "$DIR_GIT_PROJECTS/me" ]] && mkdir -p $DIR_DEV/git/me
[[ ! -d "$DIR_GIT_PROJECTS/forks" ]] && mkdir -p $DIR_DEV/git/forks
[[ ! -d "$DIR_GIT_PROJECTS/learning" ]] && mkdir -p $DIR_DEV/git/learning
[[ ! -d "$DIR_GIT_PROJECTS/other" ]] && mkdir -p $DIR_DEV/git/other [[ ! -d "$DIR_GIT_PROJECTS/other" ]] && mkdir -p $DIR_DEV/git/other
# directories for music/audio production # directories for music/audio production

View File

@@ -7,23 +7,23 @@ local kmgAutocmd = vim.api.nvim_create_autocmd
-- explore the directory of the current file (using netrw) -- explore the directory of the current file (using netrw)
vim.keymap.set("n", "<leader>n", vim.cmd.Ex) vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
-- move selected lines up or down -- move visually-selected lines up or down
vim.keymap.set("v", "J", ":m '>+1<CR>gv") vim.keymap.set("v", "J", ":m '>+1<CR>gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv") vim.keymap.set("v", "K", ":m '<-2<CR>gv")
-- vertically center cursor with half-page jumps -- reduce effective distance of half-page jumps and vertically-center the cursor
vim.keymap.set("n", "<C-d>", "<C-d>zz") vim.keymap.set("n", "<C-d>", "<C-d>4<C-y>M")
vim.keymap.set("n", "<C-u>", "<C-u>zz") vim.keymap.set("n", "<C-u>", "<C-u>4<C-e>M")
-- open folds when iterating search results -- open folds when iterating search results
vim.keymap.set("n", "n", "nzv") vim.keymap.set("n", "n", "nzv")
vim.keymap.set("n", "N", "Nzv") vim.keymap.set("n", "N", "Nzv")
-- maintain cursor position after paragraph formatting -- maintain cursor position after paragraph formatting
vim.keymap.set("n", "=ap", "ma=ap'a") vim.keymap.set("n", "=ap", "mF=ap'F")
-- shortcuts for deleting into the void register -- shortcuts for deleting into the void register
vim.keymap.set({ "n", "v" }, "<leader>d", "\"_d") vim.keymap.set({ "n", "v" }, "<leader>d", [["_d]])
vim.keymap.set("x", "<leader>P", [["_dP]]) -- replace selected text, keep main register vim.keymap.set("x", "<leader>P", [["_dP]]) -- replace selected text, keep main register
-- shortcuts for using + register (system clipboard) -- shortcuts for using + register (system clipboard)
@@ -52,6 +52,16 @@ vim.keymap.set("n", "<C-h>", [[<C-w>h]])
vim.keymap.set("n", "<C-j>", [[<C-w>j]]) vim.keymap.set("n", "<C-j>", [[<C-w>j]])
vim.keymap.set("n", "<C-k>", [[<C-w>k]]) vim.keymap.set("n", "<C-k>", [[<C-w>k]])
vim.keymap.set("n", "<C-l>", [[<C-w>l]]) vim.keymap.set("n", "<C-l>", [[<C-w>l]])
kmgAutocmd('FileType', {
group = kmGroup,
pattern = "netrw",
callback = function()
vim.keymap.set("n", "<C-h>", [[<C-w>h]], { remap = true, buffer = true })
vim.keymap.set("n", "<C-j>", [[<C-w>j]], { remap = true, buffer = true })
vim.keymap.set("n", "<C-k>", [[<C-w>k]], { remap = true, buffer = true })
vim.keymap.set("n", "<C-l>", [[<C-w>l]], { remap = true, buffer = true })
end
})
------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
-- quickfix TODO: learn about quickfix (:help quickfix), then maybe use these -- quickfix TODO: learn about quickfix (:help quickfix), then maybe use these
@@ -71,14 +81,17 @@ vim.keymap.set("n", "<leader>bo", dap.step_over, { desc = "debug: step over" })
vim.keymap.set("n", "<leader>bu", dap.step_out, { desc = "debug: step out" }) vim.keymap.set("n", "<leader>bu", dap.step_out, { desc = "debug: step out" })
vim.keymap.set("n", "<leader>blb", dap.list_breakpoints, { desc = "debug: list breakpoints" }) vim.keymap.set("n", "<leader>blb", dap.list_breakpoints, { desc = "debug: list breakpoints" })
vim.keymap.set("n", "<leader>bt", dap.toggle_breakpoint, { desc = "debug: toggle breakpoint" }) vim.keymap.set("n", "<leader>bt", dap.toggle_breakpoint, { desc = "debug: toggle breakpoint" })
vim.keymap.set("n", "<leader>bb", dap.set_breakpoint, { desc = "debug: set breakpoint" })
vim.keymap.set("n", "<leader>bB", function() vim.keymap.set("n", "<leader>bB", function()
dap.set_breakpoint(vim.fn.input("breakpoint condition: ")) dap.set_breakpoint(vim.fn.input("breakpoint condition: "))
end, { desc = "debug: set conditional breakpoint" }) end, { desc = "debug: set conditional breakpoint" })
vim.keymap.set("n", "<leader>bv", function()
require("nvim-dap-virtual-text").toggle()
end, { desc = "debug: toggle virtual text" })
vim.keymap.set("n", "<leader>bq", function() vim.keymap.set("n", "<leader>bq", function()
dap.terminate() require("dapui").close() require("nvim-dap-virtual-text").toggle() dap.terminate() require("dapui").close() require("nvim-dap-virtual-text").disable()
end, { desc = "debug: quit debugger" }) end, { desc = "debug: quit debugger" })
-- TODO: decide if i want these or others, add if so -- TODO: decide if i want these or others, add if so
@@ -121,8 +134,8 @@ local custom_grep_str_w_regex = function()
end end
vim.keymap.set('n', '<leader>ft', tscBuiltin.live_grep, { desc = 'tscope find text, live_grep' }) vim.keymap.set('n', '<leader>ft', tscBuiltin.live_grep, { desc = 'tscope find text, live_grep' })
vim.keymap.set('n', '<leader>fT', custom_grep_str_w_regex, { desc = 'tscope find text, static grep w/regex' }) vim.keymap.set('n', '<leader>fT', custom_grep_str_w_regex, { desc = 'tscope find text, static grep w/regex' })
vim.keymap.set('n', '<leader>fg', tscBuiltin.git_files, { desc = 'tscope find git-tracked files' })
vim.keymap.set('n', '<leader>ff', tscBuiltin.find_files, { desc = 'tscope find files' }) vim.keymap.set('n', '<leader>ff', tscBuiltin.find_files, { desc = 'tscope find files' })
vim.keymap.set('n', '<leader>fg', tscBuiltin.git_files, { desc = 'tscope find git-tracked files' })
vim.keymap.set('n', '<leader>fb', tscBuiltin.buffers, { desc = 'tscope buffers' }) vim.keymap.set('n', '<leader>fb', tscBuiltin.buffers, { desc = 'tscope buffers' })
vim.keymap.set('n', '<leader>fh', tscBuiltin.help_tags, { desc = 'tscope help tags' }) vim.keymap.set('n', '<leader>fh', tscBuiltin.help_tags, { desc = 'tscope help tags' })
@@ -133,14 +146,18 @@ vim.keymap.set("n", "<leader>ha", function() harpoon:list():add() end)
vim.keymap.set("n", "<leader>hA", function() harpoon:list():prepend() end) vim.keymap.set("n", "<leader>hA", function() harpoon:list():prepend() end)
vim.keymap.set("n", "<leader>hn", function() harpoon:list():next() end) vim.keymap.set("n", "<leader>hn", function() harpoon:list():next() end)
vim.keymap.set("n", "<leader>hp", function() harpoon:list():prev() end) vim.keymap.set("n", "<leader>hp", function() harpoon:list():prev() end)
vim.keymap.set("n", "<leader>hz", function() harpoon:list():select(1) end) vim.keymap.set("n", "<leader>hz", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<leader>hx", function() harpoon:list():select(2) end) vim.keymap.set("n", "<leader>hx", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<leader>hc", function() harpoon:list():select(3) end) vim.keymap.set("n", "<leader>hc", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<leader>hv", function() harpoon:list():select(4) end) vim.keymap.set("n", "<leader>hv", function() harpoon:list():select(4) end)
vim.keymap.set("n", "<leader>hb", function() harpoon:list():select(5) end)
vim.keymap.set("n", "<leader>hZ", function() harpoon:list():replace_at(1) end) vim.keymap.set("n", "<leader>hZ", function() harpoon:list():replace_at(1) end)
vim.keymap.set("n", "<leader>hX", function() harpoon:list():replace_at(2) end) vim.keymap.set("n", "<leader>hX", function() harpoon:list():replace_at(2) end)
vim.keymap.set("n", "<leader>hC", function() harpoon:list():replace_at(3) end) vim.keymap.set("n", "<leader>hC", function() harpoon:list():replace_at(3) end)
vim.keymap.set("n", "<leader>hV", function() harpoon:list():replace_at(4) end) vim.keymap.set("n", "<leader>hV", function() harpoon:list():replace_at(4) end)
vim.keymap.set("n", "<leader>hB", function() harpoon:list():replace_at(5) end)
-- undotree -- undotree
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)

View File

@@ -70,4 +70,8 @@ return {
require('bamboo').load() require('bamboo').load()
end, end,
}, },
{
dir = os.getenv('DIR_GIT_PROJECTS') .. "/other/omarchy-pina-theme/pina.nvim",
name = "pina",
},
} }

View File

@@ -119,10 +119,5 @@ return {
dependencies = { dependencies = {
"mfussenegger/nvim-dap", "mfussenegger/nvim-dap",
}, },
-- TODO: disabled by default, keymapping to toggle
-- config = function()
-- local dap_virtual_text = require("nvim-dap-virtual-text")
-- dap_virtual_text.setup()
-- end,
}, },
} }

View File

@@ -1,3 +1,7 @@
return { return {
"mbbill/undotree", "mbbill/undotree",
config = function()
vim.g.undotree_SplitWidth = 41
vim.g.undotree_DiffpanelHeight = 14
end,
} }

View File

@@ -5,10 +5,10 @@ export TERMINAL='ghostty'
# env vars used for my organization structure # env vars used for my organization structure
export DIR_HOME_BOX="$HOME/dbox" export DIR_HOME_BOX="$HOME/dbox"
export DIR_MUSIC="$DIR_HOME_BOX/media/music" export DIR_NOTES="$DIR_HOME_BOX/notes"
export DIR_MUSIC="$DIR_HOME_BOX/music/listen"
export DIR_DEV="$HOME/dev" export DIR_DEV="$HOME/dev"
export DIR_GIT_PROJECTS="$DIR_DEV/git" export DIR_GIT_PROJECTS="$DIR_DEV/git"
export DIR_NOTES="$DIR_HOME_BOX/notes"
# util dirs; do not change without checking impact on xdg base dirs # util dirs; do not change without checking impact on xdg base dirs
export DIR_LOCAL="$HOME/.local" export DIR_LOCAL="$HOME/.local"