Compare commits

..

3 Commits

36 changed files with 316 additions and 383 deletions

View File

@@ -12,22 +12,34 @@
- 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 (kitty? havoc?); shell; mpd, mpc, ncmpcpp; mpv
- config for: terminal (ghostty); shell; mpd, mpc, ncmpcpp; mpv - hyprland config and install on linux
- web browsers config and install
- get find, xargs, awk (use nawk) as unified as i can across system types
- decide on docker? or alternatives like podman? any license concerns? - decide on docker? or alternatives like podman? any license concerns?
- pick rss reader; newsboat? others? option with inbox and separate queues?
- decide if i even want a filemanager; if yes, pick one and configure
- decide what i'm doing for music streaming; spotify official? web? tui option?
- 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

@@ -7,6 +7,8 @@
exit 0 exit 0
} }
echo "---- settings vars for system type -----"
# determine OS and, if linux, distro # determine OS and, if linux, distro
[[ "$OSTYPE" = *"darwin"* ]] && setup_os="macos" || { [[ "$OSTYPE" = *"darwin"* ]] && setup_os="macos" || {
[[ "$OSTYPE" = *"linux"* ]] && setup_os="linux" && { [[ "$OSTYPE" = *"linux"* ]] && setup_os="linux" && {

View File

@@ -28,7 +28,7 @@ scripts_from_dir=($(find_scripts_in_dir "./installs_and_builds"))
scripts_from_dir+=($(find_scripts_in_dir "./installs_and_builds/work_placeholder")) scripts_from_dir+=($(find_scripts_in_dir "./installs_and_builds/work_placeholder"))
} }
echo "---- installing programs ---------------------------------------------" echo "---- installing programs ---------------"
echo "-------- for system types: $system_types_list" echo "-------- for system types: $system_types_list"
install_scripts_from_list "${scripts_from_dir[@]}" install_scripts_from_list "${scripts_from_dir[@]}"

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 \ htop
ripgrep
utils_package_name_pandoc="pandoc" utils_package_name_pandoc="pandoc"
case $BOX_SETUP_DISTRO in case $BOX_SETUP_DISTRO in

View File

@@ -1,5 +1,6 @@
#!/bin/zsh #!/bin/zsh
echo "---- making system dirs ----------------"
source ./src_files/.config/zsh/.zshenv # ensure env vars set for use below source ./src_files/.config/zsh/.zshenv # ensure env vars set for use below
# some standard/common directories, some overlap/use in XDG directories # some standard/common directories, some overlap/use in XDG directories
@@ -23,6 +24,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

@@ -1,3 +1,12 @@
# Manual steps needed after dotfile copy and/or installs # Manual steps needed after dotfile copy and/or installs
currently none, wooooo ## macOS
- skhd
- run `skhd --start-service`
- grant skhd permission in accessibility settings
- run `skhd --restart-service`
- aerospace
- grant aerospace permission in accessibility settings
- likely need system reboot before aerospace works

View File

@@ -4,20 +4,20 @@
idea from the ThePrimeagen: designated workspace/label/desktop per app/purpose idea from the ThePrimeagen: designated workspace/label/desktop per app/purpose
### current layout/plan ### current layout
| workspace number | wm layout/mode | | key | app/focus |
|--------------------------------------------------------------|------------------------| |-----|-----------|
| 1. notes (stack: nvim, obsidian) | stack | | 1. | notes (nvim, obsidian) |
| 2. music makeing - misc | stack | | 2. | music makeing - misc |
| 3. music making - daw | floating (workaround) | | 3. | music making - daw |
| 4. drawing (currently: gimp) | stack | | 4. | drawing (gimp) |
| 5. music/audio listening | stack | | 5. | music/audio listening |
| 6. comms (stack: emails, chats, av/calls) | stack | | 6. | comms (emails, chats, av/calls) |
| 7. web browser | stack | | 7. | web browser |
| 8. terminal (primary; one-offs & tui apps can be anywhere) | stack | | 8. | terminal (primary; one-off terminals & tui apps can be anywhere) |
| 9. programming - misc (whatever is not in terminal) | stack | | 9. | programming - misc (whatever is not in primary terminal) |
| 0. general - misc (catch-all) | stack | | 0. | general - misc (catch-all) |
### ideas/guidelines: ### ideas/guidelines:
- use this consistently accross all machines - use this consistently accross all machines

View File

@@ -0,0 +1,83 @@
#? Config file for btop v. 1.4.5
vim_keys = True # shift+h help, shift+k kill
log_level = "WARNING" #* opt: ERROR, WARNING, INFO, DEBUG
update_ms = 4000
show_battery = True
selected_battery = "Auto"
show_battery_watts = True
color_theme = "~/.config/btop/themes/theme.theme"
theme_background = False #* True: show theme background, False: needed for transparency
truecolor = True
rounded_corners = False
force_tty = False
#* graph options: default, block, tty, braille
graph_symbol = "braille"
graph_symbol_cpu = "default"
graph_symbol_mem = "default"
graph_symbol_net = "default"
graph_symbol_proc = "default"
#* presets boxname:pos:graph - pos (0, 1), graph (default, block, tty, braille)
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
shown_boxes = "proc mem net cpu" # opt: cpu mem net proc gpu0 gpu1 gpu2 gpu3 gpu4 gpu5
proc_sorting = "cpu lazy"
proc_reversed = False
proc_left = True
proc_tree = False
proc_colors = True #* cpu graph colors in proc list
proc_gradient = False
proc_per_core = False
proc_mem_bytes = True
proc_cpu_graphs = False
proc_info_smaps = False #* /proc/[pid]/smaps for proc memory info, accurate but slow
proc_filter_kernel = False
proc_aggregate = False #* aggregate child procs under parent in tree view
cpu_graph_upper = "user" #* opt: Auto, total, idle, system, user (maybe others per system)
cpu_graph_lower = "total"
cpu_invert_lower = False
cpu_single_graph = False
cpu_bottom = False
show_uptime = True
show_cpu_watts = True #* requires `make setcap`, `make setuid`, or sudo
check_temp = True
cpu_sensor = "Auto"
show_coretemp = True
cpu_core_map = "" #* form x:y x:y, x is core with wrong temp, y is core with correct temp
temp_scale = "celsius" #* opt: celsius, fahrenheit, kelvin, rankine
base_10_sizes = False #* False to use KiB = 1024, True to use KB = 1000
show_cpu_freq = True
clock_format = "%H /host"
background_update = True #* set False if menu flicker
custom_cpu_name = ""
#* disks_filter: mountpoint full paths; can prepend exclude= to show all non-matches
disks_filter = ""
mem_graphs = True #* True for graphs, False for meters
mem_below_net = False #* mem box below net box
zfs_arc_cached = True #* cached and available mem include ZFS ARC
show_swap = True
swap_disk = True #* swap as a disk, overrides show_swap setting
show_disks = True
only_physical = True #* True for physical disks only, False includes network/RAM/etc
use_fstab = True #* disks from /etc/fstab, overrides only_physical value
zfs_hide_datasets = False #* hide datasets and show zfs pools instead
disk_free_priv = False #* show free space for privileged users
show_io_stat = True
io_mode = False #* show big graphs for disk read/write
io_graph_combined = False #* graph shows combined read/write
io_graph_speeds = "" #* graph top speed in MiB/s (default 100), format "mountpoint:speed"
net_download = 100 #* network graph fixed values, Mebibits, only used if net_auto False
net_upload = 100
net_auto = True #* graph auto rescaling mode, ignores net_download and net_upload values
net_sync = True #* sync download/upload, auto scale to highest
net_iface = "" #* start with this interface
base_10_bitrate = "Auto"

View File

@@ -0,0 +1 @@
placeholder, will be replaced with symlink during copy_dotfiles.sh

View File

@@ -47,6 +47,48 @@
(dash-offset 0) (dash-offset 0)
(dash-info 0) (dash-info 0)
(emulate-brush-dynamics no)) (emulate-brush-dynamics no))
(default-view
(show-menubar yes)
(show-statusbar no)
(show-rulers no)
(show-scrollbars yes)
(show-selection yes)
(show-layer-boundary no)
(show-canvas-boundary yes)
(show-guides yes)
(show-grid no)
(show-sample-points yes)
(snap-to-guides yes)
(snap-to-grid no)
(snap-to-canvas no)
(snap-to-path no)
(snap-to-bbox no)
(snap-to-equidistance no)
(padding-mode default)
(padding-color
(color "R'G'B'A float" 16 "\1\0\200\77\1\0\200\77\1\0\200\77\0\0\200\77" 0))
(padding-in-show-all no))
(default-fullscreen-view
(show-menubar yes)
(show-statusbar no)
(show-rulers no)
(show-scrollbars yes)
(show-selection yes)
(show-layer-boundary no)
(show-canvas-boundary yes)
(show-guides yes)
(show-grid no)
(show-sample-points yes)
(snap-to-guides yes)
(snap-to-grid no)
(snap-to-canvas no)
(snap-to-path no)
(snap-to-bbox no)
(snap-to-equidistance no)
(padding-mode default)
(padding-color
(color "R'G'B'A float" 16 "\1\0\200\77\1\0\200\77\1\0\200\77\0\0\200\77" 0))
(padding-in-show-all no))
# end of gimprc # end of gimprc

