mirror of
https://github.com/anthonyoteri/dotfiles.git
synced 2026-06-05 23:56:52 -04:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ad478aa80 | |||
| 067f864373 | |||
| 4558617127 | |||
| a3cf3d1d0c | |||
| 53029f1070 | |||
| a62f1ebd2c | |||
| af6dc8195f | |||
| b3eee10269 | |||
| c2aafeaafe |
@@ -2,7 +2,7 @@
|
||||
|
||||
#* 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
|
||||
@@ -22,7 +22,7 @@ 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
|
||||
@@ -32,19 +32,19 @@ rounded_corners = True
|
||||
#* "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"
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -0,0 +1,320 @@
|
||||
gui:
|
||||
authorColors: {}
|
||||
branchColors: {}
|
||||
branchColorPatterns: {}
|
||||
customIcons:
|
||||
filenames: {}
|
||||
extensions: {}
|
||||
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
|
||||
language: auto
|
||||
timeFormat: 02 Jan 06
|
||||
shortTimeFormat: 3:04PM
|
||||
theme:
|
||||
activeBorderColor:
|
||||
- '#b8bb26'
|
||||
- bold
|
||||
inactiveBorderColor:
|
||||
- '#665c54'
|
||||
searchingActiveBorderColor:
|
||||
- '#8ec07c'
|
||||
- bold
|
||||
optionsTextColor:
|
||||
- '#fabd2f'
|
||||
selectedLineBgColor:
|
||||
- '#3c3836'
|
||||
inactiveViewSelectedLineBgColor:
|
||||
- '#7c6f64'
|
||||
cherryPickedCommitFgColor:
|
||||
- '#b8bb26'
|
||||
cherryPickedCommitBgColor:
|
||||
- '#282828'
|
||||
markedBaseCommitFgColor:
|
||||
- '#fabd2f'
|
||||
markedBaseCommitBgColor:
|
||||
- '#282828'
|
||||
unstagedChangesColor:
|
||||
- '#fb4934'
|
||||
defaultFgColor:
|
||||
- '#ebdbb2'
|
||||
commitLength:
|
||||
show: true
|
||||
showListFooter: true
|
||||
showFileTree: true
|
||||
showRootItemInFileTree: true
|
||||
showNumstatInFilesView: false
|
||||
showRandomTip: true
|
||||
showCommandLog: true
|
||||
showBottomLine: true
|
||||
showPanelJumps: true
|
||||
showIcons: false
|
||||
nerdFontsVersion: ""
|
||||
showFileIcons: true
|
||||
commitAuthorShortLength: 2
|
||||
commitAuthorLongLength: 17
|
||||
commitHashLength: 8
|
||||
showBranchCommitHash: false
|
||||
showDivergenceFromBaseBranch: none
|
||||
commandLogSize: 8
|
||||
splitDiff: always
|
||||
screenMode: normal
|
||||
border: rounded
|
||||
animateExplosion: true
|
||||
portraitMode: auto
|
||||
filterMode: substring
|
||||
spinner:
|
||||
frames:
|
||||
- '|'
|
||||
- /
|
||||
- '-'
|
||||
- \
|
||||
rate: 50
|
||||
statusPanelView: dashboard
|
||||
switchToFilesAfterStashPop: true
|
||||
switchToFilesAfterStashApply: true
|
||||
switchTabsWithPanelJumpKeys: false
|
||||
git:
|
||||
diffCommand: "delta --dark --syntax-theme=gruvbox --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: true
|
||||
localBranchSortOrder: date
|
||||
remoteBranchSortOrder: date
|
||||
truncateCopiedCommitHashesTo: 12
|
||||
update:
|
||||
method: prompt
|
||||
days: 14
|
||||
refresher:
|
||||
refreshInterval: 10
|
||||
fetchInterval: 60
|
||||
confirmOnQuit: false
|
||||
quitOnTopLevelReturn: false
|
||||
disableStartupPopups: false
|
||||
customCommands: []
|
||||
services: {}
|
||||
notARepository: prompt
|
||||
promptToReturnFromSubprocess: true
|
||||
keybinding:
|
||||
universal:
|
||||
quit: q
|
||||
quit-alt1: <c-c>
|
||||
suspendApp: <c-z>
|
||||
return: <esc>
|
||||
quitWithoutChangingDirectory: Q
|
||||
togglePanel: <tab>
|
||||
prevItem: <up>
|
||||
nextItem: <down>
|
||||
prevItem-alt: k
|
||||
nextItem-alt: j
|
||||
prevPage: ','
|
||||
nextPage: .
|
||||
scrollLeft: H
|
||||
scrollRight: L
|
||||
gotoTop: <
|
||||
gotoBottom: '>'
|
||||
gotoTop-alt: <home>
|
||||
gotoBottom-alt: <end>
|
||||
toggleRangeSelect: v
|
||||
rangeSelectDown: <s-down>
|
||||
rangeSelectUp: <s-up>
|
||||
prevBlock: <left>
|
||||
nextBlock: <right>
|
||||
prevBlock-alt: h
|
||||
nextBlock-alt: l
|
||||
nextBlock-alt2: <tab>
|
||||
prevBlock-alt2: <backtab>
|
||||
jumpToBlock:
|
||||
- "1"
|
||||
- "2"
|
||||
- "3"
|
||||
- "4"
|
||||
- "5"
|
||||
focusMainView: "0"
|
||||
nextMatch: "n"
|
||||
prevMatch: "N"
|
||||
startSearch: /
|
||||
optionMenu: <disabled>
|
||||
optionMenu-alt1: '?'
|
||||
select: <space>
|
||||
goInto: <enter>
|
||||
confirm: <enter>
|
||||
confirmMenu: <enter>
|
||||
confirmSuggestion: <enter>
|
||||
confirmInEditor: <a-enter>
|
||||
confirmInEditor-alt: <c-s>
|
||||
remove: d
|
||||
new: "n"
|
||||
edit: e
|
||||
openFile: o
|
||||
scrollUpMain: <pgup>
|
||||
scrollDownMain: <pgdown>
|
||||
scrollUpMain-alt1: K
|
||||
scrollDownMain-alt1: J
|
||||
scrollUpMain-alt2: <c-u>
|
||||
scrollDownMain-alt2: <c-d>
|
||||
executeShellCommand: ':'
|
||||
createRebaseOptionsMenu: m
|
||||
pushFiles: P
|
||||
pullFiles: p
|
||||
refresh: R
|
||||
createPatchOptionsMenu: <c-p>
|
||||
nextTab: ']'
|
||||
prevTab: '['
|
||||
nextScreenMode: +
|
||||
prevScreenMode: _
|
||||
cyclePagers: '|'
|
||||
undo: z
|
||||
redo: Z
|
||||
filteringMenu: <c-s>
|
||||
diffingMenu: W
|
||||
diffingMenu-alt: <c-e>
|
||||
copyToClipboard: <c-o>
|
||||
openRecentRepos: <c-r>
|
||||
submitEditorText: <enter>
|
||||
extrasMenu: '@'
|
||||
toggleWhitespaceInDiffView: <c-w>
|
||||
increaseContextInDiffView: '}'
|
||||
decreaseContextInDiffView: '{'
|
||||
increaseRenameSimilarityThreshold: )
|
||||
decreaseRenameSimilarityThreshold: (
|
||||
openDiffTool: <c-t>
|
||||
status:
|
||||
checkForUpdate: u
|
||||
recentRepos: <enter>
|
||||
allBranchesLogGraph: a
|
||||
files:
|
||||
commitChanges: c
|
||||
commitChangesWithoutHook: w
|
||||
amendLastCommit: A
|
||||
commitChangesWithEditor: C
|
||||
findBaseCommitForFixup: <c-f>
|
||||
confirmDiscard: x
|
||||
ignoreFile: i
|
||||
refreshFiles: r
|
||||
stashAllChanges: s
|
||||
viewStashOptions: S
|
||||
toggleStagedAll: a
|
||||
viewResetOptions: D
|
||||
fetch: f
|
||||
toggleTreeView: '`'
|
||||
openMergeOptions: M
|
||||
openStatusFilter: <c-b>
|
||||
copyFileInfoToClipboard: "y"
|
||||
collapseAll: '-'
|
||||
expandAll: =
|
||||
branches:
|
||||
createPullRequest: o
|
||||
viewPullRequestOptions: O
|
||||
copyPullRequestURL: <c-y>
|
||||
checkoutBranchByName: c
|
||||
forceCheckoutBranch: F
|
||||
checkoutPreviousBranch: '-'
|
||||
rebaseBranch: r
|
||||
renameBranch: R
|
||||
mergeIntoCurrentBranch: M
|
||||
moveCommitsToNewBranch: "N"
|
||||
viewGitFlowOptions: i
|
||||
fastForward: f
|
||||
createTag: T
|
||||
pushTag: P
|
||||
setUpstream: u
|
||||
fetchRemote: f
|
||||
sortOrder: s
|
||||
worktrees:
|
||||
viewWorktreeOptions: w
|
||||
commits:
|
||||
squashDown: s
|
||||
renameCommit: r
|
||||
renameCommitWithEditor: R
|
||||
viewResetOptions: g
|
||||
markCommitAsFixup: f
|
||||
createFixupCommit: F
|
||||
squashAboveCommits: S
|
||||
moveDownCommit: <c-j>
|
||||
moveUpCommit: <c-k>
|
||||
amendToCommit: A
|
||||
resetCommitAuthor: a
|
||||
pickCommit: p
|
||||
revertCommit: t
|
||||
cherryPickCopy: C
|
||||
pasteCommits: V
|
||||
markCommitAsBaseForRebase: B
|
||||
tagCommit: T
|
||||
checkoutCommit: <space>
|
||||
resetCherryPick: <c-R>
|
||||
copyCommitAttributeToClipboard: "y"
|
||||
openLogMenu: <c-l>
|
||||
openInBrowser: o
|
||||
viewBisectOptions: b
|
||||
startInteractiveRebase: i
|
||||
selectCommitsOfCurrentBranch: '*'
|
||||
amendAttribute:
|
||||
resetAuthor: a
|
||||
setAuthor: A
|
||||
addCoAuthor: c
|
||||
stash:
|
||||
popStash: g
|
||||
renameStash: r
|
||||
commitFiles:
|
||||
checkoutCommitFile: c
|
||||
main:
|
||||
toggleSelectHunk: a
|
||||
pickBothHunks: b
|
||||
editSelectHunk: E
|
||||
submodules:
|
||||
init: i
|
||||
update: u
|
||||
bulkMenu: b
|
||||
commitMessage:
|
||||
commitMenu: <c-o>
|
||||
|
||||
+31
-37
@@ -3,13 +3,13 @@ version = 3
|
||||
final_space = true
|
||||
|
||||
[palette]
|
||||
black = '#262B44'
|
||||
blue = '#4B95E9'
|
||||
green = '#59C9A5'
|
||||
orange = '#F07623'
|
||||
red = '#D81E5B'
|
||||
white = '#E0DEF4'
|
||||
yellow = '#F3AE35'
|
||||
black = '#282828'
|
||||
blue = '#458588'
|
||||
green = '#98971a'
|
||||
orange = '#d79921'
|
||||
red = '#cc241d'
|
||||
white = '#ebdbb2'
|
||||
yellow = '#fabd2f'
|
||||
|
||||
[secondary_prompt]
|
||||
template = '<p:yellow,transparent></><,p:yellow> > </><p:yellow,transparent></> '
|
||||
@@ -42,10 +42,10 @@ final_space = true
|
||||
style = 'diamond'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = ' {{ path .Path .Location }} '
|
||||
foreground = 'p:white'
|
||||
template = ' <b>{{ path .Path .Location }}</b> '
|
||||
foreground = 'p:orange'
|
||||
powerline_symbol = ''
|
||||
background = 'p:orange'
|
||||
background = 'p:black'
|
||||
type = 'path'
|
||||
style = 'powerline'
|
||||
|
||||
@@ -53,25 +53,25 @@ final_space = true
|
||||
style = 'folder'
|
||||
|
||||
[[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'
|
||||
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:green'
|
||||
background = 'p:black'
|
||||
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 }}']
|
||||
foreground_templates = ['{{ if or (.Working.Changed) (.Staging.Changed) }}p:green{{ end }}', '{{ if eq .Background "p:yellow" }}p:black{{ end }}']
|
||||
background_templates = ['{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}']
|
||||
|
||||
[blocks.segments.properties]
|
||||
branch_template = '{{ trunc 25 .Branch }}'
|
||||
fetch_status = true
|
||||
fetch_upstream_icon = true
|
||||
fetch_upstream_icon = false
|
||||
|
||||
[[blocks.segments]]
|
||||
template = ' '
|
||||
foreground = 'p:white'
|
||||
foreground = 'p:yellow'
|
||||
powerline_symbol = ''
|
||||
background = 'p:yellow'
|
||||
background = 'p:black'
|
||||
type = 'root'
|
||||
style = 'powerline'
|
||||
|
||||
@@ -79,8 +79,8 @@ final_space = true
|
||||
leading_diamond = '<transparent,background></>'
|
||||
trailing_diamond = ''
|
||||
template = ' {{ if gt .Code 0 }}{{ else }}{{ end }} '
|
||||
foreground = 'p:white'
|
||||
background = 'p:blue'
|
||||
foreground = 'p:blue'
|
||||
background = 'p:black'
|
||||
type = 'status'
|
||||
style = 'diamond'
|
||||
background_templates = ['{{ if gt .Code 0 }}p:red{{ end }}']
|
||||
@@ -92,7 +92,7 @@ final_space = true
|
||||
type = 'rprompt'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = ' '
|
||||
template = ' <b>{{ .Version }}</b>'
|
||||
foreground = 'p:green'
|
||||
background = 'transparent'
|
||||
type = 'node'
|
||||
@@ -102,19 +102,10 @@ final_space = true
|
||||
display_mode = 'files'
|
||||
fetch_package_manager = false
|
||||
home_enabled = false
|
||||
fetch_version = true
|
||||
|
||||
[[blocks.segments]]
|
||||
template = ' '
|
||||
foreground = 'p:blue'
|
||||
background = 'transparent'
|
||||
type = 'go'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
fetch_version = false
|
||||
|
||||
[[blocks.segments]]
|
||||
template = ' '
|
||||
template = ' <b>{{ .Version }}</b>'
|
||||
foreground = 'p:yellow'
|
||||
background = 'transparent'
|
||||
type = 'python'
|
||||
@@ -122,16 +113,19 @@ final_space = true
|
||||
|
||||
[blocks.segments.properties]
|
||||
display_mode = 'files'
|
||||
fetch_version = false
|
||||
fetch_virtual_env = false
|
||||
fetch_version = true
|
||||
fetch_virtual_env = true
|
||||
|
||||
[[blocks.segments]]
|
||||
template = 'in <p:blue><b>{{ .Name }}</b></> '
|
||||
foreground = 'p:white'
|
||||
template = ' <b>{{ .Version }}</b>'
|
||||
foreground = 'p:blue'
|
||||
background = 'transparent'
|
||||
type = 'shell'
|
||||
type = 'rust'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
fetch_version = true
|
||||
|
||||
[[blocks.segments]]
|
||||
template = 'at <p:blue><b>{{ .CurrentDate | date "15:04:05" }}</b></>'
|
||||
foreground = 'p:white'
|
||||
|
||||
+77
-14
@@ -1,26 +1,63 @@
|
||||
# Set up the terminal overrides
|
||||
# =============================================================
|
||||
# Tmux Configuration - Gruvbox Dark, Vim Navigation, Fast Clipboard, Minimal Plugins
|
||||
#
|
||||
# Features:
|
||||
# - Gruvbox dark theme for status bar and UI
|
||||
# - Vim-style navigation and pane resizing
|
||||
# - Mouse support and fast copy-paste
|
||||
# - Minimal, fast plugin setup
|
||||
# =============================================================
|
||||
# Fast pane splitting shortcuts (already present)
|
||||
# Copy-paste integration (already present with tmux-yank and set-clipboard)
|
||||
# Plugin setup is minimal and fast with TPM and sensible plugins
|
||||
|
||||
# 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
|
||||
# Gruvbox color palette
|
||||
set -g @gruvbox_fg '#ebdbb2'
|
||||
set -g @gruvbox_bg '#282828'
|
||||
set -g @gruvbox_yellow '#fabd2f'
|
||||
set -g @gruvbox_blue '#458588'
|
||||
set -g @gruvbox_red '#cc241d'
|
||||
set -g @gruvbox_green '#98971a'
|
||||
set -g @gruvbox_orange '#d79921'
|
||||
|
||||
# Status bar customization
|
||||
set -g status-bg '#282828'
|
||||
set -g status-fg '#ebdbb2'
|
||||
set -g status-left-length 40
|
||||
set -g status-right-length 100
|
||||
set -g status-interval 2
|
||||
|
||||
set -g status-left "#[fg=#fabd2f,bg=#282828,bold] #S #[fg=#282828,bg=#fabd2f,nobold] #[fg=#ebdbb2,bg=#fabd2f] #(whoami)@#H #[fg=#fabd2f,bg=#282828] #[fg=#ebdbb2,bg=#282828] #(basename #{pane_current_path}) "
|
||||
|
||||
set -g status-right "#[fg=#fabd2f,bg=#282828]#[fg=#282828,bg=#fabd2f] #(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo '-') #[fg=#fabd2f,bg=#282828]#[fg=#ebdbb2,bg=#282828] %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"
|
||||
|
||||
# Enable mouse support
|
||||
# --- Mouse & Key Bindings ---
|
||||
# Enable mouse support for pane/window selection and resizing
|
||||
set -g mouse on
|
||||
|
||||
# Set prefix to Ctrl+Space
|
||||
#unbind C-b
|
||||
#set -g prefix C-Space
|
||||
#bind C-Space send-prefix
|
||||
# (Optional) Change prefix to Ctrl+Space instead of default Ctrl+B
|
||||
|
||||
# Shift Alt vim keys to switch windows
|
||||
# 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, not 0
|
||||
# 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 settings
|
||||
# --- 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
|
||||
@@ -28,22 +65,36 @@ set -g set-clipboard on # use system clipboard
|
||||
set -g status-position top # macOS / darwin style
|
||||
set -g default-terminal "${TERM}"
|
||||
|
||||
# Set vi-mode
|
||||
# --- Copy & Selection ---
|
||||
# Use vi-style keys in copy mode
|
||||
set-window-option -g mode-keys vi
|
||||
|
||||
# Keybindings
|
||||
# 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
|
||||
|
||||
# Open panes in current directory
|
||||
# Split panes in the current working directory
|
||||
bind '"' split-window -v -c "#{pane_current_path}"
|
||||
bind % split-window -h -c "#{pane_current_path}"
|
||||
|
||||
# Pane separators
|
||||
# Use double lines for pane borders
|
||||
set -g pane-border-lines double
|
||||
|
||||
# Configure Tmux plugins
|
||||
# --- Plugins ---
|
||||
# Plugin Manager (TPM) and useful plugins:
|
||||
# tmux-plugins/tpm - Plugin manager
|
||||
# tmux-plugins/tmux-sensible - Sensible defaults
|
||||
# tmux-plugins/tmux-yank - Fast copy to clipboard
|
||||
# tmux-plugins/tmux-resurrect - Save/restore sessions
|
||||
# tmux-plugins/tmux-continuum - Auto-save sessions
|
||||
# fcsonline/tmux-thumbs - Fuzzy select text
|
||||
# sainnhe/tmux-fzf - Fuzzy find in tmux
|
||||
# wfxr/tmux-fzf-url - Fuzzy find URLs
|
||||
# egel/tmux-gruvbox - Gruvbox theme
|
||||
# christoomey/vim-tmux-navigator - Vim navigation between panes
|
||||
# omerxx/tmux-sessionx - Session management
|
||||
# omerxx/tmux-floax - Floating windows
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
@@ -57,11 +108,15 @@ set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||
set -g @plugin 'omerxx/tmux-sessionx'
|
||||
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'
|
||||
|
||||
|
||||
# Sessionx plugin settings (session management)
|
||||
set -g @sessionx-x-path '~/dotfiles'
|
||||
set -g @sessionx-window-height '85%'
|
||||
set -g @sessionx-window-width '75%'
|
||||
@@ -69,10 +124,18 @@ set -g @sessionx-zoxide-mode 'on'
|
||||
set -g @sessionx-custom-paths-subdirectories 'false'
|
||||
set -g @sessionx-filter-current 'false'
|
||||
|
||||
|
||||
# Continuum plugin: auto-restore sessions
|
||||
set -g @continuum-restore 'on'
|
||||
|
||||
|
||||
# Resurrect plugin: save/restore nvim sessions
|
||||
set -g @resurrect-strategy-nvim 'session'
|
||||
|
||||
|
||||
# Gruvbox theme plugin: use dark mode
|
||||
set -g @tmux-gruvbox 'dark'
|
||||
|
||||
|
||||
# Initialize TPM (Tmux Plugin Manager)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
|
||||
+7
-87
@@ -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 = true
|
||||
|
||||
# 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"]
|
||||
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
|
||||
|
||||
@@ -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,93 +17,112 @@ 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
|
||||
############################################################
|
||||
# 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="$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$PATH"
|
||||
export MONOREPO_ROOT="$HOME/Projects/monorepo"
|
||||
export DOCKER_BUILDKIT=1
|
||||
|
||||
# Export SSH_AUTH_SOCK to GPG eo enable using gpgagent as the ssh-agent
|
||||
############################################################
|
||||
# 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=$(which nvim)
|
||||
alias vimdiff="$(which nvim) -d"
|
||||
alias docker-compose="$(which docker) compose"
|
||||
alias neofetch=fastfetch
|
||||
############################################################
|
||||
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'
|
||||
|
||||
|
||||
@@ -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 tool’s 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user