Compare commits

...

46 Commits

Author SHA1 Message Date
Anthony Oteri 782db4970c feat(opencode): add opencode.json
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-04-29 10:29:29 -04:00
Anthony Oteri e67b7b173c chore(nvim): update lazy-lock file
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-04-29 10:27:32 -04:00
Anthony Oteri 414c68c6a0 feat(zsh): add google cloud integration
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-04-29 10:27:05 -04:00
Anthony Oteri bb13297bf0 fix(tmux): adjust mouse wheel scroll speed
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-04-29 10:26:50 -04:00
Anthony Oteri 7008bd9895 fix(ghostty): set TERM environment variable to xterm-256color
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-04-29 10:26:17 -04:00
Anthony Oteri 50632db60d fix(ghostty): just use dark mode
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-16 08:05:35 -04:00
Anthony Oteri 7e64c92952 feat: switch everything to catppuccin-mocha
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-15 14:58:07 -04:00
Anthony Oteri 1ee9a0612e fix(lazygit): fix display issues
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-12 08:12:56 -04:00
Anthony Oteri 1afd770d70 fix(ghostty): shell-integration fixes
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-12 08:12:32 -04:00
Anthony Oteri 437895a732 fix(lazygit): clean up configuration
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-11 11:32:14 -04:00
Anthony Oteri b5d91fff53 feat(ghostty): update font
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-11 11:31:57 -04:00
Anthony Oteri 7fad0b791b feat(lazygit): update configuration
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-11 08:22:40 -04:00
Anthony Oteri c7864a4419 fix: remove nvim config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-11 08:18:57 -04:00
Anthony Oteri 7f772fb12e feat(ghostty): change theme
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-11 08:18:21 -04:00
Anthony Oteri 51863c443a fix: remove breaking configuration option
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-11 08:18:08 -04:00
Anthony Oteri 9d4f2f8521 fix: configure dotenv in zshrc
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:28:35 -04:00
Anthony Oteri f34d38bb14 fix: enable updateRefs and fetch properties in gitconfig
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:28:18 -04:00
Anthony Oteri 789a48ecc4 feat: update tmux config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:27:55 -04:00
Anthony Oteri 4db79927de feat: update oh-my-posh config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:27:46 -04:00
Anthony Oteri f5d8915f85 fix: update lazyvim config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:27:35 -04:00
Anthony Oteri b338f35a15 feat: add ghostty config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:27:26 -04:00
Anthony Oteri 9e8ca3ee17 feat: update btop config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-03-10 19:27:17 -04:00
Anthony Oteri fa8928aa08 deps: update oh-my-posh
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2026-01-07 08:49:51 -05:00
Anthony Oteri 573b623c2a feat: rustup zsh integration
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2025-12-02 15:16:43 -05:00
Anthony Oteri a918bf5a0c feat: optimize the .ssh/config file
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2025-11-10 09:09:58 -05:00
Anthony Oteri 7ab7172424 feat: optimize gitconfig
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2025-11-10 08:01:48 -05:00
Anthony Oteri 6ad478aa80 feat: add alias for lazygit to use the correct config file
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2025-11-08 12:13:41 -05:00
Anthony Oteri 067f864373 feat: add lazygit config
Signed-off-by: Anthony Oteri <4360016+anthonyoteri@users.noreply.github.com>
2025-11-08 12:13:14 -05:00
Anthony Oteri 4558617127 docs: update readme 2025-11-08 11:56:50 -05:00
Anthony Oteri a3cf3d1d0c feat: optimize topgrade configuration 2025-11-08 11:56:44 -05:00
Anthony Oteri 53029f1070 feat: update btop configuration 2025-11-08 11:56:37 -05:00
Anthony Oteri a62f1ebd2c feat: improve tmux config 2025-11-08 11:42:51 -05:00
Anthony Oteri af6dc8195f feat: adjust prompt configuration 2025-11-08 11:38:13 -05:00
Anthony Oteri b3eee10269 feat: improve kitty config for efficiency, performance, and readability 2025-11-08 11:33:32 -05:00
Anthony Oteri c2aafeaafe feat: optimize zsh with lazy-loading, and other improvements 2025-11-08 11:27:40 -05:00
Anthony Oteri 0e2cc815b2 deps: minor updates from upstream packages 2025-11-03 17:04:57 -05:00
Anthony Oteri a49433e28b feat: use double-line for tmux borders 2025-09-20 14:47:18 -04:00
Anthony Oteri d23a1feb99 feat: additional plugins and opions for tmux 2025-09-18 07:56:52 -04:00
Anthony Oteri dd087379d9 feat: use gpg-agent for ssh-agent 2025-09-18 07:56:33 -04:00
Anthony Oteri fd1c366381 feat: add .config/tmux/tmux.conf 2025-09-17 20:34:46 -04:00
Anthony Oteri 9b85a097a0 fix: set xterm-256color as the default kitty TERM variable 2025-09-17 20:34:33 -04:00
Anthony Oteri 51e81d66c8 feat: update topgrade configuration 2025-09-16 21:08:14 -04:00
Anthony Oteri a4e83fe3a6 core: remove lazy-lock.json from being tracked 2025-09-16 20:51:00 -04:00
Anthony Oteri 717dd45e00 chore: update lazy-lock.json 2025-09-16 18:14:43 -04:00
Anthony Oteri 92f233f3b6 chore: update nvim lazy-lock 2025-09-12 20:59:16 -04:00
Anthony Oteri 6d637a2aca feat: add newline in oh-my-posh prompt 2025-09-12 20:58:56 -04:00
21 changed files with 901 additions and 598 deletions
+62 -50
View File
@@ -1,18 +1,18 @@
#? Config file for btop v. 1.4.4
#? Config file for btop v.1.4.6
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default"
color_theme = "gruvbox"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
theme_background = true
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
truecolor = true
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
force_tty = false
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
@@ -22,29 +22,32 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
vim_keys = true
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
rounded_corners = true
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
terminal_sync = true
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
graph_symbol = "block"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
graph_symbol_cpu = "block"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
graph_symbol_mem = "block"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
graph_symbol_net = "block"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
graph_symbol_proc = "block"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc"
@@ -57,37 +60,40 @@ update_ms = 2000
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
proc_reversed = false
#* Show processes as a tree.
proc_tree = False
proc_tree = false
#* Use the cpu graph colors in the process list.
proc_colors = True
proc_colors = true
#* Use a darkening gradient in the process list.
proc_gradient = True
proc_gradient = true
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
proc_per_core = false
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
proc_mem_bytes = true
#* Show cpu graph for each process.
proc_cpu_graphs = True
proc_cpu_graphs = true
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
proc_info_smaps = false
#* Show proc box on left side of screen instead of right.
proc_left = False
proc_left = false
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
proc_filter_kernel = false
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
proc_aggregate = false
#* Should cpu and memory usage display be preserved for dead processes when paused.
keep_dead_proc_usage = false
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
@@ -98,25 +104,28 @@ cpu_graph_upper = "Auto"
cpu_graph_lower = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
cpu_invert_lower = true
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
cpu_single_graph = false
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
cpu_bottom = false
#* Shows the system uptime in the CPU box.
show_uptime = True
show_uptime = true
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = true
#* Show cpu temperature.
check_temp = True
check_temp = true
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
show_coretemp = true
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
@@ -128,17 +137,17 @@ cpu_core_map = ""
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
base_10_sizes = false
#* Show CPU frequency.
show_cpu_freq = True
show_cpu_freq = true
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
background_update = true
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
@@ -148,43 +157,43 @@ custom_cpu_name = ""
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
mem_graphs = true
#* Show mem box below net box instead of above.
mem_below_net = False
mem_below_net = false
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
zfs_arc_cached = true
#* If swap memory should be shown in memory box.
show_swap = True
show_swap = true
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
swap_disk = true
#* If mem box should be split to also show disks info.
show_disks = True
show_disks = true
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
only_physical = true
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
use_fstab = true
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
zfs_hide_datasets = false
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
disk_free_priv = false
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
show_io_stat = true
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
io_mode = false
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
io_graph_combined = false
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
@@ -196,10 +205,10 @@ net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
net_auto = true
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
net_sync = true
#* Starts with the Network Interface specified here.
net_iface = ""
@@ -208,14 +217,17 @@ net_iface = ""
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = True
show_battery = true
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
show_battery_watts = true
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Automatically save current settings to config file on exit.
save_config_on_exit = true
+1
View File
@@ -0,0 +1 @@
eza/catppuccin-mocha-mauve.yaml
+1
View File
@@ -0,0 +1 @@
+10
View File
@@ -0,0 +1,10 @@
theme = catppuccin mocha
font-family = "JetBrainsMonoNL Nerd Font Mono"
font-size = 14
copy-on-select = clipboard
background-opacity = 0.9
background-blur = 90
adjust-cell-height = 5%
window-colorspace = "display-p3"
shell-integration-features = cursor,sudo,title,ssh-env,ssh-terminfo,path
term = xterm-256color
+18 -5
View File
@@ -1,3 +1,5 @@
# Enable GPU rendering for performance
enable_gpu_renderer yes
# vim:fileencoding=utf-8:foldmethod=marker
#: Fonts {{{
@@ -19,8 +21,11 @@
#: fonts manually, read the font specification syntax
#: <https://sw.kovidgoyal.net/kitty/kittens/choose-fonts/#font-spec-
#: syntax>.
# font_family Hack
# Recommended: FiraCode or JetBrains Mono for ligatures
font_family FiraCode
font_size 15.0
# Add padding for readability
window_padding_width 8
# font_size 11.0
#: Font size (in pts).
@@ -71,7 +76,7 @@ font_size 15.0
#: narrow_symbols codepoints [optionally the number of cells]
# disable_ligatures never
disable_ligatures never
#: Choose how you want to handle multi-character ligatures. The
#: default is to always render them. You can tell kitty to not render
@@ -376,6 +381,14 @@ font_size 15.0
#: Scrollback {{{
# scrollback_lines 2000
# Fast scrolling and mouse support
scrollback_lines 5000
wheel_scroll_multiplier 5.0
wheel_scroll_min_lines 1
touch_scroll_multiplier 1.0
detect_urls yes
copy_on_select clipboard
mouse_map middle release ungrabbed paste_from_selection
#: Number of lines of history to keep in memory for scrolling back.
#: Memory is allocated on demand. Negative numbers are (effectively)
@@ -1232,7 +1245,7 @@ tab_bar_style powerline
#: The maximum number of cells that can be used to render the text in
#: a tab. A value of zero means that no limit is applied.
# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{tab.last_focused_progress_percent}{title}"
tab_title_template "{index}:{title} [{tab.active_wd}]@{hostname}"
#: A template to render the tab title. The default just renders the
#: title with optional symbols for bell and activity. If you wish to
@@ -1314,7 +1327,7 @@ tab_bar_style powerline
#: Color scheme {{{
# foreground #dddddd
# background #000000
# background #181825
#: The foreground and background colors.
@@ -1872,7 +1885,7 @@ tab_bar_style powerline
#: # Do not clear previous notification when next command finishes or window regains focus
#: notify_on_cmd_finish invisible 5.0 notify
# term xterm-kitty
term xterm-256color
#: The value of the TERM environment variable to set. Changing this
#: can break many terminal programs, only change it if you know what
+130
View File
@@ -0,0 +1,130 @@
gui:
scrollHeight: 2
scrollPastBottom: true
scrollOffMargin: 2
scrollOffBehavior: margin
tabWidth: 4
mouseEvents: true
skipAmendWarning: false
skipDiscardChangeWarning: false
skipStashWarning: false
skipNoStagedFilesWarning: false
skipRewordInEditorWarning: false
skipSwitchWorktreeOnCheckoutWarning: false
sidePanelWidth: 0.4
expandFocusedSidePanel: true
expandedSidePanelWeight: 3
mainPanelSplitMode: flexible
enlargedSideViewLocation: left
wrapLinesInStagingView: true
useHunkModeInStagingView: true
commitLength:
show: true
showListFooter: true
showFileTree: true
showRootItemInFileTree: false
showNumstatInFilesView: false
showRandomTip: false
showCommandLog: false
showBottomLine: true
showPanelJumps: true
showIcons: true
nerdFontsVersion: ""
showFileIcons: true
commitAuthorShortLength: 2
commitAuthorLongLength: 17
commitHashLength: 8
showBranchCommitHash: false
showDivergenceFromBaseBranch: none
commandLogSize: 8
splitDiff: auto
screenMode: normal
border: rounded
animateExplosion: true
portraitMode: auto
filterMode: substring
statusPanelView: dashboard
switchToFilesAfterStashPop: true
switchToFilesAfterStashApply: true
switchTabsWithPanelJumpKeys: false
theme:
activeBorderColor:
- '#89b4fa'
- bold
inactiveBorderColor:
- '#a6adc8'
optionsTextColor:
- '#89b4fa'
selectedLineBgColor:
- '#313244'
cherryPickedCommitBgColor:
- '#45475a'
cherryPickedCommitFgColor:
- '#89b4fa'
unstagedChangesColor:
- '#f38ba8'
defaultFgColor:
- '#cdd6f4'
searchingActiveBorderColor:
- '#f9e2af'
authorColors:
'*': '#b4befe'
git:
diffCommand: "delta --dark --paging=always"
fzfIntegration: true
pagers: []
commit:
signOff: true
gpgSign: true
autoWrapCommitMessage: true
autoWrapWidth: 72
merging:
manualCommit: false
args: ""
squashMergeMessage: Squash merge {{selectedRef}} into {{currentBranch}}
mainBranches:
- master
- main
skipHookPrefix: WIP
autoFetch: true
autoRefresh: true
autoForwardBranches: onlyMainBranches
fetchAll: true
autoStageResolvedConflicts: true
branchLogCmd: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --
allBranchesLogCmds:
- git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium
ignoreWhitespaceInDiffView: false
diffContextSize: 3
renameSimilarityThreshold: 50
overrideGpg: false
disableForcePushing: false
commitPrefix: []
commitPrefixes: {}
branchPrefix: ""
parseEmoji: false
log:
order: topo-order
showGraph: always
showWholeGraph: false
localBranchSortOrder: date
remoteBranchSortOrder: date
truncateCopiedCommitHashesTo: 12
paging:
colorArg: always
pager: delta --dark --paging=never --syntax-theme base16-256 -s
update:
method: prompt
days: 14
refresher:
refreshInterval: 10
fetchInterval: 60
confirmOnQuit: false
quitOnTopLevelReturn: false
disableStartupPopups: false
customCommands: []
services: {}
notARepository: prompt
promptToReturnFromSubprocess: false
+54 -32
View File
@@ -1,37 +1,59 @@
{
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
"LazyVim": { "branch": "main", "commit": "fca0af57cc3851b14f96a795a9c9bfafc5096dd1" },
"SchemaStore.nvim": { "branch": "main", "commit": "157fa3f37a3be55ceb375274e2f3ea2d7d2f9ef6" },
"blink-copilot": { "branch": "main", "commit": "7ad8209b2f880a2840c94cdcd80ab4dc511d4f39" },
"blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" },
"conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"fzf-lua": { "branch": "main", "commit": "cb6ef028cacc1d855d152917993fefd12300f24e" },
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
"grug-far.nvim": { "branch": "main", "commit": "50d9ee2b5a19634670441948e7e4afaa042f1059" },
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.ai": { "branch": "main", "commit": "45a26d032d8703f280c69c2ed9fb4e1bfc8f24f9" },
"mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" },
"mini.pairs": { "branch": "main", "commit": "3738ea30ff33e0cbf2983dc67319a5468d25b0a9" },
"neo-tree.nvim": { "branch": "main", "commit": "e01ca7de8e6dbc6118bcb12c4cbe1f88162a337f" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"catppuccin": { "branch": "main", "commit": "384f304c8b04664c9e0091fbfb3923c5f97c1bcf" },
"cmake-tools.nvim": { "branch": "master", "commit": "b3a5d4d3e889d0f8f0c94ccd910407c6ce466b25" },
"conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" },
"copilot.lua": { "branch": "master", "commit": "8e2a91828210d6043744468f6d7027d256a41f42" },
"crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" },
"dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" },
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"fzf-lua": { "branch": "main", "commit": "6e41ba7505f35a6f054ca682b043aa0cea36c2ef" },
"gh.nvim": { "branch": "main", "commit": "6f367b2ab8f9d4a0a23df2b703a3f91137618387" },
"gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" },
"grug-far.nvim": { "branch": "main", "commit": "dc4684e163971bb1f5bfb93fbd4bb3e892bf9b15" },
"inc-rename.nvim": { "branch": "main", "commit": "0074b551a17338ccdcd299bd86687cc651bcb33d" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"litee.nvim": { "branch": "main", "commit": "4efaf373322d9e71eaff31164abb393417cc6f6a" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "a676ab7282da8d651e175118bcf54483ca11e46d" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"mini.ai": { "branch": "main", "commit": "4b0a6207341d895b6cfe9bcb1e4d3e8607bfe4f4" },
"mini.hipatterns": { "branch": "main", "commit": "2c5dce6dc7443de814d16f7470549811ee86e664" },
"mini.icons": { "branch": "main", "commit": "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e" },
"mini.pairs": { "branch": "main", "commit": "b7fde3719340946feb75017ef9d75edebdeb0566" },
"neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" },
"neotest-golang": { "branch": "main", "commit": "58d07a76d714f8f768bbe27711b06d41ca237728" },
"neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" },
"neotest-zig": { "branch": "main", "commit": "de63f3b9a182d374d2e71cf44385326682ec90e7" },
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-lint": { "branch": "master", "commit": "f126af5345c7472e9a0cdbe1d1a29209be72c4c4" },
"nvim-lspconfig": { "branch": "master", "commit": "d89f4891f0720cd2598e4bdd60010d8784b2ac8a" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
"nvim-ansible": { "branch": "main", "commit": "c7f595d568b588942d4d0c37b5cd6cae3764a148" },
"nvim-lint": { "branch": "master", "commit": "606b823a57b027502a9ae00978ebf4f5d5158098" },
"nvim-lspconfig": { "branch": "master", "commit": "dd261ad5266ab5bbec249d21efeceda98ff3e1a6" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-treesitter": { "branch": "main", "commit": "ebc3201290b8372df2b3a1c23b71b9f007d972ff" },
"nvim-treesitter-textobjects": { "branch": "main", "commit": "4e91b5d0394329a229725b021a8ea217099826ef" },
"nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" },
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
"render-markdown.nvim": { "branch": "main", "commit": "e3c18ddd27a853f85a6f513a864cf4f2982b9f26" },
"rustaceanvim": { "branch": "master", "commit": "f2f0c1231a5b019dbc1fd6dafac1751c878925a3" },
"snacks.nvim": { "branch": "main", "commit": "a049339328e2599ad6e85a69fa034ac501e921b2" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
"venv-selector.nvim": { "branch": "main", "commit": "42e8faadf9b819654f29eb1a785797a3a328f301" },
"vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" },
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
"vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
"yanky.nvim": { "branch": "main", "commit": "784188e0a7363e762e53140f39124d786aec0832" }
}
+27 -3
View File
@@ -1,10 +1,34 @@
{
"extras": [
"lazyvim.plugins.extras.ai.copilot",
"lazyvim.plugins.extras.coding.yanky",
"lazyvim.plugins.extras.editor.dial",
"lazyvim.plugins.extras.editor.fzf",
"lazyvim.plugins.extras.editor.inc-rename",
"lazyvim.plugins.extras.formatting.black",
"lazyvim.plugins.extras.formatting.prettier",
"lazyvim.plugins.extras.lang.ansible",
"lazyvim.plugins.extras.lang.cmake",
"lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.git",
"lazyvim.plugins.extras.lang.go",
"lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.python",
"lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.sql",
"lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.lang.zig",
"lazyvim.plugins.extras.test.core",
"lazyvim.plugins.extras.util.dot",
"lazyvim.plugins.extras.util.gh",
"lazyvim.plugins.extras.util.gitui",
"lazyvim.plugins.extras.util.mini-hipatterns"
],
"install_version": 7,
"install_version": 8,
"news": {
"NEWS.md": "10960"
"NEWS.md": "11866"
},
"version": 8
}
+1 -1
View File
@@ -30,7 +30,7 @@ require("lazy").setup({
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "tokyonight", "habamax" } },
install = { colorscheme = { "catppuccin" } },
checker = {
enabled = true, -- check for plugin updates periodically
notify = false, -- notify on update
+24
View File
@@ -0,0 +1,24 @@
return {
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
opts = {
flavour = "mocha", -- Choose: latte, frappe, macchiato, mocha
transparent_background = true,
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
notify = true,
mini = { enabled = true },
navic = { enabled = true, custom_bg = "lualine" },
telescope = true,
which_key = true,
-- Add other integrations as needed
},
dim_inactive = { enabled = false },
},
},
{ "LazyVim/LazyVim", opts = { colorscheme = "catppuccin" } },
}
-12
View File
@@ -1,12 +0,0 @@
return {
-- add gruvbox
{ "ellisonleao/gruvbox.nvim" },
-- Configure LazyVim to load gruvbox
{
"LazyVim/LazyVim",
opts = {
colorscheme = "gruvbox",
},
},
}
+102 -140
View File
@@ -1,165 +1,127 @@
console_title_template = '{{ .Shell }} in {{ .Folder }}'
version = 3
version = 4
final_space = true
[palette]
black = '#262B44'
blue = '#4B95E9'
green = '#59C9A5'
orange = '#F07623'
red = '#D81E5B'
white = '#E0DEF4'
yellow = '#F3AE35'
black = '#1e1e2e' # Base
surface = '#313244' # Surface0
white = '#cdd6f4' # Text
blue = '#89b4fa' # Blue
sapphire = '#74c7ec' # Sapphire
lavender = '#b4befe' # Lavender
green = '#a6e3a1' # Green
mauve = '#cba6f7' # Mauve
red = '#f38ba8' # Red
yellow = '#f9e2af' # Yellow
[secondary_prompt]
template = '<p:yellow,transparent></><,p:yellow> > </><p:yellow,transparent></> '
foreground = 'p:black'
background = 'transparent'
template = '<p:mauve,transparent></><,p:mauve> > </><p:mauve,transparent></> '
foreground = 'p:black'
background = 'transparent'
[transient_prompt]
template = '<p:yellow,transparent></><,p:yellow> {{ .Folder }} </><p:yellow,transparent></> '
foreground = 'p:black'
background = 'transparent'
template = '<p:mauve,transparent></><,p:mauve> {{ .Folder }} </><p:mauve,transparent></> '
foreground = 'p:black'
background = 'transparent'
[upgrade]
source = 'cdn'
interval = '168h'
auto = false
notice = false
source = 'cdn'
interval = '168h'
auto = false
notice = false
[[blocks]]
type = 'prompt'
alignment = 'left'
type = 'prompt'
alignment = 'left'
newline = true
[[blocks.segments]]
leading_diamond = ''
trailing_diamond = ''
template = ' {{ if .SSHSession }} {{ end }}{{ .UserName }} '
foreground = 'p:black'
background = 'p:yellow'
type = 'session'
style = 'diamond'
[[blocks.segments]]
leading_diamond = ''
trailing_diamond = ''
template = ' {{ if .SSHSession }} {{ end }}{{ .UserName }} '
foreground = 'p:black'
background = 'p:mauve'
type = 'session'
style = 'diamond'
[[blocks.segments]]
template = ' {{ path .Path .Location }} '
foreground = 'p:white'
powerline_symbol = ''
background = 'p:orange'
type = 'path'
style = 'powerline'
[[blocks.segments]]
template = '  <b>{{ path .Path .Location }}</b> '
foreground = 'p:sapphire'
powerline_symbol = ''
background = 'p:surface'
type = 'path'
style = 'powerline'
[blocks.segments.properties]
style = 'folder'
[[blocks.segments]]
template = '  <b>{{ .HEAD }}</b>{{ if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if .Staging.Changed }}  {{ .Staging.String }}{{ end }} '
foreground = 'p:green'
powerline_symbol = ''
background = 'p:surface'
type = 'git'
style = 'powerline'
foreground_templates = [
'{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}',
]
background_templates = [
'{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}',
]
[[blocks.segments]]
template = ' {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if .Staging.Changed }}  {{ .Staging.String }}{{ end }} '
foreground = 'p:black'
powerline_symbol = ''
background = 'p:green'
type = 'git'
style = 'powerline'
foreground_templates = ['{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}', '{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}', '{{ if gt .Ahead 0 }}p:white{{ end }}']
background_templates = ['{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}', '{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}', '{{ if gt .Ahead 0 }}#49416D{{ end }}', '{{ if gt .Behind 0 }}#7A306C{{ end }}']
[[blocks.segments]]
template = ' '
foreground = 'p:yellow'
powerline_symbol = ''
background = 'p:surface'
type = 'root'
style = 'powerline'
[blocks.segments.properties]
branch_template = '{{ trunc 25 .Branch }}'
fetch_status = true
fetch_upstream_icon = true
[[blocks.segments]]
template = ''
foreground = 'p:white'
powerline_symbol = ''
background = 'p:yellow'
type = 'root'
style = 'powerline'
[[blocks.segments]]
leading_diamond = '<transparent,background></>'
trailing_diamond = ''
template = ' {{ if gt .Code 0 }}{{ else }}{{ end }} '
foreground = 'p:white'
background = 'p:blue'
type = 'status'
style = 'diamond'
background_templates = ['{{ if gt .Code 0 }}p:red{{ end }}']
[blocks.segments.properties]
always_enabled = true
[[blocks.segments]]
leading_diamond = '<transparent,background></>'
trailing_diamond = ''
template = ' {{ if gt .Code 0 }}{{ else }}{{ end }} '
foreground = 'p:lavender'
background = 'p:surface'
type = 'status'
style = 'diamond'
background_templates = ['{{ if gt .Code 0 }}p:red{{ end }}']
foreground_templates = ['{{ if gt .Code 0 }}p:black{{ end }}']
[[blocks]]
type = 'rprompt'
type = 'rprompt'
[[blocks.segments]]
template = ' '
foreground = 'p:green'
background = 'transparent'
type = 'node'
style = 'plain'
[[blocks.segments]]
template = ' <b>{{ .Version }}</b>'
foreground = 'p:green'
background = 'transparent'
type = 'node'
style = 'plain'
[blocks.segments.properties]
display_mode = 'files'
fetch_package_manager = false
home_enabled = false
[[blocks.segments]]
template = ' <b>{{ .Version }}</b>'
foreground = 'p:blue'
background = 'transparent'
type = 'python'
style = 'plain'
[[blocks.segments]]
template = ''
foreground = 'p:blue'
background = 'transparent'
type = 'go'
style = 'plain'
[[blocks.segments]]
template = ' <b>{{ .Version }}</b>'
foreground = 'p:red' # Rust looks great in Red/Maroon for Mocha
background = 'transparent'
type = 'rust'
style = 'plain'
[blocks.segments.properties]
fetch_version = false
[[blocks.segments]]
template = ''
foreground = 'p:yellow'
background = 'transparent'
type = 'python'
style = 'plain'
[blocks.segments.properties]
display_mode = 'files'
fetch_version = false
fetch_virtual_env = false
[[blocks.segments]]
template = 'in <p:blue><b>{{ .Name }}</b></> '
foreground = 'p:white'
background = 'transparent'
type = 'shell'
style = 'plain'
[[blocks.segments]]
template = 'at <p:blue><b>{{ .CurrentDate | date "15:04:05" }}</b></>'
foreground = 'p:white'
background = 'transparent'
type = 'time'
style = 'plain'
[[blocks.segments]]
template = 'at <p:mauve><b>{{ .CurrentDate | date "15:04:05" }}</b></>'
foreground = 'p:white'
background = 'transparent'
type = 'time'
style = 'plain'
[[tooltips]]
leading_diamond = ''
trailing_diamond = ''
template = '  {{ .Profile }}{{ if .Region }}@{{ .Region }}{{ end }} '
foreground = 'p:white'
background = 'p:orange'
type = 'aws'
style = 'diamond'
tips = ['aws']
[tooltips.properties]
display_default = true
[[tooltips]]
leading_diamond = ''
trailing_diamond = ''
template = '  {{ .Name }} '
foreground = 'p:white'
background = 'p:blue'
type = 'az'
style = 'diamond'
tips = ['az']
[tooltips.properties]
display_default = true
leading_diamond = ''
trailing_diamond = ''
template = '  {{ .Profile }}{{ if .Region }}@{{ .Region }}{{ end }} '
foreground = 'p:black'
background = 'p:blue'
type = 'aws'
style = 'diamond'
tips = ['aws']
+42
View File
@@ -0,0 +1,42 @@
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"*": "ask",
"todowrite": "allow",
"read": {
"*": "allow",
"*.env": "deny"
},
"edit": "ask",
"webfetch": "allow",
"websearch": "allow",
"question": "allow",
"grep": "allow",
"glob": "allow",
"lsp": "allow",
"skill": "allow",
"bash": {
"*": "ask",
"ls": "allow",
"ls *": "allow",
"pwd": "allow",
"git status": "allow",
"git status *": "allow",
"git diff *": "allow",
"git log": "allow",
"git log *": "allow",
"grep *": "allow",
"just *": "allow",
"cargo test *": "allow",
"cargo fmt": "allow",
"cargo fmt *": "allow",
"cargo check": "allow",
"cargo check *": "allow",
"cargo clippy": "allow",
"cargo clippy *": "allow",
"gh issue view *": "allow",
"gh issue list *": "allow",
"gh pr view *": "allow",
}
}
}
+1
View File
@@ -0,0 +1 @@
eza/themes
+89
View File
@@ -0,0 +1,89 @@
# Additional: Make pane resizing easier with vim-style keys
bind -r h resize-pane -L 5
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5
# Status bar customization
set -g status-bg '#1e1e2e'
set -g status-fg '#cdd6f4'
set -g status-left-length 40
set -g status-right-length 100
set -g status-interval 2
set -g status-left "#[fg=#1e1e2e,bg=#cba6f7,bold] #S #[fg=#cba6f7,bg=#74c7ec,nobold]#[fg=#1e1e2e,bg=#74c7ec,bold] #(whoami)@#H #[fg=#74c7ec,bg=#313244,nobold]#[fg=#cdd6f4,bg=#313244] #(basename #{pane_current_path}) #[fg=#313244,bg=default,nobold]"
set -g status-right "#[fg=#b4befe,bg=default]#[fg=#1e1e2e,bg=#b4befe,bold] #(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo '-') #[fg=#313244,bg=#b4befe,nobold]#[fg=#cdd6f4,bg=#313244] %Y-%m-%d %H:%M "
# --- Terminal & Compatibility ---
# Use 256-color mode and ensure compatibility with xterm
set-option -g default-terminal 'screen-256color'
set-option -sa terminal-overrides ",xterm-256color:RGB"
# --- Mouse & Key Bindings ---
# Enable mouse support for pane/window selection and resizing
set -g mouse on
# Reduce scroll speed (3 lines per notch)
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -N 3 Up'"
bind -n WheelDownPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'send-keys -N 3 Down'"
# (Optional) Change prefix to Ctrl+Space instead of default Ctrl+B
# Alt+Shift+H/L to switch windows (vim-style)
bind -n M-H previous-window
bind -n M-L next-window
# Start windows and panes at 1 for easier navigation
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
# --- Miscellaneous ---
# Various usability and performance tweaks
set -g detach-on-destroy off # don't exit from tmux when closing a session
set -g escape-time 0 # zero-out escape time delay
set -g history-limit 1000000 # increase history size
set -g set-clipboard on # use system clipboard
set -g status-position top # macOS / darwin style
set -g default-terminal "${TERM}"
# --- Copy & Selection ---
# Use vi-style keys in copy mode
set-window-option -g mode-keys vi
# Keybindings for copy mode (vim-style selection and yanking)
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# Split panes in the current working directory
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
# Use double lines for pane borders
set -g pane-border-lines double
# --- Plugins ---
# Plugin Manager (TPM) and useful plugins:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'catppuccin/tmux#v2.1.3'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'fcsonline/tmux-thumbs'
set -g @plugin 'sainnhe/tmux-fzf'
set -g @plugin 'wfxr/tmux-fzf-url'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'omerxx/tmux-floax'
# Floax plugin settings (floating windows)
set -g @floax-width '80%'
set -g @floax-height '80%'
set -g @floax-bind 'p'
set -g @floax-change-path 'true'
# Theme settings
set -g @catppuccin_flavor 'mocha'
# Initialize TPM (Tmux Plugin Manager)
run '~/.tmux/plugins/tpm/tpm'
+11 -91
View File
@@ -1,101 +1,21 @@
# Include any additional configuration file(s)
# [include] sections are processed in the order you write them
# Files in $CONFIG_DIR/topgrade.d/ are automatically included before this file
# Topgrade configuration for seamless integration with tmux, kitty, and btop (Gruvbox dark theme)
[include]
# paths = ["/etc/topgrade.toml"]
[misc]
# Run `sudo -v` to cache credentials at the start of the run
# This avoids a blocking password prompt in the middle of an unattended run
# (default: false)
# pre_sudo = false
# Sudo command to be used
# sudo_command = "sudo"
# Disable specific steps - same options as the command line flag
# disable = ["system", "emacs"]
# Ignore failures for these steps
# ignore_failures = ["powershell"]
# List of remote machines with Topgrade installed on them
# remote_topgrades = ["toothless", "pi", "parnas"]
# Path to Topgrade executable on remote machines
# remote_topgrade_path = ".cargo/bin/topgrade"
# Arguments to pass to SSH when upgrading remote systems
# ssh_arguments = "-o ConnectTimeout=2"
# Arguments to pass tmux when pulling Repositories
# tmux_arguments = "-S /var/tmux.sock"
# Do not set the terminal title (default: true)
# set_title = true
# Display the time in step titles (default: true)
# display_time = true
# Don't ask for confirmations (no default value)
# assume_yes = true
# Do not ask to retry failed steps (default: false)
# no_retry = true
# Run inside tmux (default: false)
# run_in_tmux = true
# Changes the way topgrade interacts with
# the tmux session, creating the session
# and only attaching to it if not inside tmux
# (default: "attach_if_not_in_session", allowed values: "attach_if_not_in_session", "attach_always")
# tmux_session_mode = "attach_if_not_in_session"
# Cleanup temporary or old files (default: false)
# cleanup = true
# Send a notification for every step (default: false)
# notify_each_step = false
# Skip sending a notification at the end of a run (default: false)
# skip_notify = true
# The Bash-it branch to update (default: "stable")
# bashit_branch = "stable"
# Run specific steps - same options as the command line flag
# only = ["system", "emacs"]
# Whether to self update
#
# this will be ignored if the binary is built without self update support
#
# available also via setting the environment variable TOPGRADE_NO_SELF_UPGRADE)
# no_self_update = true
# Extra tracing filter directives
# These are prepended to the `--log-filter` argument
# See: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives
# log_filters = ["topgrade::command=debug", "warn"]
pre_sudo = true
no_retry = true
cleanup = true
assume_yes = true
only = []
display_time = true
notify_each_step = true
# Commands to run before anything
[pre_commands]
# "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
# Commands to run after anything
[post_commands]
# "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
# Custom commands
[commands]
# "Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
# "Custom command using interactive shell (unix)" = "-i vim_upgrade"
[python]
# enable_pip_review = true ###disabled by default
@@ -135,7 +55,7 @@
# For the BrewFormula step
# Execute `brew autoremove` after the step.
# autoremove = true
autoremove = true
# For the BrewFormula step
# Upgrade formulae built from the HEAD branch; `brew upgrade --fetch-HEAD`
+19 -25
View File
@@ -3,43 +3,37 @@
aa = add --all
ap = add --patch
au = add --update
b = branch
ba = branch --all
bd = branch --delete
bD = branch --delete --force
bm = branch --move
bM = branch --move --force
c = commit
cs = commit --signoff
ca = commit --amend
cas = commit --amend --signoff
can = commit --amend --no-edit
cans == commit --amend --no-edit --signoff
cans = commit --amend --no-edit --signoff
ci = commit --interactive
cis = commit --amend --signoff
cm = commit --message
cms = commit --signoff --message
cv = commit --verbose
cvs = commit --verbose --signoff
cl = clone
clb = clone --bare
clm = clone --mirror
clr = clone --recurse-submodules
d = diff
dc = diff --cached
ds = diff --staged
dw = diff --word-diff
f = fetch --atomic
F = fetch --force
fa = fetch --all
fp = fetch --atomic --prune --prune-tags
fpa = fetch --prune --prune-tags --all
l = log
lc = log --pretty=format:'- %s by %an %h' --no-merges
lg = log --graph
@@ -47,23 +41,17 @@
lo = log --oneline
lp = log --patch
lt = log --topo-order
o = checkout
ob = checkout -b
p = push
pf = push --force
puh = push -u origin HEAD
r = rebase
ri = rebase --interactive
rim = rebase --interactive origin/master
s = status --short --branch
branch-list-merged = "!git branch --merged master | grep -v -E '(origin|master)'"
branch-delete-merged = "!git branch-list-merged | xargs git branch --delete"
unstage = reset HEAD
undo-commit = reset --soft HEAD^
set-upstream = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`
@@ -74,6 +62,7 @@
[commit]
gpgsign = true
signoff = true
[core]
editor = nvim
@@ -82,6 +71,12 @@
attributesfile = ~/.gitattributes
pager = delta
[credential]
helper = cache --timeout 21600
helper = oauth
helper = !/opt/homebrew/bin/gh auth git-credential
helper = !/usr/bin/glab auth git-credential
[credential "https://github.com"]
helper = !/opt/homebrew/bin/gh auth git-credential
@@ -90,11 +85,11 @@
[delta]
line-numbers = true
syntax-theme = Dracula
plus-style = "syntax #2A363B"
plus-emph-style = "syntax #2D4E45"
minus-style = "syntax #3B2C37"
minux-emph-style = "syntax #613038"
syntax-theme = Gruvbox
plus-style = "syntax #3c3836"
plus-emph-style = "syntax #504945"
minus-style = "syntax #282828"
minux-emph-style = "syntax #fb4934"
[diff]
colorMoved = default
@@ -124,7 +119,7 @@
diffFilter = delta --color-only
[merge]
conflictstyle = diff3
conflictstyle = zdiff3
[pull]
autosetupmerge = true
@@ -132,7 +127,7 @@
rebase = true
[push]
default = current
default = simple
[rerere]
enabled = true
@@ -142,10 +137,9 @@
email = 4360016+anthonyoteri@users.noreply.github.com
signingkey = D0B1B355AF8E6121
# vim: set commentstring=#\ %s:
[credential]
helper = cache --timeout 21600
helper = oauth
[safe]
directory = *
# vim: set commentstring=#\ %s:
[rebase]
updateRefs = true
+6
View File
@@ -0,0 +1,6 @@
# Start the gpg-agent if not already running
if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then
gpg-connect-agent /bye >/dev/null 2>&1
fi
alias gpg-unlock "gpg-connect-agent updatestartuptty /bye"
+29 -46
View File
@@ -1,53 +1,36 @@
Host ol8-dev
HostName ol8-dev
User anthony
Host srv-nebula-master srv-nebula-master.edgeware.tv
User=oneadmin
Compression=yes
Host 10.16.48.100 anthony-acd-router
User root
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Compression=yes
ForwardAgent=yes
Host anthony-remote.edgeware.tv
User root
Compression=yes
ForwardAgent=yes
DynamicForward 12345
# Disable strict host key checking for Edgeware hosts
Host 10.16.*.* 10.19.* orbit-* anthony-* *.edgeware.tv
User root
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Compression=yes
ForwardAgent=yes
ForwardAgent yes
Compression yes
Host 192.168.11.13, anthony-dev
User root
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Compression=yes
ForwardAgent=yes
# Example for non-standard port
Host custom-port-host
HostName custom.example.com
User anthony
Port 2222
ForwardAgent yes
Compression yes
Host convoy
User=edgeware
HostName=convoy.local.oteri.xyz
Host acd-router
User=edgeware
HostName=acd-router.local.oteri.xyz
Host streamer
User=edgeware
HostName=streamer.local.oteri.xyz
Host repackager
User=edgeware
HostName=repackager.local.oteri.xyz
# Specific hosts
Host srv-nebula-master srv-nebula-master.edgeware.tv
User oneadmin
Compression yes
# Production host
Host newenglandsalts.com
User=root
User root
# Global SSH options for productivity
Host *
ForwardAgent yes
AddKeysToAgent yes
ControlMaster auto
ControlPath ~/.ssh/control-%r@%h:%p
ControlPersist 10m
ServerAliveInterval 60
ServerAliveCountMax 3
User root
Compression yes
StrictHostKeyChecking yes
+87 -48
View File
@@ -1,7 +1,11 @@
############################################################
# Homebrew integration
############################################################
eval "$(/opt/homebrew/bin/brew shellenv)"
# Set the directory we want to store zinit and plugins
############################################################
# Zinit plugin manager setup
############################################################
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
# Download Zinit, if it's not there yet
@@ -13,89 +17,124 @@ fi
# Source / Load Zinit
source "${ZINIT_HOME}/zinit.zsh"
# Configure EZA snippet
############################################################
# EZA configuration
############################################################
zstyle ':omz:plugins:eza' 'dirs-first' yes
zstyle ':omz:plugins:eza' 'git-status' yes
zstyle ':omz:plugins:eza' 'icons' yes
zstyle ':omz:plugins:eza' 'show-group' yes
# Add in ZSH Plugins
############################################################
# ZSH Plugins (essential and lazy-loaded)
############################################################
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
zinit light Aloxaf/fzf-tab
zinit ice wait"1"; zinit light zsh-users/zsh-completions
zinit ice wait"1"; zinit light zsh-users/zsh-autosuggestions
zinit ice wait"2"; zinit light Aloxaf/fzf-tab
# Add in snippets
zinit snippet OMZP::aliases
zinit snippet OMZP::ansible
zinit snippet OMZP::aws
zinit snippet OMZP::brew
zinit snippet OMZP::command-not-found
zinit snippet OMZP::common-aliases
zinit snippet OMZP::debian
zinit snippet OMZP::docker
zinit snippet OMZP::docker-compose
zinit snippet OMZP::dotenv
zinit snippet OMZP::eza
zinit snippet OMZP::gh
zinit snippet OMZP::git
zinit snippet OMZP::github
zinit snippet OMZP::kitty
zinit snippet OMZP::kubectl
zinit snippet OMZP::kubectx
zinit snippet OMZP::nmap
zinit snippet OMZP::rust
zinit snippet OMZP::ssh
zinit snippet OMZP::ssh-agent
zinit snippet OMZP::sudo
############################################################
# Oh-My-Zsh Snippets (lazy-loaded)
############################################################
zinit ice wait"1"; zinit snippet OMZP::aliases
zinit ice wait"2"; zinit snippet OMZP::ansible
zinit ice wait"2"; zinit snippet OMZP::aws
zinit ice wait"1"; zinit snippet OMZP::brew
zinit ice wait"2"; zinit snippet OMZP::command-not-found
zinit ice wait"2"; zinit snippet OMZP::common-aliases
zinit ice wait"2"; zinit snippet OMZP::debian
zinit ice wait"2"; zinit snippet OMZP::docker
zinit ice wait"2"; zinit snippet OMZP::docker-compose
#zinit ice wait"2"; zinit snippet OMZP::dotenv
zinit ice wait"1"; zinit snippet OMZP::eza
zinit ice wait"2"; zinit snippet OMZP::gh
zinit ice wait"1"; zinit snippet OMZP::git
zinit ice wait"2"; zinit snippet OMZP::github
zinit ice wait"2"; zinit snippet OMZP::kitty
zinit ice wait"2"; zinit snippet OMZP::kubectl
zinit ice wait"2"; zinit snippet OMZP::kubectx
zinit ice wait"2"; zinit snippet OMZP::nmap
zinit ice wait"2"; zinit snippet OMZP::rust
zinit ice wait"2"; zinit snippet OMZP::ssh
zinit ice wait"2"; zinit snippet OMZP::ssh-agent
zinit ice wait"2"; zinit snippet OMZP::sudo
# Load completions
autoload -U compinit && compinit
############################################################
# Completion system
############################################################
autoload -U compinit && compinit -C
zinit cdreplay -q
# Add in Oh-My-Posh Prompt
############################################################
# Oh-My-Posh Prompt
############################################################
if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then
eval "$(oh-my-posh init zsh --config ${HOME}/.config/ohmyposh/omp.toml)"
fi
# History
############################################################
# History configuration
############################################################
HISTSIZE=5000
HISTFILE=~/.zsh_history
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_ignore_dups
# History options grouped for clarity
setopt appendhistory sharehistory hist_ignore_space hist_ignore_all_dups hist_save_no_dups hist_ignore_dups
############################################################
# Completion styling
############################################################
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' list-colors "${(s.:.)LS_COLOR}"
zstyle ':completion:*' menu no
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
############################################################
# Shell integrations
############################################################
eval "$(fzf --zsh)"
eval "$(zoxide init --cmd cd zsh)"
# Export custom environment variables
############################################################
# Google Cloud SDK
############################################################
if [ -f "${HOME}/.google-cloud-sdk/path.zsh.inc" ]; then
. "${HOME}/.google-cloud-sdk/path.zsh.inc"
fi
if [ -f "${HOME}/.google-cloud-sdk/completion.zsh.inc" ]; then
. "${HOME}/.google-cloud-sdk/completion.zsh.inc"
fi
############################################################
# Custom environment variables
############################################################
export LANG=en_US.UTF-8
export EDITOR='nvim'
export ARCHFLAGS='-arch x86_64'
export BAT_CONFIG_PATH=~/.config/bat/config.conf
export GPG_TTY=$(tty)
export PATH=${HOME}/.local/bin:${HOME}/.cargo/bin:${HOME}/go/bin:${PATH}
export MONOREPO_ROOT=${HOME}/Projects/monorepo
export PATH="$(brew --prefix rustup)/bin:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$PATH"
export MONOREPO_ROOT="$HOME/Projects/monorepo"
export DOCKER_BUILDKIT=1
# Custom aliases
alias cat='bat '
alias vim=$(which nvim)
alias vimdiff="$(which nvim) -d"
alias docker-compose="$(which docker) compose"
alias neofetch=fastfetch
############################################################
# SSH/GPG agent integration
############################################################
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
############################################################
# Custom aliases
############################################################
alias cat='bat'
alias vim='nvim'
alias vimdiff='nvim -d'
alias docker-compose='docker compose'
alias neofetch='fastfetch'
alias lazygit='lazygit -ucd $HOME/.config/lazygit'
+58 -16
View File
@@ -1,33 +1,75 @@
# dotfiles
My Dotfiles managed by Gnu Stow
## Usage:
Personal dotfiles managed by Gnu Stow for a modular, reproducible, and portable
development environment.
Clone this repository to ~/dotfiles with the following command:
## Usage
Clone this repository to `~/dotfiles`:
```sh
git clone https://github.com/anthonyoteri/dotfiles ~/dotfiles
```
Change into the `~/dotfiles` directory and create the symlink tree using
Change into the `~/dotfiles` directory and create the symlink tree:
```sh
stow .
```
## Adding a new file.
## Adding a New File
Move the file into the `~/dotfiles` folder under the same directory structure
as if the root of the repository were the home folder, then run `stow .` to
create a symlink.
Move the file into the `~/dotfiles` folder under the same directory structure as
if the root of the repository were the home folder, then run `stow .` to create a
symlink.
## How it works
## How It Works
The original files should live under the `~/dotfiles` directory in the same
layout as they would appear in the home directory. Gnu Stow will walk the
directory tree, and create symlinks in the parent directory of any files it
finds there. E.g. `~/dotfiles/.foobar` will be mapped as a symlink to
`~/.foobar`, and `~/dotfiles/some/path/.barfoo` will be mapped as a symlink
to `~/some/path/.barfoo`.
The original files should live under the `~/dotfiles` directory in the same layout
as they would appear in the home directory. Gnu Stow will walk the directory tree
and create symlinks in the parent directory of any files it finds there. For
example, `~/dotfiles/.foobar` will be mapped as a symlink to `~/.foobar`, and
`~/dotfiles/some/path/.barfoo` will be mapped as a symlink to
`~/some/path/.barfoo`.
---
## Managed Configurations
This repository manages configuration for the following tools:
- **Zsh** (`.zshrc`, `.zprofile`, `.profile`): Shell configuration, plugins,
aliases, and environment variables.
- **Kitty** (`.config/kitty/kitty.conf`): GPU terminal emulator with Gruvbox dark
theme, powerline separators, and font/padding customizations.
- **Tmux** (`.config/tmux/tmux.conf`): Terminal multiplexer with Gruvbox theme,
vim-style navigation, mouse support, and plugin management via TPM.
- **Oh My Posh** (`.config/ohmyposh/omp.toml`): Prompt theme for Zsh, with
multi-line, icons, language versions, and git status.
- **btop** (`.config/btop/btop.conf`): Resource monitor with Gruvbox theme, block
graphs, mouse and vim key support, and matching font/padding.
- **Topgrade** (`.config/topgrade.toml`): Unified system upgrade tool, configured
for notifications, cleanup, and parallel upgrades.
- **Neovim** (`.config/nvim/`): Editor configuration, plugins, and custom Lua
scripts.
- **Zellij** (`.config/zellij/config.kdl`): Terminal workspace manager (if used).
---
## Customization & Extensibility
- All configs are modular and can be extended by adding new files or folders and
running `stow .`.
- Each tools config is documented and tuned for performance, appearance, and
seamless integration.
- Gruvbox dark theme is used for a consistent look across terminal, prompt, and
resource monitor.
---
## License
See [LICENSE](LICENSE) for details.