View File

@@ -1,3 +1,4 @@
(file-version 1) (file-version 1)
(action "windows-hide-docks" "<Shift><Control>d") (action "view-show-rulers" "<Shift><Control>r")
(action "view-zoom-fit-in" "<Shift><Control>f") (action "view-zoom-fit-in" "<Shift><Control>f")
(action "windows-hide-docks" "<Shift><Control>d")

View File

@@ -0,0 +1,54 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.4.1
config_reader_min_version=3
fields=0 48 17 18 38 39 2 46 47 49 1
hide_kernel_threads=1
hide_userland_threads=0
hide_running_in_container=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
header_margin=1
screen_tabs=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
show_cached_memory=1
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=1
enable_mouse=1
delay=40
hide_function_bar=0
header_layout=two_50_50
column_meters_0=Battery DateTime Hostname System Uptime Blank AllCPUs2 AllCPUs8 Blank
column_meter_modes_0=1 2 2 2 2 2 1 3 2
column_meters_1=Tasks LoadAverage Blank Memory Swap MemorySwap Blank DiskIO FileDescriptors Blank NetworkIO NetworkIO
column_meter_modes_1=2 2 2 1 1 3 2 2 2 2 2 3
tree_view=0
sort_key=47
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_MEM
.tree_sort_key=PID
.tree_view_always_by_pid=0
.tree_view=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

