mirror of
https://github.com/anthonyoteri/dotfiles.git
synced 2026-06-05 15:46:54 -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.
|
#* 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"
|
#* 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.
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
theme_background = True
|
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.
|
#* 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.
|
#* 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 on boxes, is ignored if TTY mode is ON.
|
||||||
rounded_corners = True
|
rounded_corners = True
|
||||||
@@ -32,19 +32,19 @@ rounded_corners = True
|
|||||||
#* "block" has half the resolution of braille but uses more common characters.
|
#* "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.
|
#* "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.
|
#* 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 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 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 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 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.
|
#* 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"
|
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
|
# vim:fileencoding=utf-8:foldmethod=marker
|
||||||
|
|
||||||
#: Fonts {{{
|
#: Fonts {{{
|
||||||
@@ -19,8 +21,11 @@
|
|||||||
#: fonts manually, read the font specification syntax
|
#: fonts manually, read the font specification syntax
|
||||||
#: <https://sw.kovidgoyal.net/kitty/kittens/choose-fonts/#font-spec-
|
#: <https://sw.kovidgoyal.net/kitty/kittens/choose-fonts/#font-spec-
|
||||||
#: syntax>.
|
#: syntax>.
|
||||||
# font_family Hack
|
# Recommended: FiraCode or JetBrains Mono for ligatures
|
||||||
|
font_family FiraCode
|
||||||
font_size 15.0
|
font_size 15.0
|
||||||
|
# Add padding for readability
|
||||||
|
window_padding_width 8
|
||||||
# font_size 11.0
|
# font_size 11.0
|
||||||
|
|
||||||
#: Font size (in pts).
|
#: Font size (in pts).
|
||||||
@@ -71,7 +76,7 @@ font_size 15.0
|
|||||||
|
|
||||||
#: narrow_symbols codepoints [optionally the number of cells]
|
#: narrow_symbols codepoints [optionally the number of cells]
|
||||||
|
|
||||||
# disable_ligatures never
|
disable_ligatures never
|
||||||
|
|
||||||
#: Choose how you want to handle multi-character ligatures. The
|
#: Choose how you want to handle multi-character ligatures. The
|
||||||
#: default is to always render them. You can tell kitty to not render
|
#: default is to always render them. You can tell kitty to not render
|
||||||
@@ -376,6 +381,14 @@ font_size 15.0
|
|||||||
#: Scrollback {{{
|
#: Scrollback {{{
|
||||||
|
|
||||||
# scrollback_lines 2000
|
# 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.
|
#: Number of lines of history to keep in memory for scrolling back.
|
||||||
#: Memory is allocated on demand. Negative numbers are (effectively)
|
#: 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
|
#: 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.
|
#: 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
|
#: A template to render the tab title. The default just renders the
|
||||||
#: title with optional symbols for bell and activity. If you wish to
|
#: title with optional symbols for bell and activity. If you wish to
|
||||||
@@ -1314,7 +1327,7 @@ tab_bar_style powerline
|
|||||||
#: Color scheme {{{
|
#: Color scheme {{{
|
||||||
|
|
||||||
# foreground #dddddd
|
# foreground #dddddd
|
||||||
# background #000000
|
# background #181825
|
||||||
|
|
||||||
#: The foreground and background colors.
|
#: 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
|
final_space = true
|
||||||
|
|
||||||
[palette]
|
[palette]
|
||||||
black = '#262B44'
|
black = '#282828'
|
||||||
blue = '#4B95E9'
|
blue = '#458588'
|
||||||
green = '#59C9A5'
|
green = '#98971a'
|
||||||
orange = '#F07623'
|
orange = '#d79921'
|
||||||
red = '#D81E5B'
|
red = '#cc241d'
|
||||||
white = '#E0DEF4'
|
white = '#ebdbb2'
|
||||||
yellow = '#F3AE35'
|
yellow = '#fabd2f'
|
||||||
|
|
||||||
[secondary_prompt]
|
[secondary_prompt]
|
||||||
template = '<p:yellow,transparent></><,p:yellow> > </><p:yellow,transparent></> '
|
template = '<p:yellow,transparent></><,p:yellow> > </><p:yellow,transparent></> '
|
||||||
@@ -42,10 +42,10 @@ final_space = true
|
|||||||
style = 'diamond'
|
style = 'diamond'
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
template = ' {{ path .Path .Location }} '
|
template = ' <b>{{ path .Path .Location }}</b> '
|
||||||
foreground = 'p:white'
|
foreground = 'p:orange'
|
||||||
powerline_symbol = ''
|
powerline_symbol = ''
|
||||||
background = 'p:orange'
|
background = 'p:black'
|
||||||
type = 'path'
|
type = 'path'
|
||||||
style = 'powerline'
|
style = 'powerline'
|
||||||
|
|
||||||
@@ -53,25 +53,25 @@ final_space = true
|
|||||||
style = 'folder'
|
style = 'folder'
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[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 }} '
|
template = ' <b>{{ .HEAD }}</b>{{ if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }} '
|
||||||
foreground = 'p:black'
|
foreground = 'p:green'
|
||||||
powerline_symbol = ''
|
powerline_symbol = ''
|
||||||
background = 'p:green'
|
background = 'p:black'
|
||||||
type = 'git'
|
type = 'git'
|
||||||
style = 'powerline'
|
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 }}']
|
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 }}', '{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}', '{{ if gt .Ahead 0 }}#49416D{{ end }}', '{{ if gt .Behind 0 }}#7A306C{{ end }}']
|
background_templates = ['{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}']
|
||||||
|
|
||||||
[blocks.segments.properties]
|
[blocks.segments.properties]
|
||||||
branch_template = '{{ trunc 25 .Branch }}'
|
branch_template = '{{ trunc 25 .Branch }}'
|
||||||
fetch_status = true
|
fetch_status = true
|
||||||
fetch_upstream_icon = true
|
fetch_upstream_icon = false
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
template = ' '
|
template = ' '
|
||||||
foreground = 'p:white'
|
foreground = 'p:yellow'
|
||||||
powerline_symbol = ''
|
powerline_symbol = ''
|
||||||
background = 'p:yellow'
|
background = 'p:black'
|
||||||
type = 'root'
|
type = 'root'
|
||||||
style = 'powerline'
|
style = 'powerline'
|
||||||
|
|
||||||
@@ -79,8 +79,8 @@ final_space = true
|
|||||||
leading_diamond = '<transparent,background></>'
|
leading_diamond = '<transparent,background></>'
|
||||||
trailing_diamond = ''
|
trailing_diamond = ''
|
||||||
template = ' {{ if gt .Code 0 }}{{ else }}{{ end }} '
|
template = ' {{ if gt .Code 0 }}{{ else }}{{ end }} '
|
||||||
foreground = 'p:white'
|
foreground = 'p:blue'
|
||||||
background = 'p:blue'
|
background = 'p:black'
|
||||||
type = 'status'
|
type = 'status'
|
||||||
style = 'diamond'
|
style = 'diamond'
|
||||||
background_templates = ['{{ if gt .Code 0 }}p:red{{ end }}']
|
background_templates = ['{{ if gt .Code 0 }}p:red{{ end }}']
|
||||||
@@ -92,7 +92,7 @@ final_space = true
|
|||||||
type = 'rprompt'
|
type = 'rprompt'
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
template = ' '
|
template = ' <b>{{ .Version }}</b>'
|
||||||
foreground = 'p:green'
|
foreground = 'p:green'
|
||||||
background = 'transparent'
|
background = 'transparent'
|
||||||
type = 'node'
|
type = 'node'
|
||||||
@@ -102,19 +102,10 @@ final_space = true
|
|||||||
display_mode = 'files'
|
display_mode = 'files'
|
||||||
fetch_package_manager = false
|
fetch_package_manager = false
|
||||||
home_enabled = false
|
home_enabled = false
|
||||||
|
fetch_version = true
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
template = ' '
|
template = ' <b>{{ .Version }}</b>'
|
||||||
foreground = 'p:blue'
|
|
||||||
background = 'transparent'
|
|
||||||
type = 'go'
|
|
||||||
style = 'plain'
|
|
||||||
|
|
||||||
[blocks.segments.properties]
|
|
||||||
fetch_version = false
|
|
||||||
|
|
||||||
[[blocks.segments]]
|
|
||||||
template = ' '
|
|
||||||
foreground = 'p:yellow'
|
foreground = 'p:yellow'
|
||||||
background = 'transparent'
|
background = 'transparent'
|
||||||
type = 'python'
|
type = 'python'
|
||||||
@@ -122,16 +113,19 @@ final_space = true
|
|||||||
|
|
||||||
[blocks.segments.properties]
|
[blocks.segments.properties]
|
||||||
display_mode = 'files'
|
display_mode = 'files'
|
||||||
fetch_version = false
|
fetch_version = true
|
||||||
fetch_virtual_env = false
|
fetch_virtual_env = true
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
template = 'in <p:blue><b>{{ .Name }}</b></> '
|
template = ' <b>{{ .Version }}</b>'
|
||||||
foreground = 'p:white'
|
foreground = 'p:blue'
|
||||||
background = 'transparent'
|
background = 'transparent'
|
||||||
type = 'shell'
|
type = 'rust'
|
||||||
style = 'plain'
|
style = 'plain'
|
||||||
|
|
||||||
|
[blocks.segments.properties]
|
||||||
|
fetch_version = true
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
template = 'at <p:blue><b>{{ .CurrentDate | date "15:04:05" }}</b></>'
|
template = 'at <p:blue><b>{{ .CurrentDate | date "15:04:05" }}</b></>'
|
||||||
foreground = 'p:white'
|
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 -g default-terminal 'screen-256color'
|
||||||
set-option -sa terminal-overrides ",xterm-256color:RGB"
|
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 -g mouse on
|
||||||
|
|
||||||
# Set prefix to Ctrl+Space
|
# (Optional) Change prefix to Ctrl+Space instead of default Ctrl+B
|
||||||
#unbind C-b
|
|
||||||
#set -g prefix C-Space
|
|
||||||
#bind C-Space send-prefix
|
|
||||||
|
|
||||||
# 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-H previous-window
|
||||||
bind -n M-L next-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 base-index 1
|
||||||
set -g pane-base-index 1
|
set -g pane-base-index 1
|
||||||
set-window-option -g pane-base-index 1
|
set-window-option -g pane-base-index 1
|
||||||
set-option -g renumber-windows on
|
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 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 escape-time 0 # zero-out escape time delay
|
||||||
set -g history-limit 1000000 # increase history size
|
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 status-position top # macOS / darwin style
|
||||||
set -g default-terminal "${TERM}"
|
set -g default-terminal "${TERM}"
|
||||||
|
|
||||||
# Set vi-mode
|
# --- Copy & Selection ---
|
||||||
|
# Use vi-style keys in copy mode
|
||||||
set-window-option -g mode-keys vi
|
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 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 C-v send-keys -X rectangle-toggle
|
||||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
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 -v -c "#{pane_current_path}"
|
||||||
bind % split-window -h -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
|
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/tpm'
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
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-sessionx'
|
||||||
set -g @plugin 'omerxx/tmux-floax'
|
set -g @plugin 'omerxx/tmux-floax'
|
||||||
|
|
||||||
|
|
||||||
|
# Floax plugin settings (floating windows)
|
||||||
set -g @floax-width '80%'
|
set -g @floax-width '80%'
|
||||||
set -g @floax-height '80%'
|
set -g @floax-height '80%'
|
||||||
set -g @floax-bind 'p'
|
set -g @floax-bind 'p'
|
||||||
set -g @floax-change-path 'true'
|
set -g @floax-change-path 'true'
|
||||||
|
|
||||||
|
|
||||||
|
# Sessionx plugin settings (session management)
|
||||||
set -g @sessionx-x-path '~/dotfiles'
|
set -g @sessionx-x-path '~/dotfiles'
|
||||||
set -g @sessionx-window-height '85%'
|
set -g @sessionx-window-height '85%'
|
||||||
set -g @sessionx-window-width '75%'
|
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-custom-paths-subdirectories 'false'
|
||||||
set -g @sessionx-filter-current 'false'
|
set -g @sessionx-filter-current 'false'
|
||||||
|
|
||||||
|
|
||||||
|
# Continuum plugin: auto-restore sessions
|
||||||
set -g @continuum-restore 'on'
|
set -g @continuum-restore 'on'
|
||||||
|
|
||||||
|
|
||||||
|
# Resurrect plugin: save/restore nvim sessions
|
||||||
set -g @resurrect-strategy-nvim 'session'
|
set -g @resurrect-strategy-nvim 'session'
|
||||||
|
|
||||||
|
|
||||||
|
# Gruvbox theme plugin: use dark mode
|
||||||
set -g @tmux-gruvbox 'dark'
|
set -g @tmux-gruvbox 'dark'
|
||||||
|
|
||||||
|
|
||||||
|
# Initialize TPM (Tmux Plugin Manager)
|
||||||
run '~/.tmux/plugins/tpm/tpm'
|
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
|
# Topgrade configuration for seamless integration with tmux, kitty, and btop (Gruvbox dark theme)
|
||||||
# Files in $CONFIG_DIR/topgrade.d/ are automatically included before this file
|
|
||||||
[include]
|
[include]
|
||||||
# paths = ["/etc/topgrade.toml"]
|
# paths = ["/etc/topgrade.toml"]
|
||||||
|
|
||||||
|
|
||||||
[misc]
|
[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
|
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
|
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
|
cleanup = true
|
||||||
|
assume_yes = true
|
||||||
# Send a notification for every step (default: false)
|
only = []
|
||||||
# notify_each_step = false
|
display_time = true
|
||||||
|
notify_each_step = true
|
||||||
# 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"]
|
|
||||||
|
|
||||||
|
|
||||||
# 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]
|
[python]
|
||||||
# enable_pip_review = true ###disabled by default
|
# enable_pip_review = true ###disabled by default
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
|
############################################################
|
||||||
# Homebrew integration
|
# Homebrew integration
|
||||||
|
############################################################
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
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"
|
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
|
||||||
|
|
||||||
# Download Zinit, if it's not there yet
|
# Download Zinit, if it's not there yet
|
||||||
@@ -13,93 +17,112 @@ fi
|
|||||||
# Source / Load Zinit
|
# Source / Load Zinit
|
||||||
source "${ZINIT_HOME}/zinit.zsh"
|
source "${ZINIT_HOME}/zinit.zsh"
|
||||||
|
|
||||||
# Configure EZA snippet
|
############################################################
|
||||||
|
# EZA configuration
|
||||||
|
############################################################
|
||||||
zstyle ':omz:plugins:eza' 'dirs-first' yes
|
zstyle ':omz:plugins:eza' 'dirs-first' yes
|
||||||
zstyle ':omz:plugins:eza' 'git-status' yes
|
zstyle ':omz:plugins:eza' 'git-status' yes
|
||||||
zstyle ':omz:plugins:eza' 'icons' yes
|
zstyle ':omz:plugins:eza' 'icons' yes
|
||||||
zstyle ':omz:plugins:eza' 'show-group' 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-syntax-highlighting
|
||||||
zinit light zsh-users/zsh-completions
|
zinit ice wait"1"; zinit light zsh-users/zsh-completions
|
||||||
zinit light zsh-users/zsh-autosuggestions
|
zinit ice wait"1"; zinit light zsh-users/zsh-autosuggestions
|
||||||
zinit light Aloxaf/fzf-tab
|
zinit ice wait"2"; zinit light Aloxaf/fzf-tab
|
||||||
|
|
||||||
# Add in snippets
|
############################################################
|
||||||
zinit snippet OMZP::aliases
|
# Oh-My-Zsh Snippets (lazy-loaded)
|
||||||
zinit snippet OMZP::ansible
|
############################################################
|
||||||
zinit snippet OMZP::aws
|
zinit ice wait"1"; zinit snippet OMZP::aliases
|
||||||
zinit snippet OMZP::brew
|
zinit ice wait"2"; zinit snippet OMZP::ansible
|
||||||
zinit snippet OMZP::command-not-found
|
zinit ice wait"2"; zinit snippet OMZP::aws
|
||||||
zinit snippet OMZP::common-aliases
|
zinit ice wait"1"; zinit snippet OMZP::brew
|
||||||
zinit snippet OMZP::debian
|
zinit ice wait"2"; zinit snippet OMZP::command-not-found
|
||||||
zinit snippet OMZP::docker
|
zinit ice wait"2"; zinit snippet OMZP::common-aliases
|
||||||
zinit snippet OMZP::docker-compose
|
zinit ice wait"2"; zinit snippet OMZP::debian
|
||||||
zinit snippet OMZP::dotenv
|
zinit ice wait"2"; zinit snippet OMZP::docker
|
||||||
zinit snippet OMZP::eza
|
zinit ice wait"2"; zinit snippet OMZP::docker-compose
|
||||||
zinit snippet OMZP::gh
|
zinit ice wait"2"; zinit snippet OMZP::dotenv
|
||||||
zinit snippet OMZP::git
|
zinit ice wait"1"; zinit snippet OMZP::eza
|
||||||
zinit snippet OMZP::github
|
zinit ice wait"2"; zinit snippet OMZP::gh
|
||||||
zinit snippet OMZP::kitty
|
zinit ice wait"1"; zinit snippet OMZP::git
|
||||||
zinit snippet OMZP::kubectl
|
zinit ice wait"2"; zinit snippet OMZP::github
|
||||||
zinit snippet OMZP::kubectx
|
zinit ice wait"2"; zinit snippet OMZP::kitty
|
||||||
zinit snippet OMZP::nmap
|
zinit ice wait"2"; zinit snippet OMZP::kubectl
|
||||||
zinit snippet OMZP::rust
|
zinit ice wait"2"; zinit snippet OMZP::kubectx
|
||||||
zinit snippet OMZP::ssh
|
zinit ice wait"2"; zinit snippet OMZP::nmap
|
||||||
zinit snippet OMZP::ssh-agent
|
zinit ice wait"2"; zinit snippet OMZP::rust
|
||||||
zinit snippet OMZP::sudo
|
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
|
zinit cdreplay -q
|
||||||
|
|
||||||
# Add in Oh-My-Posh Prompt
|
############################################################
|
||||||
|
# Oh-My-Posh Prompt
|
||||||
|
############################################################
|
||||||
if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then
|
if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then
|
||||||
eval "$(oh-my-posh init zsh --config ${HOME}/.config/ohmyposh/omp.toml)"
|
eval "$(oh-my-posh init zsh --config ${HOME}/.config/ohmyposh/omp.toml)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# History
|
############################################################
|
||||||
|
# History configuration
|
||||||
|
############################################################
|
||||||
HISTSIZE=5000
|
HISTSIZE=5000
|
||||||
HISTFILE=~/.zsh_history
|
HISTFILE=~/.zsh_history
|
||||||
SAVEHIST=$HISTSIZE
|
SAVEHIST=$HISTSIZE
|
||||||
HISTDUP=erase
|
HISTDUP=erase
|
||||||
setopt appendhistory
|
# History options grouped for clarity
|
||||||
setopt sharehistory
|
setopt appendhistory sharehistory hist_ignore_space hist_ignore_all_dups hist_save_no_dups hist_ignore_dups
|
||||||
setopt hist_ignore_space
|
|
||||||
setopt hist_ignore_all_dups
|
|
||||||
setopt hist_save_no_dups
|
|
||||||
setopt hist_ignore_dups
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
# Completion styling
|
# Completion styling
|
||||||
|
############################################################
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLOR}"
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLOR}"
|
||||||
zstyle ':completion:*' menu no
|
zstyle ':completion:*' menu no
|
||||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
|
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
|
||||||
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
|
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
|
||||||
|
|
||||||
|
############################################################
|
||||||
# Shell integrations
|
# Shell integrations
|
||||||
|
############################################################
|
||||||
eval "$(fzf --zsh)"
|
eval "$(fzf --zsh)"
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
|
||||||
# Export custom environment variables
|
############################################################
|
||||||
|
# Custom environment variables
|
||||||
|
############################################################
|
||||||
export LANG=en_US.UTF-8
|
export LANG=en_US.UTF-8
|
||||||
export EDITOR='nvim'
|
export EDITOR='nvim'
|
||||||
export ARCHFLAGS='-arch x86_64'
|
export ARCHFLAGS='-arch x86_64'
|
||||||
export BAT_CONFIG_PATH=~/.config/bat/config.conf
|
export BAT_CONFIG_PATH=~/.config/bat/config.conf
|
||||||
export GPG_TTY=$(tty)
|
export GPG_TTY=$(tty)
|
||||||
export PATH=${HOME}/.local/bin:${HOME}/.cargo/bin:${HOME}/go/bin:${PATH}
|
export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$PATH"
|
||||||
export MONOREPO_ROOT=${HOME}/Projects/monorepo
|
export MONOREPO_ROOT="$HOME/Projects/monorepo"
|
||||||
export DOCKER_BUILDKIT=1
|
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)
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||||
gpgconf --launch gpg-agent
|
gpgconf --launch gpg-agent
|
||||||
|
|
||||||
|
############################################################
|
||||||
# Custom aliases
|
# Custom aliases
|
||||||
|
############################################################
|
||||||
alias cat='bat'
|
alias cat='bat'
|
||||||
alias vim=$(which nvim)
|
alias vim='nvim'
|
||||||
alias vimdiff="$(which nvim) -d"
|
alias vimdiff='nvim -d'
|
||||||
alias docker-compose="$(which docker) compose"
|
alias docker-compose='docker compose'
|
||||||
alias neofetch=fastfetch
|
alias neofetch='fastfetch'
|
||||||
|
alias lazygit='lazygit -ucd $HOME/.config/lazygit'
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +1,75 @@
|
|||||||
|
|
||||||
|
|
||||||
# dotfiles
|
# 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
|
```sh
|
||||||
git clone https://github.com/anthonyoteri/dotfiles ~/dotfiles
|
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
|
```sh
|
||||||
stow .
|
stow .
|
||||||
```
|
```
|
||||||
|
|
||||||
## Adding a new file.
|
## Adding a New File
|
||||||
|
|
||||||
Move the file into the `~/dotfiles` folder under the same directory structure
|
Move the file into the `~/dotfiles` folder under the same directory structure as
|
||||||
as if the root of the repository were the home folder, then run `stow .` to
|
if the root of the repository were the home folder, then run `stow .` to create a
|
||||||
create a symlink.
|
symlink.
|
||||||
|
|
||||||
## How it works
|
## How It Works
|
||||||
|
|
||||||
The original files should live under the `~/dotfiles` directory in the same
|
The original files should live under the `~/dotfiles` directory in the same layout
|
||||||
layout as they would appear in the home directory. Gnu Stow will walk the
|
as they would appear in the home directory. Gnu Stow will walk the directory tree
|
||||||
directory tree, and create symlinks in the parent directory of any files it
|
and create symlinks in the parent directory of any files it finds there. For
|
||||||
finds there. E.g. `~/dotfiles/.foobar` will be mapped as a symlink to
|
example, `~/dotfiles/.foobar` will be mapped as a symlink to `~/.foobar`, and
|
||||||
`~/.foobar`, and `~/dotfiles/some/path/.barfoo` will be mapped as a symlink
|
`~/dotfiles/some/path/.barfoo` will be mapped as a symlink to
|
||||||
to `~/some/path/.barfoo`.
|
`~/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