View File

@@ -4,7 +4,7 @@ local csgAutocmd = vim.api.nvim_create_autocmd
require("settings") require("settings")
require("plugin_manager") require("plugin_manager")
require("key_mappings") require("key_mappings")
require("theme") require("colorscheme_settings")
csgAutocmd({"BufWritePre"}, { csgAutocmd({"BufWritePre"}, {
group = csGroup, group = csGroup,

View File

@@ -0,0 +1,17 @@
local defaultColorScheme = "tokyodark"
function SetColorSchemeWrapper(scheme)
scheme = scheme or defaultColorScheme
vim.cmd.colorscheme(scheme)
end
SetColorSchemeWrapper(defaultColorScheme)
--
-- SetColorSchemeWrapper("tokyodark")
-- SetColorSchemeWrapper("tokyonight-night")
-- SetColorSchemeWrapper("bamboo-vulgaris")
-- SetColorSchemeWrapper("rose-pine-main")
-- SetColorSchemeWrapper("gruvbox")
-- SetColorSchemeWrapper("slate")
-- SetColorSchemeWrapper("sorbet")

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,9 +52,19 @@ 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 set mappings
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz") -- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz") -- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
@@ -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

@@ -22,13 +22,8 @@ vim.opt.rtp:prepend(path_lazy_nvim)
require("lazy").setup({ require("lazy").setup({
spec = { spec = {
{ import = "plugins_lazy" }, { import = "plugins_lazy" },
}, },
checker = { enabled = false }, checker = { enabled = false },
change_detection = { notify = false }, change_detection = { notify = false },
dev = {
path = "~/dev/git/other/omarchy/plugins",
patterns = { 'LazyVim' },
fallback = false,
},
}) })

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

@@ -1,31 +0,0 @@
local defaultColorScheme = "tokyodark"
-- local defaultColorScheme = "tokyonight-night"
-- local defaultColorScheme = "bamboo-vulgaris"
-- local defaultColorScheme = "rose-pine-main"
-- local defaultColorScheme = "gruvbox"
-- local defaultColorScheme = "slate"
-- local defaultColorScheme = "sorbet"
local ok, theme_specs = pcall(dofile, (os.getenv('DIR_CURRENT_THEME') or "") .. "/neovim.lua")
if not ok then
vim.notify(
'current theme file not found, using default: ' .. defaultColorScheme,
vim.log.levels.INFO
)
vim.cmd.colorscheme(defaultColorScheme)
return
end
local first = theme_specs[1]
local plugin_name = (type(first.name) == 'string' and first.name)
or (type(first[1]) == 'string' and first[1]:match('.*/(.*)'))
or 'plugin_name_not_found'
local last = theme_specs[#theme_specs]
local colorscheme = ((type(last.opts) == 'table' and type(last.opts.colorscheme) == 'string') and last.opts.colorscheme)
or plugin_name:gsub("%.%w+$", "")
colorscheme = (colorscheme == 'plugin_name_not_found' and defaultColorScheme)
or colorscheme
vim.cmd.colorscheme(colorscheme)

View File

@@ -1,5 +1,9 @@
{ {
"theme": "obsidian", "theme": "obsidian",
"accentColor": "#2f930e", "accentColor": "#2f930e",
"baseFontSize": 18 "baseFontSize": 18,
"enabledCssSnippets": [
"theme-transparency"
],
"translucency": false
} }

View File

@@ -0,0 +1,18 @@
.custom-frames-frame,
.view-header,
.view-header-title-container,
.workspace-leaf,
.is-focused .workspace-leaf.mod-active .view-header,
.workspace-split.mod-root,
.workspace-split.mod-root .view-content,
.workspace-split.mod-root .view-header,
.workspace-tab-header-container {
background: transparent !important;
}
.app-container {
background: rgba(0, 0, 0, 0.7) !important;
}
svg.canvas-background {
display: none !important;
}

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"
@@ -26,6 +26,9 @@ export XDG_STATE_HOME="$DIR_LOCAL/state"
export XDG_DATA_DIRS="/usr/local/share:/usr/share" export XDG_DATA_DIRS="/usr/local/share:/usr/share"
#export XDG_CONFIG_DIRS="/etc/xdg" # TODO: does this work on macOS? #export XDG_CONFIG_DIRS="/etc/xdg" # TODO: does this work on macOS?
# directory for theme/style stuff
export DIR_THEME_SETTINGS="$XDG_CONFIG_HOME/this-box-theme"
# zsh # zsh
export ZDOTDIR="$XDG_CONFIG_HOME/zsh" # may already be set, set anyway export ZDOTDIR="$XDG_CONFIG_HOME/zsh" # may already be set, set anyway

View File

@@ -12,9 +12,9 @@ tmux_hydrate() {
tmux_existing_sessions=$(tmux list-sessions 2> /dev/null || echo '') tmux_existing_sessions=$(tmux list-sessions 2> /dev/null || echo '')
tmux_search_dirs=( tmux_search_dirs=(
$DIR_HOME_BOX
$DIR_DEV
$DIR_GIT_PROJECTS/* $DIR_GIT_PROJECTS/*
$DIR_DEV
$DIR_HOME_BOX
) )
tmux_target_name='' tmux_target_name=''
tmux_target_path='' tmux_target_path=''

View File

@@ -1,68 +0,0 @@
return {
{
"ellisonleao/gruvbox.nvim",
name = "gruvbox",
-- lazy = false,
-- priority = 1000,
opts = {
terminal_colors = true, -- add neovim terminal colors
undercurl = true,
underline = true,
bold = true,
italic = {
strings = true,
emphasis = true,
comments = true,
operators = false,
folds = true,
},
strikethrough = true,
invert_selection = false,
invert_signs = false,
invert_tabline = false,
inverse = true, -- invert background for search, diffs, statuslines and errors
contrast = "", -- "hard", "soft", or ""
palette_overrides = {},
overrides = {},
dim_inactive = false,
transparent_mode = false,
},
},
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {
style = "night", -- "night", "storm", "moon", "day"
styles = {
functions = {} -- disable italic for functions
},
on_colors = function(colors)
colors.hint = colors.orange
colors.error = "#ff0000"
colors.fg_gutter = "#9098B8"
end,
},
},
{
"tiagovla/tokyodark.nvim",
lazy = false,
priority = 1000,
opts = {
custom_highlights = function(highlights, _palette)
highlights.Comment['fg'] = "#8a9097"
highlights.LineNr['fg'] = "#8088A8"
return highlights
end,
},
},
{
'ribru17/bamboo.nvim',
-- lazy = false,
-- priority = 1000,
config = function()
require('bamboo').setup { }
require('bamboo').load()
end,
},
}

View File

@@ -1,11 +0,0 @@
return {
{
'ribru17/bamboo.nvim',
-- lazy = false,
-- priority = 1000,
config = function()
require('bamboo').setup { }
require('bamboo').load()
end,
},
}

View File

@@ -1,19 +0,0 @@
return {
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
require("catppuccin").setup({
flavour = "latte", -- other options: "mocha", "frappe", "macchiato"
})
vim.cmd.colorscheme("catppuccin-latte")
end,
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin-latte",
},
},
}

View File

@@ -1,15 +0,0 @@
return {
{
"neanias/everforest-nvim",
opts = {
background = "soft",
},
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "everforest",
background = "soft",
},
},
}

View File

@@ -1,31 +0,0 @@
return {
{
"ellisonleao/gruvbox.nvim",
name = "gruvbox",
-- lazy = false,
-- priority = 1000,
opts = {
terminal_colors = true, -- add neovim terminal colors
undercurl = true,
underline = true,
bold = true,
italic = {
strings = true,
emphasis = true,
comments = true,
operators = false,
folds = true,
},
strikethrough = true,
invert_selection = false,
invert_signs = false,
invert_tabline = false,
inverse = true, -- invert background for search, diffs, statuslines and errors
contrast = "", -- "hard", "soft", or ""
palette_overrides = {},
overrides = {},
dim_inactive = false,
transparent_mode = false,
},
},
}

View File

@@ -1,9 +0,0 @@
return {
{ "tahayvr/matteblack.nvim", lazy = false, priority = 1000 },
{
"LazyVim/LazyVim",
opts = {
colorscheme = "matteblack",
},
},
}

View File

@@ -1,9 +0,0 @@
return {
{ "EdenEast/nightfox.nvim" },
{
"LazyVim/LazyVim",
opts = {
colorscheme = "nordfox",
},
},
}

View File

@@ -1,14 +0,0 @@
return {
{
"tiagovla/tokyodark.nvim",
lazy = false,
priority = 1000,
opts = {
custom_highlights = function(highlights, _palette)
highlights.Comment['fg'] = "#8a9097"
highlights.LineNr['fg'] = "#8088A8"
return highlights
end,
},
},
}

View File

@@ -1,18 +0,0 @@
return {
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {
style = "night", -- "night", "storm", "moon", "day"
styles = {
functions = {} -- disable italic for functions
},
on_colors = function(colors)
colors.hint = colors.orange
colors.error = "#ff0000"
colors.fg_gutter = "#9098B8"
end,
},
},
}

View File

@@ -1,14 +0,0 @@
return {
{
"tiagovla/tokyodark.nvim",
lazy = false,
priority = 1000,
opts = {
custom_highlights = function(highlights, _palette)
highlights.Comment['fg'] = "#8a9097"
highlights.LineNr['fg'] = "#8088A8"
return highlights
end,
},
},
}

View File

@@ -1,8 +0,0 @@
local M = {}
M.opts = {}
function M.setup(opts)
end
return M

View File

@@ -1,86 +0,0 @@
#!/bin/bash
# OMARCHY_CURRENT_THEME_NEOVIM="~/.config/omarchy/current/theme/neovim.lua"
OMARCHY_CURRENT_THEME_NEOVIM="./neovim.lua"
if [[ ! -f "$OMARCHY_CURRENT_THEME_NEOVIM" ]]; then
echo "neovim theme not found for live update: $OMARCHY_CURRENT_THEME_NEOVIM" >&2
exit 1
fi
read -r plugin_name colorscheme_name <<< "$(
nvim -l <(cat << NESTED_LUA_BLOCK
local ok, plugins = pcall(dofile, '${OMARCHY_CURRENT_THEME_NEOVIM}')
if not ok then
print('ERROR: could not load neovim theme file for live update')
os.exit(1)
end
local first = plugins[1]
local plugin_name = (type(first.name) == 'string' and first.name)
or (type(first[1]) == 'string' and first[1]:match('.*/(.*)'))
or 'plugin_name_not_found'
if plugin_name == 'plugin_name_not_found' then
print('ERROR: could not detect neovim theme plugin for live update')
os.exit(1)
end
local last = plugins[#plugins]
local colorscheme = ((type(last.opts) == 'table' and type(last.opts.colorscheme) == 'string') and last.opts.colorscheme)
or plugin_name:gsub("%.%w+$", "")
vim.print(plugin_name .. " " .. colorscheme)
NESTED_LUA_BLOCK
) > /dev/stdout 2>&1 | tr -d '\r'
)"
nvim --headless +"lua require(\"lazy\").install({ show = false, wait = true })" +q > /dev/null 2>&1
nvim_stdpath_run=$(dirname $(nvim -l <(echo "vim.cmd.echo('stdpath(\"run\")')") > /dev/stdout 2>&1))
find "$nvim_stdpath_run" -type s -name "nvim*" 2> /dev/null |
while IFS= read -r nvim_server; do
# echo "running for $nvim_server"
timeout 2s nvim --server "$nvim_server" \
--remote-expr "execute('lua require(\"lazy\").install({ show = false, wait = true })')" \
> /dev/null 2>&1
timeout 4s nvim --server "$nvim_server" \
--remote-expr "execute('lua require(\"lazy\").load({ show = false, wait = true, plugins = { \"$plugin_name\" } })')" \
> /dev/null 2>&1
timeout 2s nvim --server "$nvim_server" \
--remote-expr "execute('colorscheme $colorscheme_name')" \
> /dev/null 2>&1
# echo "finished for $nvim_server"
done
##########################################################################################
# ln -snf ~/dev/git/other/omarchy/neovim.lua ~/.config/nvim/lua/plugins_lazy/colorschemes.lua
# ref only
# lua require("lazy").install({ show = false, wait = true })
# lua require("lazy").load({ show = false, wait = true, plugins = { "nightfox.nvim" } })
# lua require("lazy").build({ show = false, wait = true, plugins = { name = "tokyonight.nvim" } })
# lua require("lazy").reload({ show = false, wait = true, plugins = { name = "tokyonight.nvim" } })
# get neovim theme file, parse as lua? load the tables and get first value in each, as well as a name if one is set
# if name is set, that is plugin name which lazy.nvim knows, if not, then take the value after the / in the git repo name
# also, in the final table, parse out the colorscheme value, that is what needs to be passed to my loop below
# if none is present, then default to the plugin name from above, but trim off any .suffix like .nvim
# # nvim_sockets=$(find /var/folders -type s -user "$USERNAME" -name "nvim*" -path "*nvim.$USERNAME*" 2> /dev/null)
# nvim_sockets=$(find /var/folders -type s -name "nvim*" -path "*nvim.*" 2> /dev/null)
# # for s in "${nvim_sockets[@]}"; do
# for s in $nvim_sockets; do
# echo "will run for $s"
# # nvim --server "$s" --remote-expr "execute('colorscheme $1')"
# done
# find /var/folders -type s -name "nvim*" -path "*nvim.*" 2> /dev/null | while IFS= read -r server; do
# nvim -l <(echo "vim.cmd.echo('stdpath(\"run\")')") > /dev/stdout 2>&1 |
# dirname $@ |
# find $@ -type s -name "nvim*" 2> /dev/null |
# while IFS= read -r server; do
# timeout 0.5s nvim --server "$server" --remote-expr "execute('colorscheme $1')" > /dev/null 2>&1
# done