Compare commits
20 Commits
main
...
darwin-suc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f1d7435c67 | ||
|
|
77402fa734 | ||
|
|
35a6b009a3 | ||
|
|
bbb4130aae | ||
|
|
678d731ce0 | ||
|
|
996217b767 | ||
|
|
6e78dd71bf | ||
|
|
a1cb7e284c | ||
|
|
249ca358f9 | ||
|
|
03ed96f25d | ||
|
|
37ca2b3724 | ||
|
|
424dadd45f | ||
|
|
d54160c4db | ||
|
|
f3417e1987 | ||
|
|
9c6c668591 | ||
|
|
5158a4c5a4 | ||
|
|
607e480170 | ||
|
|
e0adf7ec6a | ||
|
|
c5cb34ac1c | ||
|
|
149fd7ac90 |
@@ -1,28 +0,0 @@
|
|||||||
# homebrew
|
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
||||||
|
|
||||||
# ----------------------
|
|
||||||
# Aliases
|
|
||||||
# ----------------------
|
|
||||||
alias ga='git add'
|
|
||||||
alias gaa='git add -A'
|
|
||||||
alias gcm='git commit -m'
|
|
||||||
alias gpsh='git push'
|
|
||||||
alias gs='git status'
|
|
||||||
|
|
||||||
alias ls='lsd'
|
|
||||||
alias nv='nvim'
|
|
||||||
alias neofetch="fastfetch"
|
|
||||||
alias python='python3'
|
|
||||||
|
|
||||||
# ---- Air for GO ----
|
|
||||||
alias air="~/go/bin/air"
|
|
||||||
|
|
||||||
# ---- starship ----
|
|
||||||
eval "$(starship init bash)"
|
|
||||||
|
|
||||||
# ---- zoxide ----
|
|
||||||
eval "$(zoxide init --cmd cd bash)"
|
|
||||||
|
|
||||||
# ---- fzf ----
|
|
||||||
eval "$(fzf --bash)"
|
|
||||||
245
.clang-format
245
.clang-format
@@ -1,245 +0,0 @@
|
|||||||
---
|
|
||||||
Language: Cpp
|
|
||||||
# BasedOnStyle: LLVM
|
|
||||||
AccessModifierOffset: -4
|
|
||||||
AlignAfterOpenBracket: Align
|
|
||||||
AlignArrayOfStructures: None
|
|
||||||
AlignConsecutiveAssignments:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: true
|
|
||||||
AlignConsecutiveBitFields:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveDeclarations:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveMacros:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveShortCaseStatements:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCaseColons: false
|
|
||||||
AlignEscapedNewlines: Right
|
|
||||||
AlignOperands: Align
|
|
||||||
AlignTrailingComments:
|
|
||||||
Kind: Always
|
|
||||||
OverEmptyLines: 0
|
|
||||||
AllowAllArgumentsOnNextLine: true
|
|
||||||
AllowAllParametersOfDeclarationOnNextLine: true
|
|
||||||
AllowBreakBeforeNoexceptSpecifier: Never
|
|
||||||
AllowShortBlocksOnASingleLine: Never
|
|
||||||
AllowShortCaseLabelsOnASingleLine: false
|
|
||||||
AllowShortCompoundRequirementOnASingleLine: true
|
|
||||||
AllowShortEnumsOnASingleLine: true
|
|
||||||
AllowShortFunctionsOnASingleLine: All
|
|
||||||
AllowShortIfStatementsOnASingleLine: Never
|
|
||||||
AllowShortLambdasOnASingleLine: All
|
|
||||||
AllowShortLoopsOnASingleLine: false
|
|
||||||
AlwaysBreakAfterDefinitionReturnType: None
|
|
||||||
AlwaysBreakAfterReturnType: None
|
|
||||||
AlwaysBreakBeforeMultilineStrings: false
|
|
||||||
AlwaysBreakTemplateDeclarations: MultiLine
|
|
||||||
AttributeMacros:
|
|
||||||
- __capability
|
|
||||||
BinPackArguments: true
|
|
||||||
BinPackParameters: true
|
|
||||||
BitFieldColonSpacing: Both
|
|
||||||
BraceWrapping:
|
|
||||||
AfterCaseLabel: false
|
|
||||||
AfterClass: false
|
|
||||||
AfterControlStatement: Never
|
|
||||||
AfterEnum: false
|
|
||||||
AfterExternBlock: false
|
|
||||||
AfterFunction: false
|
|
||||||
AfterNamespace: false
|
|
||||||
AfterObjCDeclaration: false
|
|
||||||
AfterStruct: false
|
|
||||||
AfterUnion: false
|
|
||||||
BeforeCatch: false
|
|
||||||
BeforeElse: false
|
|
||||||
BeforeLambdaBody: false
|
|
||||||
BeforeWhile: false
|
|
||||||
IndentBraces: false
|
|
||||||
SplitEmptyFunction: true
|
|
||||||
SplitEmptyRecord: true
|
|
||||||
SplitEmptyNamespace: true
|
|
||||||
BreakAdjacentStringLiterals: true
|
|
||||||
BreakAfterAttributes: Leave
|
|
||||||
BreakAfterJavaFieldAnnotations: false
|
|
||||||
BreakArrays: true
|
|
||||||
BreakBeforeBinaryOperators: None
|
|
||||||
BreakBeforeConceptDeclarations: Always
|
|
||||||
BreakBeforeBraces: Attach
|
|
||||||
BreakBeforeInlineASMColon: OnlyMultiline
|
|
||||||
BreakBeforeTernaryOperators: true
|
|
||||||
BreakConstructorInitializers: BeforeColon
|
|
||||||
BreakInheritanceList: BeforeColon
|
|
||||||
BreakStringLiterals: true
|
|
||||||
ColumnLimit: 80
|
|
||||||
CommentPragmas: '^ IWYU pragma:'
|
|
||||||
CompactNamespaces: false
|
|
||||||
ConstructorInitializerIndentWidth: 4
|
|
||||||
ContinuationIndentWidth: 4
|
|
||||||
Cpp11BracedListStyle: true
|
|
||||||
DerivePointerAlignment: false
|
|
||||||
DisableFormat: false
|
|
||||||
EmptyLineAfterAccessModifier: Never
|
|
||||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
|
||||||
ExperimentalAutoDetectBinPacking: false
|
|
||||||
FixNamespaceComments: true
|
|
||||||
ForEachMacros:
|
|
||||||
- foreach
|
|
||||||
- Q_FOREACH
|
|
||||||
- BOOST_FOREACH
|
|
||||||
IfMacros:
|
|
||||||
- KJ_IF_MAYBE
|
|
||||||
IncludeBlocks: Preserve
|
|
||||||
IncludeCategories:
|
|
||||||
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
|
|
||||||
Priority: 2
|
|
||||||
SortPriority: 0
|
|
||||||
CaseSensitive: false
|
|
||||||
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
|
|
||||||
Priority: 3
|
|
||||||
SortPriority: 0
|
|
||||||
CaseSensitive: false
|
|
||||||
- Regex: '.*'
|
|
||||||
Priority: 1
|
|
||||||
SortPriority: 0
|
|
||||||
CaseSensitive: false
|
|
||||||
IncludeIsMainRegex: '(Test)?$'
|
|
||||||
IncludeIsMainSourceRegex: ''
|
|
||||||
IndentAccessModifiers: false
|
|
||||||
IndentCaseBlocks: false
|
|
||||||
IndentCaseLabels: false
|
|
||||||
IndentExternBlock: AfterExternBlock
|
|
||||||
IndentGotoLabels: true
|
|
||||||
IndentPPDirectives: None
|
|
||||||
IndentRequiresClause: true
|
|
||||||
IndentWidth: 4
|
|
||||||
IndentWrappedFunctionNames: false
|
|
||||||
InsertBraces: false
|
|
||||||
InsertNewlineAtEOF: false
|
|
||||||
InsertTrailingCommas: None
|
|
||||||
IntegerLiteralSeparator:
|
|
||||||
Binary: 0
|
|
||||||
BinaryMinDigits: 0
|
|
||||||
Decimal: 0
|
|
||||||
DecimalMinDigits: 0
|
|
||||||
Hex: 0
|
|
||||||
HexMinDigits: 0
|
|
||||||
JavaScriptQuotes: Leave
|
|
||||||
JavaScriptWrapImports: true
|
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
|
||||||
KeepEmptyLinesAtEOF: false
|
|
||||||
LambdaBodyIndentation: Signature
|
|
||||||
LineEnding: DeriveLF
|
|
||||||
MacroBlockBegin: ''
|
|
||||||
MacroBlockEnd: ''
|
|
||||||
MaxEmptyLinesToKeep: 1
|
|
||||||
NamespaceIndentation: None
|
|
||||||
ObjCBinPackProtocolList: Auto
|
|
||||||
ObjCBlockIndentWidth: 4
|
|
||||||
ObjCBreakBeforeNestedBlockParam: true
|
|
||||||
ObjCSpaceAfterProperty: false
|
|
||||||
ObjCSpaceBeforeProtocolList: true
|
|
||||||
PackConstructorInitializers: BinPack
|
|
||||||
PenaltyBreakAssignment: 2
|
|
||||||
PenaltyBreakBeforeFirstCallParameter: 19
|
|
||||||
PenaltyBreakComment: 300
|
|
||||||
PenaltyBreakFirstLessLess: 120
|
|
||||||
PenaltyBreakOpenParenthesis: 0
|
|
||||||
PenaltyBreakScopeResolution: 500
|
|
||||||
PenaltyBreakString: 1000
|
|
||||||
PenaltyBreakTemplateDeclaration: 10
|
|
||||||
PenaltyExcessCharacter: 1000000
|
|
||||||
PenaltyIndentedWhitespace: 0
|
|
||||||
PenaltyReturnTypeOnItsOwnLine: 60
|
|
||||||
PointerAlignment: Right
|
|
||||||
PPIndentWidth: -1
|
|
||||||
QualifierAlignment: Leave
|
|
||||||
ReferenceAlignment: Pointer
|
|
||||||
ReflowComments: true
|
|
||||||
RemoveBracesLLVM: false
|
|
||||||
RemoveParentheses: Leave
|
|
||||||
RemoveSemicolon: false
|
|
||||||
RequiresClausePosition: OwnLine
|
|
||||||
RequiresExpressionIndentation: OuterScope
|
|
||||||
SeparateDefinitionBlocks: Leave
|
|
||||||
ShortNamespaceLines: 1
|
|
||||||
SkipMacroDefinitionBody: false
|
|
||||||
SortIncludes: CaseSensitive
|
|
||||||
SortJavaStaticImport: Before
|
|
||||||
SortUsingDeclarations: LexicographicNumeric
|
|
||||||
SpaceAfterCStyleCast: false
|
|
||||||
SpaceAfterLogicalNot: false
|
|
||||||
SpaceAfterTemplateKeyword: true
|
|
||||||
SpaceAroundPointerQualifiers: Default
|
|
||||||
SpaceBeforeAssignmentOperators: true
|
|
||||||
SpaceBeforeCaseColon: false
|
|
||||||
SpaceBeforeCpp11BracedList: false
|
|
||||||
SpaceBeforeCtorInitializerColon: true
|
|
||||||
SpaceBeforeInheritanceColon: true
|
|
||||||
SpaceBeforeJsonColon: false
|
|
||||||
SpaceBeforeParens: ControlStatements
|
|
||||||
SpaceBeforeParensOptions:
|
|
||||||
AfterControlStatements: true
|
|
||||||
AfterForeachMacros: true
|
|
||||||
AfterFunctionDefinitionName: false
|
|
||||||
AfterFunctionDeclarationName: false
|
|
||||||
AfterIfMacros: true
|
|
||||||
AfterOverloadedOperator: false
|
|
||||||
AfterPlacementOperator: true
|
|
||||||
AfterRequiresInClause: false
|
|
||||||
AfterRequiresInExpression: false
|
|
||||||
BeforeNonEmptyParentheses: false
|
|
||||||
SpaceBeforeRangeBasedForLoopColon: true
|
|
||||||
SpaceBeforeSquareBrackets: false
|
|
||||||
SpaceInEmptyBlock: false
|
|
||||||
SpacesBeforeTrailingComments: 1
|
|
||||||
SpacesInAngles: Never
|
|
||||||
SpacesInContainerLiterals: true
|
|
||||||
SpacesInLineCommentPrefix:
|
|
||||||
Minimum: 1
|
|
||||||
Maximum: -1
|
|
||||||
SpacesInParens: Never
|
|
||||||
SpacesInParensOptions:
|
|
||||||
InCStyleCasts: false
|
|
||||||
InConditionalStatements: false
|
|
||||||
InEmptyParentheses: false
|
|
||||||
Other: false
|
|
||||||
SpacesInSquareBrackets: false
|
|
||||||
Standard: Latest
|
|
||||||
StatementAttributeLikeMacros:
|
|
||||||
- Q_EMIT
|
|
||||||
StatementMacros:
|
|
||||||
- Q_UNUSED
|
|
||||||
- QT_REQUIRE_VERSION
|
|
||||||
TabWidth: 8
|
|
||||||
UseTab: Never
|
|
||||||
VerilogBreakBetweenInstancePorts: true
|
|
||||||
WhitespaceSensitiveMacros:
|
|
||||||
- BOOST_PP_STRINGIZE
|
|
||||||
- CF_SWIFT_NAME
|
|
||||||
- NS_SWIFT_NAME
|
|
||||||
- PP_STRINGIZE
|
|
||||||
- STRINGIZE
|
|
||||||
...
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import = ["~/.config/alacritty/themes/rose-pine.toml"]
|
|
||||||
|
|
||||||
[env]
|
|
||||||
TERM = "xterm-256color"
|
|
||||||
|
|
||||||
[font]
|
|
||||||
size = 16.0
|
|
||||||
|
|
||||||
[font.bold]
|
|
||||||
style = "Bold"
|
|
||||||
|
|
||||||
[font.glyph_offset]
|
|
||||||
x = 0
|
|
||||||
y = 1
|
|
||||||
|
|
||||||
[font.normal]
|
|
||||||
family = "JetBrainsMono Nerd Font"
|
|
||||||
|
|
||||||
[font.italic]
|
|
||||||
style = "Italic"
|
|
||||||
|
|
||||||
[mouse]
|
|
||||||
hide_when_typing = true
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
style = "Beam"
|
|
||||||
|
|
||||||
[scrolling]
|
|
||||||
history = 1000
|
|
||||||
|
|
||||||
[window]
|
|
||||||
decorations = "none"
|
|
||||||
opacity = 0.95
|
|
||||||
|
|
||||||
[window.dimensions]
|
|
||||||
columns = 98
|
|
||||||
lines = 28
|
|
||||||
|
|
||||||
[window.padding]
|
|
||||||
x = 0
|
|
||||||
y = 0
|
|
||||||
|
|
||||||
# macOS copy/paste
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
action = "Paste"
|
|
||||||
key = "v"
|
|
||||||
mods = "Command"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
action = "Copy"
|
|
||||||
key = "c"
|
|
||||||
mods = "Command"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
action = "ToggleFullscreen"
|
|
||||||
key = "Return"
|
|
||||||
mods = "Control"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
chars = "\u001B[1;5C"
|
|
||||||
key = "Right"
|
|
||||||
mods = "Option"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
chars = "\u001B[1;5D"
|
|
||||||
key = "Left"
|
|
||||||
mods = "Option"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
chars = "\u0015"
|
|
||||||
key = "Backspace"
|
|
||||||
mods = "Command"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
key = "K"
|
|
||||||
mods = "Command"
|
|
||||||
mode = "~Vi|~Search"
|
|
||||||
action = "ClearHistory"
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
# Colors section of "Alacritty - TOML configuration file format"
|
|
||||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
|
|
||||||
|
|
||||||
[colors.primary]
|
|
||||||
foreground = "#e0def4"
|
|
||||||
background = "#191724"
|
|
||||||
dim_foreground = "#908caa"
|
|
||||||
bright_foreground = "#e0def4"
|
|
||||||
|
|
||||||
[colors.cursor]
|
|
||||||
text = "#e0def4"
|
|
||||||
cursor = "#524f67"
|
|
||||||
|
|
||||||
[colors.vi_mode_cursor]
|
|
||||||
text = "#e0def4"
|
|
||||||
cursor = "#524f67"
|
|
||||||
|
|
||||||
[colors.search.matches]
|
|
||||||
foreground = "#908caa"
|
|
||||||
background = "#26233a"
|
|
||||||
|
|
||||||
[colors.search.focused_match]
|
|
||||||
foreground = "#191724"
|
|
||||||
background = "#ebbcba"
|
|
||||||
|
|
||||||
[colors.hints.start]
|
|
||||||
foreground = "#908caa"
|
|
||||||
background = "#1f1d2e"
|
|
||||||
|
|
||||||
[colors.hints.end]
|
|
||||||
foreground = "#6e6a86"
|
|
||||||
background = "#1f1d2e"
|
|
||||||
|
|
||||||
[colors.line_indicator]
|
|
||||||
foreground = "None"
|
|
||||||
background = "None"
|
|
||||||
|
|
||||||
[colors.footer_bar]
|
|
||||||
foreground = "#e0def4"
|
|
||||||
background = "#1f1d2e"
|
|
||||||
|
|
||||||
[colors.selection]
|
|
||||||
text = "#e0def4"
|
|
||||||
background = "#403d52"
|
|
||||||
|
|
||||||
[colors.normal]
|
|
||||||
black = "#26233a"
|
|
||||||
red = "#eb6f92"
|
|
||||||
green = "#31748f"
|
|
||||||
yellow = "#f6c177"
|
|
||||||
blue = "#9ccfd8"
|
|
||||||
magenta = "#c4a7e7"
|
|
||||||
cyan = "#ebbcba"
|
|
||||||
white = "#e0def4"
|
|
||||||
|
|
||||||
[colors.bright]
|
|
||||||
black = "#6e6a86"
|
|
||||||
red = "#eb6f92"
|
|
||||||
green = "#31748f"
|
|
||||||
yellow = "#f6c177"
|
|
||||||
blue = "#9ccfd8"
|
|
||||||
magenta = "#c4a7e7"
|
|
||||||
cyan = "#ebbcba"
|
|
||||||
white = "#e0def4"
|
|
||||||
|
|
||||||
[colors.dim]
|
|
||||||
black = "#6e6a86"
|
|
||||||
red = "#eb6f92"
|
|
||||||
green = "#31748f"
|
|
||||||
yellow = "#f6c177"
|
|
||||||
blue = "#9ccfd8"
|
|
||||||
magenta = "#c4a7e7"
|
|
||||||
cyan = "#ebbcba"
|
|
||||||
white = "#e0def4"
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
#? Config file for btop v. 1.4.4
|
|
||||||
|
|
||||||
#* 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"
|
|
||||||
|
|
||||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
|
||||||
theme_background = False
|
|
||||||
|
|
||||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* 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.
|
|
||||||
#* Use whitespace " " as separator between different presets.
|
|
||||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
|
||||||
presets = "cpu:0:default mem:0:default net:0:default"
|
|
||||||
|
|
||||||
#* 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 = True
|
|
||||||
|
|
||||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
|
||||||
rounded_corners = 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 to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_cpu = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_mem = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_net = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_proc = "default"
|
|
||||||
|
|
||||||
#* 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"
|
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
|
||||||
update_ms = 2000
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
|
||||||
proc_sorting = "memory"
|
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
|
||||||
proc_reversed = False
|
|
||||||
|
|
||||||
#* Show processes as a tree.
|
|
||||||
proc_tree = True
|
|
||||||
|
|
||||||
#* Use the cpu graph colors in the process list.
|
|
||||||
proc_colors = True
|
|
||||||
|
|
||||||
#* Use a darkening gradient in the process list.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
|
||||||
proc_mem_bytes = True
|
|
||||||
|
|
||||||
#* Show cpu graph for each process.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* Show proc box on left side of screen instead of right.
|
|
||||||
proc_left = False
|
|
||||||
|
|
||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
|
||||||
proc_filter_kernel = False
|
|
||||||
|
|
||||||
#* In tree-view, always accumulate child process resources in the parent process.
|
|
||||||
proc_aggregate = 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.
|
|
||||||
cpu_graph_upper = "Auto"
|
|
||||||
|
|
||||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
|
||||||
#* Select from a list of detected attributes from the options menu.
|
|
||||||
cpu_graph_lower = "Auto"
|
|
||||||
|
|
||||||
#* Toggles if the lower CPU graph should be inverted.
|
|
||||||
cpu_invert_lower = True
|
|
||||||
|
|
||||||
#* Set to True to completely disable the lower CPU graph.
|
|
||||||
cpu_single_graph = False
|
|
||||||
|
|
||||||
#* Show cpu box at bottom of screen instead of top.
|
|
||||||
cpu_bottom = False
|
|
||||||
|
|
||||||
#* Shows the system uptime in the CPU box.
|
|
||||||
show_uptime = True
|
|
||||||
|
|
||||||
#* Show cpu temperature.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* 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.
|
|
||||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
|
||||||
#* Example: "4:0 5:1 6:3"
|
|
||||||
cpu_core_map = ""
|
|
||||||
|
|
||||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
|
||||||
temp_scale = "celsius"
|
|
||||||
|
|
||||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
|
||||||
base_10_sizes = False
|
|
||||||
|
|
||||||
#* Show CPU frequency.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* Custom cpu model name, empty string to disable.
|
|
||||||
custom_cpu_name = ""
|
|
||||||
|
|
||||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
|
||||||
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
|
||||||
disks_filter = ""
|
|
||||||
|
|
||||||
#* Show graphs instead of meters for memory values.
|
|
||||||
mem_graphs = True
|
|
||||||
|
|
||||||
#* Show mem box below net box instead of above.
|
|
||||||
mem_below_net = False
|
|
||||||
|
|
||||||
#* Count ZFS ARC in cached and available memory.
|
|
||||||
zfs_arc_cached = True
|
|
||||||
|
|
||||||
#* If swap memory should be shown in memory box.
|
|
||||||
show_swap = True
|
|
||||||
|
|
||||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
|
||||||
swap_disk = True
|
|
||||||
|
|
||||||
#* If mem box should be split to also show disks info.
|
|
||||||
show_disks = True
|
|
||||||
|
|
||||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
|
||||||
only_physical = True
|
|
||||||
|
|
||||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* Set to true to show available disk space for privileged users.
|
|
||||||
disk_free_priv = False
|
|
||||||
|
|
||||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
|
||||||
show_io_stat = True
|
|
||||||
|
|
||||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
|
||||||
io_mode = False
|
|
||||||
|
|
||||||
#* Set to True to show combined read/write io graphs in io mode.
|
|
||||||
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".
|
|
||||||
io_graph_speeds = ""
|
|
||||||
|
|
||||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
|
||||||
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 = False
|
|
||||||
|
|
||||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
|
||||||
net_sync = True
|
|
||||||
|
|
||||||
#* Starts with the Network Interface specified here.
|
|
||||||
net_iface = ""
|
|
||||||
|
|
||||||
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
|
||||||
base_10_bitrate = "Auto"
|
|
||||||
|
|
||||||
#* Show battery stats in top right if battery is present.
|
|
||||||
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
|
|
||||||
|
|
||||||
#* Set loglevel for "~/.config/btop/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"
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
|
||||||
"logo": {
|
|
||||||
"padding": {
|
|
||||||
"top": 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"display": {
|
|
||||||
"separator": " ➜ "
|
|
||||||
},
|
|
||||||
"modules": [
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "os",
|
|
||||||
"key": "OS ",
|
|
||||||
"keyColor": "red"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "kernel",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "red"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"key": " └ ",
|
|
||||||
"keyColor": "red"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "wm",
|
|
||||||
"key": "WM ",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminal",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "terminalfont",
|
|
||||||
"key": " └ ",
|
|
||||||
"keyColor": "green"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
{
|
|
||||||
"type": "host",
|
|
||||||
"format": "{5} {1} Type {2}",
|
|
||||||
"key": "PC ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cpu",
|
|
||||||
"format": "{1} ({3}) @ {7} GHz",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "gpu",
|
|
||||||
"format": "{1} {2} @ {12} GHz",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "uptime",
|
|
||||||
"key": " └ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "memory",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "swap",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "disk",
|
|
||||||
"key": " ├ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "monitor",
|
|
||||||
"key": " └ ",
|
|
||||||
"keyColor": "yellow"
|
|
||||||
},
|
|
||||||
"break",
|
|
||||||
"break"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
theme = "catppuccin-mocha"
|
|
||||||
cursor-text = 181825
|
|
||||||
|
|
||||||
font-size = 14
|
|
||||||
font-family = "JetbrainsMono Nerd Font"
|
|
||||||
font-thicken = true
|
|
||||||
|
|
||||||
cursor-style = bar
|
|
||||||
cursor-style-blink = false
|
|
||||||
|
|
||||||
background-opacity = 0.9
|
|
||||||
background-blur-radius = 8
|
|
||||||
|
|
||||||
mouse-hide-while-typing = true
|
|
||||||
|
|
||||||
font-feature = -calt
|
|
||||||
font-feature = -liga
|
|
||||||
font-feature = -dlig
|
|
||||||
|
|
||||||
clipboard-read = allow
|
|
||||||
clipboard-write = allow
|
|
||||||
copy-on-select = clipboard
|
|
||||||
clipboard-trim-trailing-spaces = true
|
|
||||||
clipboard-paste-protection = true
|
|
||||||
|
|
||||||
window-decoration = false
|
|
||||||
|
|
||||||
window-padding-x = 2
|
|
||||||
window-padding-y = 2
|
|
||||||
window-padding-balance = true
|
|
||||||
|
|
||||||
# Don't use if using fullscreen
|
|
||||||
window-width = 168
|
|
||||||
window-height = 47
|
|
||||||
|
|
||||||
# macos stuff
|
|
||||||
quit-after-last-window-closed = true
|
|
||||||
macos-option-as-alt = true
|
|
||||||
# fullscreen = true
|
|
||||||
# macos-non-native-fullscreen = true # fullscreen, hide menubar and dock toooo
|
|
||||||
|
|
||||||
# keybind = cmd+backspace=text:\x15
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
[credential]
|
|
||||||
helper = cache
|
|
||||||
[user]
|
|
||||||
name = Kulvir Singh
|
|
||||||
email = kulvirs734@gmail.com
|
|
||||||
[init]
|
|
||||||
defaultBranch = trunk
|
|
||||||
[lfs]
|
|
||||||
enable = true
|
|
||||||
[push]
|
|
||||||
autoSetupRemote = true
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
include themes/Catppuccin_Mocha.conf
|
|
||||||
|
|
||||||
font_family JetBrainsMono Nerd Font
|
|
||||||
|
|
||||||
font_size 14.0
|
|
||||||
|
|
||||||
cursor_shape beam
|
|
||||||
|
|
||||||
background_opacity 0.9
|
|
||||||
background_blur 12
|
|
||||||
|
|
||||||
enable_audio_bell no
|
|
||||||
hide_window_decorations yes
|
|
||||||
|
|
||||||
# tab bar at bottom
|
|
||||||
tab_bar_style powerline
|
|
||||||
tab_bar_min_tabs 2
|
|
||||||
tab_title_template "{index}:{tab.active_exe}"
|
|
||||||
active_tab_title_template "{index}:{tab.active_exe}*"
|
|
||||||
tab_bar_background none
|
|
||||||
|
|
||||||
macos_quit_when_last_window_closed yes
|
|
||||||
macos_titlebar_color background
|
|
||||||
macos_show_window_title_in none
|
|
||||||
|
|
||||||
shell_integration enabled
|
|
||||||
|
|
||||||
map kitty_mod+enter no_op
|
|
||||||
map cmd+enter no_op
|
|
||||||
|
|
||||||
# Jump to tabs
|
|
||||||
map cmd+1 goto_tab 1
|
|
||||||
map cmd+2 goto_tab 2
|
|
||||||
map cmd+3 goto_tab 3
|
|
||||||
map cmd+4 goto_tab 4
|
|
||||||
map cmd+5 goto_tab 5
|
|
||||||
map cmd+6 goto_tab 6
|
|
||||||
map cmd+7 goto_tab 7
|
|
||||||
map cmd+8 goto_tab 8
|
|
||||||
map cmd+9 goto_tab 9
|
|
||||||
|
|
||||||
map cmd+t new_tab_with_cwd
|
|
||||||
|
|
||||||
# macOS nightmares - CMD/Option navs
|
|
||||||
map cmd+backspace send_text all \x15
|
|
||||||
map alt+backspace send_text all \x17
|
|
||||||
map cmd+left send_text all \x01
|
|
||||||
map cmd+right send_text all \x05
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
# vim:ft=kitty
|
|
||||||
|
|
||||||
## name: Catppuccin-Mocha
|
|
||||||
## author: Pocco81 (https://github.com/Pocco81)
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
|
||||||
## blurb: Soothing pastel theme for the high-spirited!
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# The basic colors
|
|
||||||
foreground #CDD6F4
|
|
||||||
background #1E1E2E
|
|
||||||
selection_foreground #1E1E2E
|
|
||||||
selection_background #F5E0DC
|
|
||||||
|
|
||||||
# Cursor colors
|
|
||||||
cursor #F5E0DC
|
|
||||||
cursor_text_color #1E1E2E
|
|
||||||
|
|
||||||
# URL underline color when hovering with mouse
|
|
||||||
url_color #F5E0DC
|
|
||||||
|
|
||||||
# Kitty window border colors
|
|
||||||
active_border_color #B4BEFE
|
|
||||||
inactive_border_color #6C7086
|
|
||||||
bell_border_color #F9E2AF
|
|
||||||
|
|
||||||
# OS Window titlebar colors
|
|
||||||
wayland_titlebar_color system
|
|
||||||
macos_titlebar_color system
|
|
||||||
|
|
||||||
# Tab bar colors
|
|
||||||
active_tab_foreground #11111B
|
|
||||||
active_tab_background #CBA6F7
|
|
||||||
inactive_tab_foreground #CDD6F4
|
|
||||||
inactive_tab_background #181825
|
|
||||||
tab_bar_background #11111B
|
|
||||||
|
|
||||||
# Colors for marks (marked text in the terminal)
|
|
||||||
mark1_foreground #1E1E2E
|
|
||||||
mark1_background #B4BEFE
|
|
||||||
mark2_foreground #1E1E2E
|
|
||||||
mark2_background #CBA6F7
|
|
||||||
mark3_foreground #1E1E2E
|
|
||||||
mark3_background #74C7EC
|
|
||||||
|
|
||||||
# The 16 terminal colors
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #45475A
|
|
||||||
color8 #585B70
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #F38BA8
|
|
||||||
color9 #F38BA8
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #A6E3A1
|
|
||||||
color10 #A6E3A1
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #F9E2AF
|
|
||||||
color11 #F9E2AF
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #89B4FA
|
|
||||||
color12 #89B4FA
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #F5C2E7
|
|
||||||
color13 #F5C2E7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #94E2D5
|
|
||||||
color14 #94E2D5
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #BAC2DE
|
|
||||||
color15 #A6ADC8
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"diagnostics.globals": [
|
|
||||||
"vim"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
|
||||||
"SchemaStore.nvim": { "branch": "main", "commit": "8e74c08998fd786239caba373344f4e4601e21fe" },
|
|
||||||
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
|
|
||||||
"catpuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" },
|
|
||||||
"conform.nvim": { "branch": "master", "commit": "a0ab60ed666c56b37fd7ed1847d2ac52f2482ce0" },
|
|
||||||
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1ec4da522fa49dcecee8d190efda273464dd2192" },
|
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
|
||||||
"mdx.nvim": { "branch": "main", "commit": "464a74be368dce212cff02f6305845dc7f209ab3" },
|
|
||||||
"mini.nvim": { "branch": "main", "commit": "dee23b41ba27bd583f1d19e199738f3bd0236648" },
|
|
||||||
"nvim-lint": { "branch": "master", "commit": "ee04d481d4e6089892c2fb2ad8924b1a053591e1" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "3d97ec4174bcc750d70718ddedabf150536a5891" },
|
|
||||||
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "4ae47f4fb18e85b80e84b729974fe65483b06aaf" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }
|
|
||||||
}
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
--[[
|
|
||||||
--
|
|
||||||
-- This file is not required for your own configuration,
|
|
||||||
-- but helps people determine if their system is setup correctly.
|
|
||||||
--
|
|
||||||
--]]
|
|
||||||
|
|
||||||
local check_version = function()
|
|
||||||
local verstr = string.format("%s.%s.%s", vim.version().major, vim.version().minor, vim.version().patch)
|
|
||||||
if not vim.version.cmp then
|
|
||||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if vim.version.cmp(vim.version(), { 0, 9, 4 }) >= 0 then
|
|
||||||
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
|
|
||||||
else
|
|
||||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local check_external_reqs = function()
|
|
||||||
-- Basic utils: `git`, `make`, `unzip`
|
|
||||||
for _, exe in ipairs { "git", "make", "unzip", "rg" } do
|
|
||||||
local is_executable = vim.fn.executable(exe) == 1
|
|
||||||
if is_executable then
|
|
||||||
vim.health.ok(string.format("Found executable: '%s'", exe))
|
|
||||||
else
|
|
||||||
vim.health.warn(string.format("Could not find executable: '%s'", exe))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
check = function()
|
|
||||||
vim.health.start "kickstart.nvim"
|
|
||||||
|
|
||||||
vim.health.info [[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
|
|
||||||
|
|
||||||
Fix only warnings for plugins and languages you intend to use.
|
|
||||||
Mason will give warnings for languages that are not installed.
|
|
||||||
You do not need to install, unless you want to use those languages!]]
|
|
||||||
|
|
||||||
local uv = vim.uv or vim.loop
|
|
||||||
vim.health.info("System Information: " .. vim.inspect(uv.os_uname()))
|
|
||||||
|
|
||||||
check_version()
|
|
||||||
check_external_reqs()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
return {
|
|
||||||
"saghen/blink.cmp",
|
|
||||||
event = "InsertEnter",
|
|
||||||
|
|
||||||
version = "1.*",
|
|
||||||
dependencies = {
|
|
||||||
"folke/lazydev.nvim",
|
|
||||||
},
|
|
||||||
|
|
||||||
---@module 'blink.cmp'
|
|
||||||
---@type blink.cmp.Config
|
|
||||||
opts = {
|
|
||||||
keymap = { preset = "default" },
|
|
||||||
|
|
||||||
appearance = {
|
|
||||||
nerd_font_variant = "mono",
|
|
||||||
},
|
|
||||||
|
|
||||||
completion = {
|
|
||||||
documentation = { auto_show = true, auto_show_delay_ms = 500 },
|
|
||||||
|
|
||||||
menu = {
|
|
||||||
draw = {
|
|
||||||
columns = {
|
|
||||||
{ "kind_icon", "label", "label_description", gap = 1 },
|
|
||||||
{ "kind" },
|
|
||||||
},
|
|
||||||
treesitter = { "lsp" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
sources = {
|
|
||||||
default = { "lsp", "path", "lazydev", "snippets", "buffer" },
|
|
||||||
providers = {
|
|
||||||
lazydev = { module = "lazydev.integrations.blink", score_offset = 100 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
fuzzy = { implementation = "prefer_rust_with_warning" },
|
|
||||||
|
|
||||||
signature = { enabled = true },
|
|
||||||
},
|
|
||||||
opts_extend = { "sources.default" },
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
return {
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catpuccin",
|
|
||||||
priority = 1000,
|
|
||||||
lazy = false,
|
|
||||||
init = function()
|
|
||||||
require("catppuccin").setup {
|
|
||||||
transparent_background = true,
|
|
||||||
float = {
|
|
||||||
solid = true,
|
|
||||||
transparent = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
vim.cmd.colorscheme "catppuccin"
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
return {
|
|
||||||
"stevearc/conform.nvim",
|
|
||||||
event = { "BufWritePre" },
|
|
||||||
cmd = { "ConformInfo" },
|
|
||||||
opts = {
|
|
||||||
notify_on_error = false,
|
|
||||||
|
|
||||||
format_on_save = function(bufnr)
|
|
||||||
-- Disable "format_on_save lsp_fallback" for languages that don't
|
|
||||||
-- have a well standardized coding style. You can add additional
|
|
||||||
-- languages here or re-enable it for the disabled ones.
|
|
||||||
local disable_filetypes = { c = true, cpp = true }
|
|
||||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
|
||||||
return nil
|
|
||||||
else
|
|
||||||
return {
|
|
||||||
timeout_ms = 500,
|
|
||||||
lsp_format = "fallback",
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
formatters_by_ft = {
|
|
||||||
css = { "prettier" },
|
|
||||||
go = { "gofumpt", "goimports_reviser" },
|
|
||||||
html = { "prettier" },
|
|
||||||
lua = { "stylua" },
|
|
||||||
python = {
|
|
||||||
"ruff_fix",
|
|
||||||
"ruff_format",
|
|
||||||
"ruff_organize_imports",
|
|
||||||
},
|
|
||||||
typescript = { "prettier" },
|
|
||||||
typescriptreact = { "prettier" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
main = "ibl",
|
|
||||||
event = "BufReadPre",
|
|
||||||
opts = {
|
|
||||||
indent = { char = "┊" },
|
|
||||||
whitespace = { highlight = { "Whitespace", "NonText" } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
return {
|
|
||||||
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
|
|
||||||
-- used for completion, annotations and signatures of Neovim apis
|
|
||||||
"folke/lazydev.nvim",
|
|
||||||
ft = "lua",
|
|
||||||
opts = {
|
|
||||||
library = {
|
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
|
||||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
return {
|
|
||||||
"mfussenegger/nvim-lint",
|
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
|
||||||
config = function()
|
|
||||||
local lint = require "lint"
|
|
||||||
|
|
||||||
lint.linters_by_ft = {
|
|
||||||
json = { "jsonlint" },
|
|
||||||
python = { "ruff" },
|
|
||||||
-- typescript = { "eslint" },
|
|
||||||
-- typescriptreact = { "eslint" },
|
|
||||||
}
|
|
||||||
|
|
||||||
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
|
||||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
|
||||||
group = lint_augroup,
|
|
||||||
callback = function()
|
|
||||||
require("lint").try_lint()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,193 +0,0 @@
|
|||||||
return {
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
|
|
||||||
dependencies = {
|
|
||||||
{ "williamboman/mason.nvim", opts = {} },
|
|
||||||
"williamboman/mason-lspconfig.nvim",
|
|
||||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
|
||||||
|
|
||||||
-- Useful status updates for LSP.
|
|
||||||
{ "j-hui/fidget.nvim", opts = {} },
|
|
||||||
"b0o/SchemaStore.nvim",
|
|
||||||
|
|
||||||
-- Allows extra capabilities provided by blink.cmp
|
|
||||||
"saghen/blink.cmp",
|
|
||||||
},
|
|
||||||
|
|
||||||
config = function()
|
|
||||||
vim.api.nvim_create_autocmd("LspAttach", {
|
|
||||||
group = vim.api.nvim_create_augroup("lsp-attach", { clear = true }),
|
|
||||||
callback = function(event)
|
|
||||||
local map = function(keys, func, desc, mode)
|
|
||||||
mode = mode or "n"
|
|
||||||
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
map("K", function()
|
|
||||||
vim.lsp.buf.hover {}
|
|
||||||
end, "Hover Documentation")
|
|
||||||
|
|
||||||
-- Jump to the definition of the word under your cursor.
|
|
||||||
-- This is where a variable was first declared, or where a function is defined, etc.
|
|
||||||
-- To jump back, press <C-t>.
|
|
||||||
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
|
||||||
|
|
||||||
-- Jump to the implementation of the word under your cursor.
|
|
||||||
-- Useful when your language (C) has ways of declaring types without an actual implementation.
|
|
||||||
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
|
||||||
|
|
||||||
map("grn", vim.lsp.buf.rename, "[R]e[n]ame")
|
|
||||||
|
|
||||||
map("gra", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
|
|
||||||
|
|
||||||
map("grr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
|
||||||
|
|
||||||
-- This is not Goto Definition, this is Goto Declaration.
|
|
||||||
-- For example, in C this would take you to the header.
|
|
||||||
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
|
||||||
|
|
||||||
map("grt", require("telescope.builtin").lsp_type_definitions, "[G]oto [T]ype Definition")
|
|
||||||
|
|
||||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
|
||||||
if
|
|
||||||
client
|
|
||||||
and client:supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf)
|
|
||||||
then
|
|
||||||
local highlight_augroup = vim.api.nvim_create_augroup("lsp-highlight", { clear = false })
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.document_highlight,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.clear_references,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("LspDetach", {
|
|
||||||
group = vim.api.nvim_create_augroup("lsp-detach", { clear = true }),
|
|
||||||
callback = function(event2)
|
|
||||||
vim.lsp.buf.clear_references()
|
|
||||||
vim.api.nvim_clear_autocmds { group = "lsp-highlight", buffer = event2.buf }
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("LspAttach", {
|
|
||||||
group = vim.api.nvim_create_augroup("lsp_attach_disable_ruff_hover", { clear = true }),
|
|
||||||
callback = function(args)
|
|
||||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
|
||||||
if client == nil then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
if client.name == "ruff" then
|
|
||||||
-- Disable hover in favor of Pyright
|
|
||||||
client.server_capabilities.hoverProvider = false
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
desc = "LSP: Disable hover capability from Ruff",
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.diagnostic.config {
|
|
||||||
severity_sort = true,
|
|
||||||
float = { source = "if_many" },
|
|
||||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
|
||||||
signs = vim.g.have_nerd_font and {
|
|
||||||
text = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = " ",
|
|
||||||
[vim.diagnostic.severity.WARN] = " ",
|
|
||||||
[vim.diagnostic.severity.INFO] = " ",
|
|
||||||
[vim.diagnostic.severity.HINT] = " ",
|
|
||||||
},
|
|
||||||
} or {},
|
|
||||||
virtual_text = {
|
|
||||||
source = "if_many",
|
|
||||||
spacing = 2,
|
|
||||||
format = function(diagnostic)
|
|
||||||
local diagnostic_message = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.WARN] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.INFO] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.HINT] = diagnostic.message,
|
|
||||||
}
|
|
||||||
return diagnostic_message[diagnostic.severity]
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- By default, Neovim doesn't support everything that is in the LSP specification.
|
|
||||||
-- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities.
|
|
||||||
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
|
|
||||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
|
||||||
|
|
||||||
local servers = {
|
|
||||||
gopls = {
|
|
||||||
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
|
||||||
},
|
|
||||||
jsonls = {
|
|
||||||
settings = {
|
|
||||||
json = {
|
|
||||||
schemas = require("schemastore").json.schemas(),
|
|
||||||
validate = { enable = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lua_ls = {
|
|
||||||
settings = {
|
|
||||||
lua = {
|
|
||||||
completion = {
|
|
||||||
callsnippet = "replace",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
pyright = {
|
|
||||||
settings = {
|
|
||||||
pyright = {
|
|
||||||
disableOrganizeImports = true,
|
|
||||||
},
|
|
||||||
python = {
|
|
||||||
analysis = {
|
|
||||||
ignore = { "*" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
ts_ls = {},
|
|
||||||
|
|
||||||
tailwindcss = {
|
|
||||||
filetypes = { "html", "css", "typescript", "typescriptreact", "astro" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local ensure_installed = vim.tbl_keys(servers or {})
|
|
||||||
vim.list_extend(ensure_installed, {
|
|
||||||
"gofumpt",
|
|
||||||
"goimports-reviser",
|
|
||||||
"jsonlint",
|
|
||||||
"prettier",
|
|
||||||
"stylua",
|
|
||||||
})
|
|
||||||
|
|
||||||
require("mason-tool-installer").setup { ensure_installed = ensure_installed }
|
|
||||||
|
|
||||||
require("mason-lspconfig").setup {
|
|
||||||
ensure_installed = {}, -- explicitly set to an empty table because we populates installs via mason-tool-installer
|
|
||||||
automatic_installation = true,
|
|
||||||
handlers = {
|
|
||||||
function(server_name)
|
|
||||||
local server = servers[server_name] or {}
|
|
||||||
server.capabilities = vim.tbl_deep_extend("force", {}, capabilities, server.capabilities or {})
|
|
||||||
require("lspconfig")[server_name].setup(server)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
"davidmh/mdx.nvim",
|
|
||||||
config = true,
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
COLOR="$BLUE"
|
|
||||||
|
|
||||||
sketchybar --add item battery right \
|
|
||||||
--set battery \
|
|
||||||
update_freq=60 \
|
|
||||||
icon.color="$COLOR" \
|
|
||||||
icon.padding_left=10 \
|
|
||||||
label.padding_right=10 \
|
|
||||||
label.color="$COLOR" \
|
|
||||||
background.height=21 \
|
|
||||||
background.corner_radius="$CORNER_RADIUS" \
|
|
||||||
background.padding_right=5 \
|
|
||||||
background.border_width="$BORDER_WIDTH" \
|
|
||||||
background.border_color="$COLOR" \
|
|
||||||
background.color="$BAR_COLOR" \
|
|
||||||
background.drawing=on \
|
|
||||||
script="$PLUGIN_DIR/power.sh" \
|
|
||||||
--subscribe battery power_source_change
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
COLOR="$BLUE"
|
|
||||||
|
|
||||||
sketchybar --add item calendar center\
|
|
||||||
--set calendar update_freq=15 \
|
|
||||||
icon.color="$COLOR" \
|
|
||||||
icon.padding_left=10 \
|
|
||||||
label.color="$COLOR" \
|
|
||||||
label.padding_right=10 \
|
|
||||||
background.height=21 \
|
|
||||||
background.corner_radius="$CORNER_RADIUS" \
|
|
||||||
background.padding_right=5 \
|
|
||||||
background.border_width="$BORDER_WIDTH" \
|
|
||||||
background.border_color="$COLOR" \
|
|
||||||
background.color="$BAR_COLOR" \
|
|
||||||
background.drawing=on \
|
|
||||||
script="$PLUGIN_DIR/calendar.sh"
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
COLOR="$BLUE"
|
|
||||||
|
|
||||||
sketchybar --add item clock right \
|
|
||||||
--set clock update_freq=1 \
|
|
||||||
icon.padding_left=10 \
|
|
||||||
icon.color="$COLOR" \
|
|
||||||
icon="" \
|
|
||||||
label.color="$COLOR" \
|
|
||||||
label.width=54 \
|
|
||||||
label.padding_right=5 \
|
|
||||||
align=center \
|
|
||||||
background.height=21 \
|
|
||||||
background.corner_radius="$CORNER_RADIUS" \
|
|
||||||
background.padding_right=2 \
|
|
||||||
background.border_width="$BORDER_WIDTH" \
|
|
||||||
background.border_color="$COLOR" \
|
|
||||||
background.color="$BAR_COLOR" \
|
|
||||||
background.drawing=on \
|
|
||||||
script="$PLUGIN_DIR/clock.sh"
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
COLOR="$WHITE"
|
|
||||||
|
|
||||||
sketchybar \
|
|
||||||
--add item front_app left \
|
|
||||||
--set front_app script="$PLUGIN_DIR/front_app.sh" \
|
|
||||||
icon.drawing=off \
|
|
||||||
background.height=21 \
|
|
||||||
background.padding_left=0 \
|
|
||||||
background.padding_right=10 \
|
|
||||||
background.border_width="$BORDER_WIDTH" \
|
|
||||||
background.border_color="$COLOR" \
|
|
||||||
background.corner_radius="$CORNER_RADIUS" \
|
|
||||||
background.color="$BAR_COLOR" \
|
|
||||||
label.color="$COLOR" \
|
|
||||||
label.padding_left=10 \
|
|
||||||
label.padding_right=10 \
|
|
||||||
associated_display=active \
|
|
||||||
--subscribe front_app front_app_switched
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source "$HOME/.config/sketchybar/variables.sh"
|
|
||||||
|
|
||||||
sketchybar --add item spacer.1 left \
|
|
||||||
--set spacer.1 background.drawing=off \
|
|
||||||
label.drawing=off \
|
|
||||||
icon.drawing=off \
|
|
||||||
width=10
|
|
||||||
|
|
||||||
for i in "${!SPACE_ICONS[@]}"; do
|
|
||||||
sid=$((i + 1))
|
|
||||||
sketchybar --add space space.$sid left \
|
|
||||||
--set space.$sid associated_space=$sid \
|
|
||||||
label.drawing=off \
|
|
||||||
icon.padding_left=10 \
|
|
||||||
icon.padding_right=10 \
|
|
||||||
background.padding_left=-5 \
|
|
||||||
background.padding_right=-5 \
|
|
||||||
script="$PLUGIN_DIR/space.sh"
|
|
||||||
done
|
|
||||||
|
|
||||||
sketchybar --add item spacer.2 left \
|
|
||||||
--set spacer.2 background.drawing=off \
|
|
||||||
label.drawing=off \
|
|
||||||
icon.drawing=off \
|
|
||||||
width=5
|
|
||||||
|
|
||||||
sketchybar --add bracket spaces '/space.*/' \
|
|
||||||
--set spaces background.border_width="$BORDER_WIDTH" \
|
|
||||||
background.border_color="$BLUE" \
|
|
||||||
background.corner_radius="$CORNER_RADIUS" \
|
|
||||||
background.color="$BAR_COLOR" \
|
|
||||||
background.height=21 \
|
|
||||||
background.drawing=on
|
|
||||||
|
|
||||||
sketchybar --add item separator left \
|
|
||||||
icon.font="$FONT:Regular:16.0" \
|
|
||||||
background.padding_left=26 \
|
|
||||||
background.padding_right=15 \
|
|
||||||
label.drawing=off \
|
|
||||||
associated_display=active \
|
|
||||||
icon.color="$YELLOW"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
sketchybar --set "$NAME" icon="" label="$(date '+%a, %d %b')"
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
LABEL=$(date '+%H:%M')
|
|
||||||
sketchybar --set "$NAME" label="$LABEL"
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
case "$SENDER" in
|
|
||||||
"front_app_switched")
|
|
||||||
sketchybar --set "$NAME" label="$INFO"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
PERCENTAGE=$(pmset -g batt | grep -Eo "\d+%" | cut -d% -f1)
|
|
||||||
CHARGING=$(pmset -g batt | grep 'AC Power')
|
|
||||||
|
|
||||||
if [ "$PERCENTAGE" = "" ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
case ${PERCENTAGE} in
|
|
||||||
9[0-9] | 100)
|
|
||||||
ICON=""
|
|
||||||
;;
|
|
||||||
[6-8][0-9])
|
|
||||||
ICON=""
|
|
||||||
;;
|
|
||||||
[3-5][0-9])
|
|
||||||
ICON=""
|
|
||||||
;;
|
|
||||||
[1-2][0-9])
|
|
||||||
ICON=""
|
|
||||||
;;
|
|
||||||
*) ICON="" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$CHARGING" != "" ]; then
|
|
||||||
ICON=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
sketchybar --set "$NAME" icon="$ICON" label="${PERCENTAGE}% "
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source "$HOME/.config/sketchybar/variables.sh" # Loads all defined colors
|
|
||||||
|
|
||||||
SPACE_CLICK_SCRIPT="yabai -m space --focus $SID 2>/dev/null"
|
|
||||||
|
|
||||||
if [ "$SELECTED" = "true" ]; then
|
|
||||||
sketchybar --animate tanh 5 --set "$NAME" \
|
|
||||||
icon.color="$BLUE" \
|
|
||||||
icon="${SPACE_ICONS[$SID - 1]}" \
|
|
||||||
click_script="$SPACE_CLICK_SCRIPT"
|
|
||||||
else
|
|
||||||
sketchybar --animate tanh 5 --set "$NAME" \
|
|
||||||
icon.color="$COMMENT" \
|
|
||||||
icon="${SPACE_ICONS[$SID - 1]}" \
|
|
||||||
click_script="$SPACE_CLICK_SCRIPT"
|
|
||||||
fi
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source "$HOME/.config/sketchybar/variables.sh"
|
|
||||||
|
|
||||||
sketchybar --bar height=27 \
|
|
||||||
color="$TRANSPARENT" \
|
|
||||||
shadow="$SHADOW" \
|
|
||||||
position=top \
|
|
||||||
y_offset=0 \
|
|
||||||
padding_right=11 \
|
|
||||||
padding_left=10 \
|
|
||||||
blur_radius=0 \
|
|
||||||
--default updates=when_shown \
|
|
||||||
icon.font="$FONT:Bold:13.5" \
|
|
||||||
icon.color="$ICON_COLOR" \
|
|
||||||
icon.padding_left="$PADDINGS" \
|
|
||||||
icon.padding_right="$PADDINGS" \
|
|
||||||
label.font="$FONT:Bold:13.0" \
|
|
||||||
label.color="$LABEL_COLOR" \
|
|
||||||
label.padding_left="$PADDINGS" \
|
|
||||||
label.padding_right="$PADDINGS" \
|
|
||||||
background.padding_right="$PADDINGS" \
|
|
||||||
background.padding_left="$PADDINGS" \
|
|
||||||
# corner_radius="$CORNER_RADIUS" \
|
|
||||||
# sticky=on \
|
|
||||||
# margin=5 \
|
|
||||||
|
|
||||||
source "$ITEM_DIR/spaces.sh"
|
|
||||||
source "$ITEM_DIR/front_app.sh"
|
|
||||||
|
|
||||||
source "$ITEM_DIR/calendar.sh"
|
|
||||||
|
|
||||||
source "$ITEM_DIR/clock.sh"
|
|
||||||
source "$ITEM_DIR/battery.sh"
|
|
||||||
|
|
||||||
sketchybar --hotload true
|
|
||||||
|
|
||||||
sketchybar --update
|
|
||||||
|
|
||||||
echo "sketchybar configuration loaded.."
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# Color Palette
|
|
||||||
# Tokyonight Night
|
|
||||||
# BLACK=0xff24283b
|
|
||||||
# WHITE=0xffa9b1d6
|
|
||||||
# MAGENTA=0xffbb9af7
|
|
||||||
# BLUE=0xff7aa2f7
|
|
||||||
# CYAN=0xff7dcfff
|
|
||||||
# GREEN=0xff9ece6a
|
|
||||||
# YELLOW=0xffe0af68
|
|
||||||
# ORANGE=0xffff9e64
|
|
||||||
# RED=0xfff7768e
|
|
||||||
# BAR_COLOR=0xff1a1b26
|
|
||||||
# COMMENT=0xff565f89
|
|
||||||
|
|
||||||
# Oxocarbon Theme
|
|
||||||
BLACK=0xff161616
|
|
||||||
WHITE=0xfff2f4f8
|
|
||||||
MAGENTA=0xffbe95ff
|
|
||||||
BLUE=0xff82cfff
|
|
||||||
CYAN=0xff3ddbd9
|
|
||||||
GREEN=0xff42be65
|
|
||||||
YELLOW=0xffffe97b
|
|
||||||
ORANGE=0xffff7eb6
|
|
||||||
RED=0xff3ddbd9
|
|
||||||
BAR_COLOR=0xff161616
|
|
||||||
COMMENT=0xff525252
|
|
||||||
|
|
||||||
# TRANSPARENT=0x110000cc
|
|
||||||
TRANSPARENT=0x00ffffff
|
|
||||||
|
|
||||||
ICON_COLOR=$WHITE
|
|
||||||
LABEL_COLOR=$WHITE
|
|
||||||
|
|
||||||
ITEM_DIR="$HOME/.config/sketchybar/items"
|
|
||||||
PLUGIN_DIR="$HOME/.config/sketchybar/plugins"
|
|
||||||
|
|
||||||
FONT="MesloLGS Nerd Font Mono"
|
|
||||||
|
|
||||||
PADDINGS=3
|
|
||||||
|
|
||||||
POPUP_BORDER_WIDTH=2
|
|
||||||
POPUP_CORNER_RADIUS=11
|
|
||||||
POPUP_BACKGROUND_COLOR=$BLACK
|
|
||||||
POPUP_BORDER_COLOR=$COMMENT
|
|
||||||
|
|
||||||
CORNER_RADIUS=15
|
|
||||||
BORDER_WIDTH=1
|
|
||||||
|
|
||||||
SHADOW=on
|
|
||||||
|
|
||||||
SPACE_ICONS=("一" "二" "三" "四" "五" "六" "七" "八" "九" "十")
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
# OPEN IT, This too conflicts with some macos keybinds, fuck me
|
|
||||||
# cmd - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
|
|
||||||
# cmd - return : /Applications/WezTerm.app/Contents/MacOS/wezterm start --cwd ~
|
|
||||||
|
|
||||||
# focus window
|
|
||||||
alt - h : yabai -m window --focus west
|
|
||||||
alt - j : yabai -m window --focus south
|
|
||||||
alt - k : yabai -m window --focus north
|
|
||||||
alt - l : yabai -m window --focus east
|
|
||||||
|
|
||||||
# swap managed window
|
|
||||||
shift + alt - h : yabai -m window --swap west
|
|
||||||
shift + alt - j : yabai -m window --swap south
|
|
||||||
shift + alt - k : yabai -m window --swap north
|
|
||||||
shift + alt - l : yabai -m window --swap east
|
|
||||||
|
|
||||||
# move managed window
|
|
||||||
# shift + cmd - h : yabai -m window --warp east
|
|
||||||
|
|
||||||
# balance size of windows
|
|
||||||
shift + alt - 0 : yabai -m space --balance
|
|
||||||
|
|
||||||
# make floating window fill screen
|
|
||||||
# shift + alt - up : yabai -m window --grid 1:1:0:0:1:1
|
|
||||||
|
|
||||||
# make floating window fill left-half of screen
|
|
||||||
# shift + alt - left : yabai -m window --grid 1:2:0:0:1:1
|
|
||||||
|
|
||||||
# create desktop, move window and follow focus - uses jq for parsing json (brew install jq)
|
|
||||||
# shift + cmd - n : yabai -m space --create && \
|
|
||||||
# index="$(yabai -m query --spaces --display | jq 'map(select(."is-native-fullscreen" == false))[-1].index')" && \
|
|
||||||
# yabai -m window --space "${index}" && \
|
|
||||||
# yabai -m space --focus "${index}"
|
|
||||||
|
|
||||||
# fast focus desktop
|
|
||||||
# cmd + alt - x : yabai -m space --focus recent
|
|
||||||
cmd + alt - 1 : yabai -m space --focus 1
|
|
||||||
cmd + alt - 2 : yabai -m space --focus 2
|
|
||||||
cmd + alt - 3 : yabai -m space --focus 3
|
|
||||||
|
|
||||||
# shift + cmd overlaps with mac shortcut for screenshots... find a alternate for this
|
|
||||||
# send window to desktop and follow focus
|
|
||||||
# shift + cmd - z : yabai -m window --space next; yabai -m space --focus next
|
|
||||||
# shift + cmd - 1 : yabai -m window --space 1; yabai -m space --focus 1
|
|
||||||
# shift + cmd - 2 : yabai -m window --space 2; yabai -m space --focus 2
|
|
||||||
# shift + cmd - 3 : yabai -m window --space 3; yabai -m space --focus 3
|
|
||||||
|
|
||||||
# move floating window
|
|
||||||
# shift + ctrl - a : yabai -m window --move rel:-20:0
|
|
||||||
# shift + ctrl - s : yabai -m window --move rel:0:20
|
|
||||||
|
|
||||||
# increase window size
|
|
||||||
# shift + alt - a : yabai -m window --resize left:-20:0
|
|
||||||
# cmd + alt - a : yabai -m window --resize left:-20:0
|
|
||||||
# shift + alt - w : yabai -m window --resize top:0:-20
|
|
||||||
|
|
||||||
# decrease window size
|
|
||||||
# shift + cmd - s : yabai -m window --resize bottom:0:-20
|
|
||||||
# shift + cmd - w : yabai -m window --resize top:0:20
|
|
||||||
|
|
||||||
# set insertion point in focused container
|
|
||||||
# ctrl + alt - h : yabai -m window --insert west
|
|
||||||
|
|
||||||
# toggle window zoom
|
|
||||||
# alt - d : yabai -m window --toggle zoom-parent
|
|
||||||
# alt - f : yabai -m window --toggle zoom-fullscreen
|
|
||||||
|
|
||||||
# toggle window split type
|
|
||||||
alt - e : yabai -m window --toggle split
|
|
||||||
|
|
||||||
# float / unfloat window and center on screen
|
|
||||||
alt - t : yabai -m window --toggle float --grid 4:4:1:1:2:2
|
|
||||||
|
|
||||||
# toggle sticky(+float), picture-in-picture
|
|
||||||
# alt - p : yabai -m window --toggle sticky --toggle pip
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
"$schema" = 'https://starship.rs/config-schema.json'
|
|
||||||
|
|
||||||
format = "$directory$bun$golang$python$git_branch$git_status$git_state[ ❯](bold yellow)[❯](bold mauve)[❯](bold sapphire)\n$character"
|
|
||||||
palette = "catppuccin_mocha"
|
|
||||||
|
|
||||||
[bun]
|
|
||||||
format = '[bun ${version}](bold yellow)'
|
|
||||||
version_format = 'v${major}.${minor}'
|
|
||||||
|
|
||||||
[character]
|
|
||||||
success_symbol = "[➜](bold peach)"
|
|
||||||
error_symbol = "[✗](bold maroon)"
|
|
||||||
|
|
||||||
[cmd_duration]
|
|
||||||
disabled = true
|
|
||||||
|
|
||||||
[directory]
|
|
||||||
home_symbol= " "
|
|
||||||
truncation_length = 2
|
|
||||||
truncate_to_repo = true
|
|
||||||
truncation_symbol = " "
|
|
||||||
style = "bold lavender"
|
|
||||||
|
|
||||||
[git_branch]
|
|
||||||
format='[ $symbol$branch]($style)'
|
|
||||||
style='bold mauve'
|
|
||||||
symbol=" "
|
|
||||||
|
|
||||||
[git_state]
|
|
||||||
cherry_pick = '[🍒](bold maroon)'
|
|
||||||
|
|
||||||
[git_status]
|
|
||||||
format = '([\[$all_status$ahead_behind\]]($style))'
|
|
||||||
style = 'peach'
|
|
||||||
staged = '[++\($count\)](green)'
|
|
||||||
up_to_date = '[✓](green)'
|
|
||||||
untracked = '[ \($count\)](maroon)'
|
|
||||||
modified = '[ \($count\)](yellow)'
|
|
||||||
deleted = '[✘\($count\)](red)'
|
|
||||||
ahead = '⇡${count}'
|
|
||||||
diverged = '⇕⇡${ahead_count}⇣${behind_count}'
|
|
||||||
behind = '⇣${count}'
|
|
||||||
renamed = '»\($count\)'
|
|
||||||
stashed = '襁'
|
|
||||||
|
|
||||||
[golang]
|
|
||||||
format = '[ ${version}](bold $style)'
|
|
||||||
version_format = 'v${major}.${minor}'
|
|
||||||
|
|
||||||
[palettes.catppuccin_mocha]
|
|
||||||
rosewater = "#f5e0dc"
|
|
||||||
flamingo = "#f2cdcd"
|
|
||||||
pink = "#f5c2e7"
|
|
||||||
mauve = "#cba6f7"
|
|
||||||
red = "#f38ba8"
|
|
||||||
maroon = "#eba0ac"
|
|
||||||
peach = "#fab387"
|
|
||||||
yellow = "#f9e2af"
|
|
||||||
green = "#a6e3a1"
|
|
||||||
teal = "#94e2d5"
|
|
||||||
sky = "#89dceb"
|
|
||||||
sapphire = "#74c7ec"
|
|
||||||
blue = "#89b4fa"
|
|
||||||
lavender = "#b4befe"
|
|
||||||
text = "#cdd6f4"
|
|
||||||
subtext1 = "#bac2de"
|
|
||||||
subtext0 = "#a6adc8"
|
|
||||||
overlay2 = "#9399b2"
|
|
||||||
overlay1 = "#7f849c"
|
|
||||||
overlay0 = "#6c7086"
|
|
||||||
surface2 = "#585b70"
|
|
||||||
surface1 = "#45475a"
|
|
||||||
surface0 = "#313244"
|
|
||||||
base = "#1e1e2e"
|
|
||||||
mantle = "#181825"
|
|
||||||
crust = "#11111b"
|
|
||||||
|
|
||||||
[python]
|
|
||||||
symbol = " "
|
|
||||||
format = '[(\($virtualenv\))${symbol}${version}]($style)'
|
|
||||||
version_format = 'v${major}.${minor}'
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
|
||||||
set -g mouse on
|
|
||||||
|
|
||||||
unbind C-b
|
|
||||||
set -g prefix C-x
|
|
||||||
bind C-x send-prefix
|
|
||||||
|
|
||||||
# Start windows and panes at 1, not 0
|
|
||||||
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
|
|
||||||
|
|
||||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
|
||||||
|
|
||||||
# Better split window keybind and same directory for new panes
|
|
||||||
unbind '"'
|
|
||||||
unbind %
|
|
||||||
bind - split-window -v -c "#{pane_current_path}"
|
|
||||||
bind _ split-window -h -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
bind -r k select-pane -U
|
|
||||||
bind -r j select-pane -D
|
|
||||||
bind -r h select-pane -L
|
|
||||||
bind -r l select-pane -R
|
|
||||||
|
|
||||||
set -g @plugin 'catppuccin/tmux'
|
|
||||||
# Catpuccin Theme....
|
|
||||||
set -g status-left ""
|
|
||||||
set -g status-right "#{E:@catppuccin_status_application}"
|
|
||||||
set -ag status-right "#{E:@catppuccin_status_session}"
|
|
||||||
set -g @catppuccin_window_current_number_color "#{@thm_peach}"
|
|
||||||
|
|
||||||
set -ogq @catppuccin_window_text " #W"
|
|
||||||
set -ogq @catppuccin_window_current_text " #W"
|
|
||||||
set -ogq @catppuccin_status_left_separator "█"
|
|
||||||
set -ogq @catppuccin_window_flags "icon"
|
|
||||||
|
|
||||||
|
|
||||||
# RUN TPM
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
run '~/.config/tmux/plugins/tpm/tpm'
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
|
|
||||||
sudo yabai --load-sa
|
|
||||||
|
|
||||||
# global settings
|
|
||||||
yabai -m config \
|
|
||||||
external_bar all:27:0 \
|
|
||||||
menubar_opacity 1.0 \
|
|
||||||
mouse_follows_focus off \
|
|
||||||
focus_follows_mouse off \
|
|
||||||
display_arrangement_order default \
|
|
||||||
window_origin_display default \
|
|
||||||
window_placement second_child \
|
|
||||||
window_zoom_persist on \
|
|
||||||
window_shadow on \
|
|
||||||
window_animation_duration 0.0 \
|
|
||||||
window_animation_easing ease_out_circ \
|
|
||||||
window_opacity off \
|
|
||||||
insert_feedback_color 0xffd75f5f \
|
|
||||||
split_ratio 0.50 \
|
|
||||||
split_type auto \
|
|
||||||
auto_balance off \
|
|
||||||
top_padding 08 \
|
|
||||||
bottom_padding 08 \
|
|
||||||
left_padding 08 \
|
|
||||||
right_padding 08 \
|
|
||||||
window_gap 08 \
|
|
||||||
layout bsp \
|
|
||||||
mouse_modifier alt \
|
|
||||||
mouse_action1 move \
|
|
||||||
mouse_action2 resize \
|
|
||||||
mouse_drop_action swap
|
|
||||||
|
|
||||||
|
|
||||||
yabai -m rule --add app="^System Settings$" manage=off
|
|
||||||
yabai -m rule --add app="^Calculator$" manage=off
|
|
||||||
yabai -m rule --add app="^Finder$" manage=off
|
|
||||||
yabai -m rule --add app="^Preview$" manage=off
|
|
||||||
yabai -m rule --add app="^Spotify$" manage=off
|
|
||||||
yabai -m rule --add app="^Safari$" manage=off
|
|
||||||
yabai -m rule --add app="^App Store$" manage=off
|
|
||||||
yabai -m rule --add app="^Activity Monitor$" manage=off
|
|
||||||
yabai -m rule --add label="Software Update" title="Software Update" manage=off
|
|
||||||
yabai -m rule --add app="System Information" manage=off
|
|
||||||
|
|
||||||
borders active_color=0xff82cfff inactive_color=0xff494d64 width=4.0 &
|
|
||||||
|
|
||||||
echo "yabai configuration loaded.."
|
|
||||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,9 +0,0 @@
|
|||||||
*.DS_Store**
|
|
||||||
|
|
||||||
# tmux plugin files etc
|
|
||||||
*.config/tmux/**
|
|
||||||
**!tmux/tmux.conf
|
|
||||||
|
|
||||||
# btop files
|
|
||||||
*btop/**
|
|
||||||
!btop/btop.conf
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
# Comments and blank lines are allowed.
|
|
||||||
|
|
||||||
RCS
|
|
||||||
.+,v
|
|
||||||
|
|
||||||
CVS
|
|
||||||
\.\#.+ # CVS conflict files / emacs lock files
|
|
||||||
\.cvsignore
|
|
||||||
|
|
||||||
\.svn
|
|
||||||
_darcs
|
|
||||||
\.hg
|
|
||||||
|
|
||||||
\.git
|
|
||||||
\.gitignore
|
|
||||||
\.gitmodules
|
|
||||||
|
|
||||||
.+~ # emacs backup files
|
|
||||||
\#.*\# # emacs autosave files
|
|
||||||
|
|
||||||
^/README.*
|
|
||||||
^/readme.*
|
|
||||||
^/LICENSE.*
|
|
||||||
^/COPYING
|
|
||||||
|
|
||||||
# extra stuff not part of configs
|
|
||||||
install.sh
|
|
||||||
assets
|
|
||||||
|
|
||||||
# NOTE:
|
|
||||||
# do not symlink configs for packages currently not in use
|
|
||||||
# comment stuff from here if using in future maybe
|
|
||||||
.clang-format
|
|
||||||
.bash_profile
|
|
||||||
^/alacritty*
|
|
||||||
^/skhd*
|
|
||||||
^/sketchybar*
|
|
||||||
^/yabai*
|
|
||||||
30
.zshrc
30
.zshrc
@@ -1,30 +0,0 @@
|
|||||||
# ---- homebrew ----
|
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
||||||
|
|
||||||
# ---- Aliases ----
|
|
||||||
alias ls='lsd'
|
|
||||||
alias lg='lazygit'
|
|
||||||
alias nv='nvim'
|
|
||||||
alias neofetch="fastfetch"
|
|
||||||
alias python='python3'
|
|
||||||
|
|
||||||
# ---- Air GO hot reload ----
|
|
||||||
alias air="~/go/bin/air"
|
|
||||||
|
|
||||||
# ---- starship ----
|
|
||||||
eval "$(starship init zsh)"
|
|
||||||
|
|
||||||
# ---- zoxide ----
|
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
|
||||||
|
|
||||||
# ---- fzf ----
|
|
||||||
source <(fzf --zsh)
|
|
||||||
|
|
||||||
# ---- syntax highlighting ----
|
|
||||||
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
||||||
|
|
||||||
export EDITOR="nvim"
|
|
||||||
export MANPAGER="nvim +Man!"
|
|
||||||
|
|
||||||
# bun completions
|
|
||||||
[ -s "/Users/lilj/.bun/_bun" ] && source "/Users/lilj/.bun/_bun"
|
|
||||||
86
flake.lock
generated
Normal file
86
flake.lock
generated
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740494361,
|
||||||
|
"narHash": "sha256-Dd/GhJ9qKmUwuhgt/PAROG8J6YdU2ZjtJI9SQX5sVQI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "74f0a8546e3f2458c870cf90fc4b38ac1f498b17",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740452771,
|
||||||
|
"narHash": "sha256-/tI1vFJ7/dXJqUmI+s0EV1F0DPe6dZvT444mrLUkrlU=",
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "42be12b510253d750138ec90c66decc282298b44",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740396192,
|
||||||
|
"narHash": "sha256-ATMHHrg3sG1KgpQA5x8I+zcYpp5Sf17FaFj/fN+8OoQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d9b69c3ec2a2e2e971c534065bdd53374bd68b97",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740567784,
|
||||||
|
"narHash": "sha256-vtNes0DPo720tDDVTKrvLBhW/kY0EMHB1ik1Bw4bWZI=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "8c97496b319743c0ac82205fc6ba2197bf7db9a7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "release-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
47
flake.nix
Normal file
47
flake.nix
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
description = "lilJ's nix-config";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
nix-darwin = {
|
||||||
|
url = "github:LnL7/nix-darwin";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs @ {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
nix-darwin,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
username = "lilj";
|
||||||
|
email = "kulvir@duck.com";
|
||||||
|
|
||||||
|
system = "aarch64-darwin"; # apple
|
||||||
|
forAllSystems = nixpkgs.lib.genAttrs [
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
inherit (self) outputs;
|
||||||
|
in {
|
||||||
|
# own packages and some modifications
|
||||||
|
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||||
|
overlays = import ./overlays {inherit inputs;};
|
||||||
|
|
||||||
|
# darwin-rebuild switch --flake .#mba
|
||||||
|
darwinConfigurations."mba" = nix-darwin.lib.darwinSystem {
|
||||||
|
specialArgs = {inherit inputs username email outputs system;};
|
||||||
|
modules = [
|
||||||
|
./hosts/mba
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||||
|
};
|
||||||
|
}
|
||||||
85
hosts/mba/configuration.nix
Normal file
85
hosts/mba/configuration.nix
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
|
|
||||||
|
# Set Git commit hash for darwin-version.
|
||||||
|
system.configurationRevision = inputs.self.rev or inputs.self.dirtyRev or null;
|
||||||
|
|
||||||
|
system.defaults = {
|
||||||
|
controlcenter = {
|
||||||
|
BatteryShowPercentage = true;
|
||||||
|
NowPlaying = false;
|
||||||
|
};
|
||||||
|
dock = {
|
||||||
|
autohide = false;
|
||||||
|
tilesize = 22;
|
||||||
|
mineffect = "genie";
|
||||||
|
largesize = 32;
|
||||||
|
mru-spaces = true;
|
||||||
|
show-recents = false;
|
||||||
|
|
||||||
|
# don't ned hotcorners
|
||||||
|
wvous-bl-corner = null;
|
||||||
|
wvous-br-corner = null;
|
||||||
|
wvous-tl-corner = null;
|
||||||
|
wvous-tr-corner = null;
|
||||||
|
};
|
||||||
|
finder = {
|
||||||
|
CreateDesktop = false;
|
||||||
|
FXDefaultSearchScope = "SCcf";
|
||||||
|
FXPreferredViewStyle = "Nlsv";
|
||||||
|
NewWindowTarget = "Other";
|
||||||
|
NewWindowTargetPath = "file:///Users/lilj/Downloads";
|
||||||
|
ShowPathbar = true;
|
||||||
|
ShowStatusBar = true;
|
||||||
|
ShowRemovableMediaOnDesktop = false;
|
||||||
|
};
|
||||||
|
menuExtraClock = {
|
||||||
|
Show24Hour = false;
|
||||||
|
ShowAMPM = false;
|
||||||
|
ShowSeconds = false;
|
||||||
|
ShowDate = 1;
|
||||||
|
ShowDayOfWeek = true;
|
||||||
|
};
|
||||||
|
NSGlobalDomain = {
|
||||||
|
AppleInterfaceStyle = "Dark";
|
||||||
|
AppleICUForce24HourTime = false;
|
||||||
|
AppleSpacesSwitchOnActivate = true; # Switch to other workspace when switching application
|
||||||
|
"com.apple.keyboard.fnState" = false;
|
||||||
|
"com.apple.sound.beep.feedback" = 0;
|
||||||
|
"com.apple.sound.beep.volume" = 0.7788008;
|
||||||
|
"com.apple.swipescrolldirection" = true;
|
||||||
|
"com.apple.trackpad.scaling" = 1.35;
|
||||||
|
InitialKeyRepeat = 15;
|
||||||
|
KeyRepeat = 3;
|
||||||
|
|
||||||
|
NSAutomaticCapitalizationEnabled = false;
|
||||||
|
NSAutomaticDashSubstitutionEnabled = false;
|
||||||
|
NSAutomaticSpellingCorrectionEnabled = false;
|
||||||
|
NSAutomaticWindowAnimationsEnabled = true;
|
||||||
|
NSScrollAnimationEnabled = true;
|
||||||
|
NSTableViewDefaultSizeMode = 2; # finder sidebar icons size
|
||||||
|
};
|
||||||
|
screencapture = {
|
||||||
|
include-date = false;
|
||||||
|
location = "~/Documents/screenshots";
|
||||||
|
type = "png";
|
||||||
|
};
|
||||||
|
trackpad = {
|
||||||
|
ActuationStrength = 0;
|
||||||
|
Clicking = true;
|
||||||
|
TrackpadRightClick = true;
|
||||||
|
};
|
||||||
|
WindowManager = {
|
||||||
|
EnableStandardClickToShowDesktop = true;
|
||||||
|
EnableTiledWindowMargins = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = 5;
|
||||||
|
|
||||||
|
time.timeZone = "Asia/Calcutta";
|
||||||
|
}
|
||||||
32
hosts/mba/default.nix
Normal file
32
hosts/mba/default.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
username,
|
||||||
|
email,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.darwinModules.home-manager
|
||||||
|
|
||||||
|
./configuration.nix
|
||||||
|
./mac-apps.nix
|
||||||
|
./nix.nix
|
||||||
|
./users.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.stable-packages
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
backupFileExtension = "hnm";
|
||||||
|
extraSpecialArgs = {inherit username email outputs;};
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.${username} = import ./home.nix;
|
||||||
|
};
|
||||||
|
}
|
||||||
42
hosts/mba/home.nix
Normal file
42
hosts/mba/home.nix
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
email,
|
||||||
|
outputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# ../../modules/alacritty.nix
|
||||||
|
../../modules/git.nix
|
||||||
|
../../modules/fastfetch.nix
|
||||||
|
../../modules/kitty.nix
|
||||||
|
../../modules/nvim.nix
|
||||||
|
../../modules/shell.nix
|
||||||
|
../../modules/starship.nix
|
||||||
|
../../modules/tmux.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.air
|
||||||
|
pkgs.bun
|
||||||
|
pkgs.go
|
||||||
|
pkgs.nodejs_23
|
||||||
|
pkgs.pnpm
|
||||||
|
|
||||||
|
pkgs.discord # nigga ain't working properly
|
||||||
|
pkgs.redis
|
||||||
|
pkgs.postgresql_17_jit
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.stable-packages
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
61
hosts/mba/mac-apps.nix
Normal file
61
hosts/mba/mac-apps.nix
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = [];
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
MANPAGER = "nvim +Man!";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable alternative shell support in nix-darwin.
|
||||||
|
# environment.shells = [
|
||||||
|
# pkgs.fish
|
||||||
|
# ];
|
||||||
|
|
||||||
|
fonts.packages = [
|
||||||
|
pkgs.nerd-fonts.jetbrains-mono
|
||||||
|
# Alternate Fonts
|
||||||
|
# pkgs.nerd-fonts.caskaydia-mono
|
||||||
|
# pkgs.nerd-fonts.iosevka
|
||||||
|
];
|
||||||
|
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
brews = [
|
||||||
|
# "bun"
|
||||||
|
];
|
||||||
|
|
||||||
|
caskArgs = {
|
||||||
|
appdir = "/Applications";
|
||||||
|
};
|
||||||
|
|
||||||
|
# darwin support for packages sucks
|
||||||
|
casks = [
|
||||||
|
"docker"
|
||||||
|
"obsidian"
|
||||||
|
"raycast"
|
||||||
|
"spotify"
|
||||||
|
"zen-browser"
|
||||||
|
|
||||||
|
# not me using em :(
|
||||||
|
"postman"
|
||||||
|
"slack"
|
||||||
|
"zoom"
|
||||||
|
];
|
||||||
|
|
||||||
|
global.autoUpdate = true;
|
||||||
|
|
||||||
|
onActivation = {
|
||||||
|
autoUpdate = true;
|
||||||
|
upgrade = true;
|
||||||
|
cleanup = "zap";
|
||||||
|
};
|
||||||
|
|
||||||
|
taps = [
|
||||||
|
# "oven-sh/bun"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
16
hosts/mba/nix.nix
Normal file
16
hosts/mba/nix.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# This file seems like generic nix config options could be moved to common in future
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Cross-compile GNU/Linux binaries, or even full GNU/Linux system images
|
||||||
|
nix.linux-builder.enable = true;
|
||||||
|
|
||||||
|
nix.settings.experimental-features = "nix-command flakes";
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = "${system}";
|
||||||
|
}
|
||||||
11
hosts/mba/users.nix
Normal file
11
hosts/mba/users.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# same as nix.nix file, could be moved to common
|
||||||
|
{username, ...}: {
|
||||||
|
system.defaults.smb.NetBIOSName = "lilJ's mba";
|
||||||
|
|
||||||
|
users.users."${username}" = {
|
||||||
|
name = "${username}";
|
||||||
|
home = "/Users/${username}";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.settings.trusted-users = [username];
|
||||||
|
}
|
||||||
72
install.sh
72
install.sh
@@ -1,72 +0,0 @@
|
|||||||
#!/bin/zsh
|
|
||||||
|
|
||||||
# ---- Terminal ----
|
|
||||||
echo "Installing your Teminal and other thingies..."
|
|
||||||
brew install git
|
|
||||||
brew install ghostty
|
|
||||||
brew install starship
|
|
||||||
brew install neovim
|
|
||||||
brew install font-jetbrains-mono-nerd-font
|
|
||||||
brew install tmux
|
|
||||||
brew install fzf
|
|
||||||
brew install lsd
|
|
||||||
brew install ripgrep
|
|
||||||
brew install zoxide
|
|
||||||
brew install lazygit
|
|
||||||
brew install fastfetch
|
|
||||||
brew install btop
|
|
||||||
brew install zsh-syntax-highlighting
|
|
||||||
brew install stow
|
|
||||||
|
|
||||||
echo "Creating symlinks using GNU STOW"
|
|
||||||
stow .
|
|
||||||
|
|
||||||
echo "Sourcing zsh config It should work now atleast"
|
|
||||||
source ~/.zshrc
|
|
||||||
|
|
||||||
echo "Installing languages & runtime envs etc..."
|
|
||||||
brew install oven-sh/bun/bun
|
|
||||||
brew install go
|
|
||||||
brew install node
|
|
||||||
brew install pnpm
|
|
||||||
|
|
||||||
# ---- Applications ----
|
|
||||||
echo "Installing the Applications..."
|
|
||||||
brew install --cask discord
|
|
||||||
brew install --cask docker
|
|
||||||
brew install --cask ghostty
|
|
||||||
brew install --cask httpie
|
|
||||||
brew install --cask keka
|
|
||||||
brew install --cask obsidian
|
|
||||||
brew install --cask raycast
|
|
||||||
brew install --cask spotify
|
|
||||||
brew install --cask zen-browser
|
|
||||||
|
|
||||||
|
|
||||||
yabai() {
|
|
||||||
brew install koekeishiya/formulae/yabai
|
|
||||||
brew install koekeishiya/formulae/skhd
|
|
||||||
brew install FelixKratz/formulae/borders
|
|
||||||
brew install FelixKratz/formulae/sketchybar
|
|
||||||
|
|
||||||
yabai --start-service
|
|
||||||
skhd --start-service
|
|
||||||
brew services start borders
|
|
||||||
brew services start sketchybar
|
|
||||||
}
|
|
||||||
|
|
||||||
install_yabai=false
|
|
||||||
|
|
||||||
for arg in "$@"; do
|
|
||||||
if [ "$arg" = "--yabai" ]; then
|
|
||||||
install_yabai=true
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if $install_yabai; then
|
|
||||||
echo "Installing yabaiiiiiiiii...."
|
|
||||||
yabai
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "setup complete...\n"
|
|
||||||
115
modules/alacritty.nix
Normal file
115
modules/alacritty.nix
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
env = {
|
||||||
|
TERM = "xterm-256color";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
style = "Beam";
|
||||||
|
};
|
||||||
|
|
||||||
|
font = {
|
||||||
|
normal.family = "JetBrainsMono Nerd Font";
|
||||||
|
bold.family = "JetBrainsMono Nerd Font";
|
||||||
|
italic.family = "JetBrainsMono Nerd Font";
|
||||||
|
bold_italic.family = "JetBrainsMono Nerd Font";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
|
||||||
|
mouse.hide_when_typing = true;
|
||||||
|
|
||||||
|
selection.save_to_clipboard = true;
|
||||||
|
|
||||||
|
window = {
|
||||||
|
decorations = "none";
|
||||||
|
opacity = 0.95;
|
||||||
|
padding = {
|
||||||
|
x = 2;
|
||||||
|
y = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ROSE-PINE theme
|
||||||
|
colors = {
|
||||||
|
primary = {
|
||||||
|
foreground = "#e0def4";
|
||||||
|
background = "#191724";
|
||||||
|
dim_foreground = "#908caa";
|
||||||
|
bright_foreground = "#e0def4";
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
text = "#e0def4";
|
||||||
|
cursor = "#524f67";
|
||||||
|
};
|
||||||
|
vi_mode_cursor = {
|
||||||
|
text = "#e0def4";
|
||||||
|
cursor = "#524f67";
|
||||||
|
};
|
||||||
|
search = {
|
||||||
|
matches = {
|
||||||
|
foreground = "#908caa";
|
||||||
|
background = "#26233a";
|
||||||
|
};
|
||||||
|
focused_match = {
|
||||||
|
foreground = "#191724";
|
||||||
|
background = "#ebbcba";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hints = {
|
||||||
|
start = {
|
||||||
|
foreground = "#908caa";
|
||||||
|
background = "#1f1d2e";
|
||||||
|
};
|
||||||
|
end = {
|
||||||
|
foreground = "#6e6a86";
|
||||||
|
background = "#1f1d2e";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
line_indicator = {
|
||||||
|
foreground = "None";
|
||||||
|
background = "None";
|
||||||
|
};
|
||||||
|
footer_bar = {
|
||||||
|
foreground = "#e0def4";
|
||||||
|
background = "#1f1d2e";
|
||||||
|
};
|
||||||
|
selection = {
|
||||||
|
text = "#e0def4";
|
||||||
|
background = "#403d52";
|
||||||
|
};
|
||||||
|
normal = {
|
||||||
|
black = "#26233a";
|
||||||
|
red = "#eb6f92";
|
||||||
|
green = "#31748f";
|
||||||
|
yellow = "#f6c177";
|
||||||
|
blue = "#9ccfd8";
|
||||||
|
magenta = "#c4a7e7";
|
||||||
|
cyan = "#ebbcba";
|
||||||
|
white = "#e0def4";
|
||||||
|
};
|
||||||
|
bright = {
|
||||||
|
black = "#6e6a86";
|
||||||
|
red = "#eb6f92";
|
||||||
|
green = "#31748f";
|
||||||
|
yellow = "#f6c177";
|
||||||
|
blue = "#9ccfd8";
|
||||||
|
magenta = "#c4a7e7";
|
||||||
|
cyan = "#ebbcba";
|
||||||
|
white = "#e0def4";
|
||||||
|
};
|
||||||
|
dim = {
|
||||||
|
black = "#6e6a86";
|
||||||
|
red = "#eb6f92";
|
||||||
|
green = "#31748f";
|
||||||
|
yellow = "#f6c177";
|
||||||
|
blue = "#9ccfd8";
|
||||||
|
magenta = "#c4a7e7";
|
||||||
|
cyan = "#ebbcba";
|
||||||
|
white = "#e0def4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
99
modules/fastfetch.nix
Normal file
99
modules/fastfetch.nix
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.fastfetch = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
logo = {
|
||||||
|
padding = {
|
||||||
|
top = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
display = {
|
||||||
|
separator = " ➜ ";
|
||||||
|
};
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
"break"
|
||||||
|
"break"
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "os";
|
||||||
|
key = "OS ";
|
||||||
|
keyColor = "red";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "kernel";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "red";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "shell";
|
||||||
|
key = " └ ";
|
||||||
|
keyColor = "red";
|
||||||
|
}
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "wm";
|
||||||
|
key = "WM ";
|
||||||
|
keyColor = "green";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "icons";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "green";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cursor";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "green";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "terminal";
|
||||||
|
key = " └ ";
|
||||||
|
keyColor = "green";
|
||||||
|
}
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "host";
|
||||||
|
format = "{5} {1} Type {2}";
|
||||||
|
key = "PC ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cpu";
|
||||||
|
format = "{1} ({3}) @ {7} GHz";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "memory";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "swap";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "disk";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "uptime";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "monitor";
|
||||||
|
key = " └ ";
|
||||||
|
keyColor = "yellow";
|
||||||
|
}
|
||||||
|
"break"
|
||||||
|
"break"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
27
modules/git.nix
Normal file
27
modules/git.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
username,
|
||||||
|
email,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
userName = "Kulvir Singh";
|
||||||
|
userEmail = "kulvirs734@gmail.com";
|
||||||
|
|
||||||
|
aliases = {};
|
||||||
|
|
||||||
|
ignores = [
|
||||||
|
".DS_Store"
|
||||||
|
".env"
|
||||||
|
];
|
||||||
|
|
||||||
|
lfs.enable = true; # make ptr to large files(audio/video) locally
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "trunk";
|
||||||
|
credential.helper = "cache";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
56
modules/kitty.nix
Normal file
56
modules/kitty.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
font = {
|
||||||
|
name = "JetBrainsMono Nerd Font";
|
||||||
|
size = 14.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = {
|
||||||
|
"kitty_mod+enter" = "no_op";
|
||||||
|
"cmd+enter" = "no_op";
|
||||||
|
"cmd+t" = "new_tab_with_cwd";
|
||||||
|
|
||||||
|
"cmd+1" = "goto_tab 1";
|
||||||
|
"cmd+2" = "goto_tab 2";
|
||||||
|
"cmd+3" = "goto_tab 3";
|
||||||
|
"cmd+4" = "goto_tab 4";
|
||||||
|
"cmd+5" = "goto_tab 5";
|
||||||
|
"cmd+6" = "goto_tab 6";
|
||||||
|
"cmd+7" = "goto_tab 7";
|
||||||
|
"cmd+8" = "goto_tab 8";
|
||||||
|
"cmd+9" = "goto_tab 9";
|
||||||
|
};
|
||||||
|
|
||||||
|
shellIntegration.enableZshIntegration = true;
|
||||||
|
|
||||||
|
themeFile = "Catppuccin-Mocha";
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
cursor_shape beam
|
||||||
|
|
||||||
|
background_opacity 0.95
|
||||||
|
background_blur 12
|
||||||
|
|
||||||
|
macos_quit_when_last_window_closed yes
|
||||||
|
macos_show_window_title_in none
|
||||||
|
|
||||||
|
enable_audio_bell no
|
||||||
|
hide_window_decorations yes
|
||||||
|
|
||||||
|
# tab bar at bottom stlying
|
||||||
|
tab_bar_style powerline
|
||||||
|
tab_bar_min_tabs 2
|
||||||
|
tab_title_template "{index}"
|
||||||
|
active_tab_title_template "{index}"
|
||||||
|
tab_bar_background none
|
||||||
|
|
||||||
|
# macOS - CMD/Option navs
|
||||||
|
map cmd+backspace send_text all \x15
|
||||||
|
map alt+backspace send_text all \x17
|
||||||
|
map cmd+left send_text all \x01
|
||||||
|
map cmd+right send_text all \x05
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/nvim.nix
Normal file
16
modules/nvim.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
home.file = {
|
||||||
|
".config/nvim" = {
|
||||||
|
recursive = true;
|
||||||
|
source = "${pkgs.lilj-nvim-config}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
50
modules/shell.nix
Normal file
50
modules/shell.nix
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
envExtra = ''
|
||||||
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
|
export PATH="/opt/homebrew/bin:$PATH"
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
ls = "lsd";
|
||||||
|
lg = "lazygit";
|
||||||
|
neofetch = "fastfetch";
|
||||||
|
nv = "nvim";
|
||||||
|
python = "python3";
|
||||||
|
};
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
theme_background = false;
|
||||||
|
presets = "cpu:0:default mem:0:default net:0:default";
|
||||||
|
proc_sorting = "memory";
|
||||||
|
update_ms = 1000;
|
||||||
|
vim_keys = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
lazygit.enable = true;
|
||||||
|
|
||||||
|
ripgrep.enable = true;
|
||||||
|
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
options = ["--cmd cd"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# environment.sessionVariables = {};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.lsd
|
||||||
|
];
|
||||||
|
}
|
||||||
98
modules/starship.nix
Normal file
98
modules/starship.nix
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = true;
|
||||||
|
continuation_prompt = "▶▶ ";
|
||||||
|
format = "$directory$c$bun$golang$nodejs(bold blue)$git_branch$git_status[❯](bold yellow)[❯](bold purple)[❯](bold blue)\n$character";
|
||||||
|
# format = ''$directory$all$character'';
|
||||||
|
palette = "catppuccin_mocha";
|
||||||
|
scan_timeout = 120;
|
||||||
|
|
||||||
|
bun = {
|
||||||
|
format = "[🍞 $version ](bold green)";
|
||||||
|
version_format = "\${major}.\${minor}";
|
||||||
|
};
|
||||||
|
|
||||||
|
c = {
|
||||||
|
detect_extensions = ["c" "cpp"];
|
||||||
|
format = "[$symbol $version ]($style)";
|
||||||
|
symbol = "";
|
||||||
|
version_format = "\${major}.\${minor}";
|
||||||
|
};
|
||||||
|
|
||||||
|
character = {
|
||||||
|
success_symbol = "[➜](bold green)";
|
||||||
|
error_symbol = "[✗](bold red)";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmd_duration = {
|
||||||
|
disabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
directory = {
|
||||||
|
home_symbol = " ";
|
||||||
|
truncation_length = 2;
|
||||||
|
truncate_to_repo = true;
|
||||||
|
truncation_symbol = " ";
|
||||||
|
style = "bold blue";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_branch = {
|
||||||
|
format = "[$symbol$branch ]($style)";
|
||||||
|
style = "bold purple";
|
||||||
|
symbol = " ";
|
||||||
|
always_show_remote = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
golang = {
|
||||||
|
format = "[$symbol $version ](bold cyan)";
|
||||||
|
version_format = "\${major}.\${minor}";
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
|
||||||
|
hostname = {
|
||||||
|
ssh_only = true;
|
||||||
|
format = "[$ssh_symbol$hostname ]($style)";
|
||||||
|
style = "bold green";
|
||||||
|
ssh_symbol = " ";
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
nodejs = {
|
||||||
|
detect_files = ["!bun.lock"];
|
||||||
|
format = "[$symbol$version ]($style)";
|
||||||
|
version_format = "\${major}.\${minor}";
|
||||||
|
};
|
||||||
|
|
||||||
|
palettes.catppuccin_mocha = {
|
||||||
|
rosewater = "#f5e0dc";
|
||||||
|
flamingo = "#f2cdcd";
|
||||||
|
pink = "#f5c2e7";
|
||||||
|
mauve = "#cba6f7";
|
||||||
|
red = "#f38ba8";
|
||||||
|
maroon = "#eba0ac";
|
||||||
|
peach = "#fab387";
|
||||||
|
yellow = "#f9e2af";
|
||||||
|
green = "#a6e3a1";
|
||||||
|
teal = "#94e2d5";
|
||||||
|
sky = "#89dceb";
|
||||||
|
sapphire = "#74c7ec";
|
||||||
|
blue = "#89b4fa";
|
||||||
|
lavender = "#b4befe";
|
||||||
|
text = "#cdd6f4";
|
||||||
|
subtext1 = "#bac2de";
|
||||||
|
subtext0 = "#a6adc8";
|
||||||
|
overlay2 = "#9399b2";
|
||||||
|
overlay1 = "#7f849c";
|
||||||
|
overlay0 = "#6c7086";
|
||||||
|
surface2 = "#585b70";
|
||||||
|
surface1 = "#45475a";
|
||||||
|
surface0 = "#313244";
|
||||||
|
base = "#1e1e2e";
|
||||||
|
mantle = "#181825";
|
||||||
|
crust = "#11111b";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
modules/tmux.nix
Normal file
37
modules/tmux.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
baseIndex = 1;
|
||||||
|
|
||||||
|
historyLimit = 10000;
|
||||||
|
|
||||||
|
mouse = true;
|
||||||
|
|
||||||
|
prefix = "C-x";
|
||||||
|
|
||||||
|
plugins = [
|
||||||
|
pkgs.tmuxPlugins.vim-tmux-navigator
|
||||||
|
{
|
||||||
|
plugin = pkgs.tmuxPlugins.catppuccin;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||||
|
|
||||||
|
set -s escape-time 0
|
||||||
|
|
||||||
|
# split panes using | and -
|
||||||
|
unbind '"'
|
||||||
|
unbind %
|
||||||
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
bind _ split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
bind -r k select-pane -U
|
||||||
|
bind -r j select-pane -D
|
||||||
|
bind -r h select-pane -L
|
||||||
|
bind -r l select-pane -R
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
81
modules/zed.nix
Normal file
81
modules/zed.nix
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
extensions = [];
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
auto_update = false;
|
||||||
|
|
||||||
|
buffer_font_size = 14;
|
||||||
|
buffer_font_family = "JetBrainsMono Nerd Font";
|
||||||
|
|
||||||
|
ensure_final_newline_on_save = false;
|
||||||
|
|
||||||
|
hard_tabs = true;
|
||||||
|
|
||||||
|
languages = {
|
||||||
|
"TypeScript" = {
|
||||||
|
code_actions_on_format = {
|
||||||
|
"source.fixAll.eslint" = true;
|
||||||
|
"source.organizeImports" = true;
|
||||||
|
};
|
||||||
|
codeActionOnSave = {
|
||||||
|
rules = ["import/order"];
|
||||||
|
};
|
||||||
|
formatter = "prettier";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
};
|
||||||
|
|
||||||
|
search = {
|
||||||
|
regex = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
show_whitespaces = "boundary";
|
||||||
|
|
||||||
|
tab_size = 4;
|
||||||
|
|
||||||
|
tab_bar = {
|
||||||
|
show_nav_history_buttons = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
tabs = {
|
||||||
|
file_icons = true;
|
||||||
|
git_status = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
telemetery = {
|
||||||
|
diagnostics = false;
|
||||||
|
metrics = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
terminal = {
|
||||||
|
font_size = 13;
|
||||||
|
line_height = "standard";
|
||||||
|
toolbar = {
|
||||||
|
breadcrumbs = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
mode = "dark";
|
||||||
|
light = "Rosé Pine";
|
||||||
|
dark = "Rosé Pine";
|
||||||
|
};
|
||||||
|
|
||||||
|
toolbar = {
|
||||||
|
breadcrumbs = false;
|
||||||
|
quick_actions = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
ui_font_size = 14;
|
||||||
|
|
||||||
|
ui_font_family = "JetBrainsMono Nerd Font";
|
||||||
|
|
||||||
|
vim_mode = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
overlays/default.nix
Normal file
18
overlays/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{inputs, ...}: {
|
||||||
|
additions = final: _prev: import ../pkgs {pkgs = final;};
|
||||||
|
|
||||||
|
modifications = final: prev: {
|
||||||
|
discord = prev.discord.override {
|
||||||
|
withOpenASAR = true;
|
||||||
|
withVencord = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# The stable nixpkgs set (declared in the flake inputs) will be accessible through 'pkgs.stable'
|
||||||
|
stable-packages = final: _prev: {
|
||||||
|
stable = import inputs.nixpkgs-stable {
|
||||||
|
system = final.system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
3
pkgs/default.nix
Normal file
3
pkgs/default.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
lilj-nvim-config = pkgs.callPackage ./nvim-conf {};
|
||||||
|
}
|
||||||
22
pkgs/nvim-conf/default.nix
Normal file
22
pkgs/nvim-conf/default.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
}: let
|
||||||
|
nvim = ./nvim;
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "lilj-nvim-config";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r ${nvim}/* "$out/"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "lilJ's nvim config";
|
||||||
|
homepage = "https://kulvir.gg";
|
||||||
|
platforms = platforms.all;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
|
}
|
||||||
44
pkgs/nvim-conf/nvim/lazy-lock.json
Normal file
44
pkgs/nvim-conf/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
|
||||||
|
"SchemaStore.nvim": { "branch": "main", "commit": "55d2ae33ce57de9fcd0cc3c8ee2f225ddbf2cd6a" },
|
||||||
|
"catpuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
|
||||||
|
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
|
"conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" },
|
||||||
|
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
|
||||||
|
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||||
|
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "2daa8921b7afdcfa47419a21ea343c3df6d74fa0" },
|
||||||
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
||||||
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
|
"mini.nvim": { "branch": "main", "commit": "2faada1cffce5609d78ac5e81eaf3754e0476758" },
|
||||||
|
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
||||||
|
"nvim-dap": { "branch": "master", "commit": "a6070b4e9e9a8ff1bc513c3748eff27080b0f44a" },
|
||||||
|
"nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" },
|
||||||
|
"nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" },
|
||||||
|
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
||||||
|
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" },
|
||||||
|
"nvim-lint": { "branch": "master", "commit": "1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
|
||||||
|
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||||
|
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "7e0fcf0d456fc5818da1af35b1a3f5c784fce457" },
|
||||||
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||||
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||||
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
|
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
|
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
||||||
|
"vim-dadbod": { "branch": "master", "commit": "f740950d0703099e0f172016f10e0e39f50fd0ba" },
|
||||||
|
"vim-dadbod-completion": { "branch": "master", "commit": "9e354e86fcc67a5ec2c104f312e374ea2f89c799" },
|
||||||
|
"vim-dadbod-ui": { "branch": "master", "commit": "0fec59e3e1e619e302198cd491b7d27f8d398b7c" }
|
||||||
|
}
|
||||||
82
pkgs/nvim-conf/nvim/lua/lilJ/completions.lua
Normal file
82
pkgs/nvim-conf/nvim/lua/lilJ/completions.lua
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
local luasnip = require "luasnip"
|
||||||
|
luasnip.config.setup {
|
||||||
|
history = false,
|
||||||
|
updateevents = "TextChanged,TextChangedI",
|
||||||
|
}
|
||||||
|
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
local lspkind = require "lspkind"
|
||||||
|
lspkind.init {}
|
||||||
|
|
||||||
|
local cmp = require "cmp"
|
||||||
|
cmp.setup {
|
||||||
|
window = {
|
||||||
|
documentation = {
|
||||||
|
border = "rounded",
|
||||||
|
},
|
||||||
|
completion = {
|
||||||
|
border = "rounded",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "path" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
},
|
||||||
|
completion = {
|
||||||
|
completeopt = "menu, menuone, noinsert, noselect",
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = { "kind", "abbr", "menu" },
|
||||||
|
expandable_indicator = true,
|
||||||
|
format = lspkind.cmp_format {
|
||||||
|
mode = "symbol",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- No, but seriously. Please read `:help ins-completion`, it is really good!
|
||||||
|
mapping = cmp.mapping.preset.insert {
|
||||||
|
["<C-n>"] = cmp.mapping.select_next_item(),
|
||||||
|
["<C-p>"] = cmp.mapping.select_prev_item(),
|
||||||
|
|
||||||
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
|
||||||
|
["<C-y>"] = cmp.mapping.confirm { select = true },
|
||||||
|
|
||||||
|
["<C-Space>"] = cmp.mapping.complete {},
|
||||||
|
|
||||||
|
-- Think of <c-l> as moving to the right of your snippet expansion.
|
||||||
|
-- So if you have a snippet that's like:
|
||||||
|
-- function $name($args)
|
||||||
|
-- $body
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- <c-l> will move you to the right of each of the expansion locations.
|
||||||
|
-- <c-h> is similar, except moving you backwards.
|
||||||
|
["<C-l>"] = cmp.mapping(function()
|
||||||
|
if luasnip.expand_or_locally_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
["<C-h>"] = cmp.mapping(function()
|
||||||
|
if luasnip.locally_jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
},
|
||||||
|
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require("luasnip").lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
cmp.setup.filetype({ "sql" }, {
|
||||||
|
sources = {
|
||||||
|
{ name = "vim-dadbod-completion" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
},
|
||||||
|
})
|
||||||
52
pkgs/nvim-conf/nvim/lua/lilJ/health.lua
Normal file
52
pkgs/nvim-conf/nvim/lua/lilJ/health.lua
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
--[[
|
||||||
|
--
|
||||||
|
-- This file is not required for your own configuration,
|
||||||
|
-- but helps people determine if their system is setup correctly.
|
||||||
|
--
|
||||||
|
--]]
|
||||||
|
|
||||||
|
local check_version = function()
|
||||||
|
local verstr = string.format("%s.%s.%s", vim.version().major, vim.version().minor, vim.version().patch)
|
||||||
|
if not vim.version.cmp then
|
||||||
|
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if vim.version.cmp(vim.version(), { 0, 9, 4 }) >= 0 then
|
||||||
|
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
|
||||||
|
else
|
||||||
|
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local check_external_reqs = function()
|
||||||
|
-- Basic utils: `git`, `make`, `unzip`
|
||||||
|
for _, exe in ipairs({ "git", "make", "unzip", "rg" }) do
|
||||||
|
local is_executable = vim.fn.executable(exe) == 1
|
||||||
|
if is_executable then
|
||||||
|
vim.health.ok(string.format("Found executable: '%s'", exe))
|
||||||
|
else
|
||||||
|
vim.health.warn(string.format("Could not find executable: '%s'", exe))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
check = function()
|
||||||
|
vim.health.start("kickstart.nvim")
|
||||||
|
|
||||||
|
vim.health.info([[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
|
||||||
|
|
||||||
|
Fix only warnings for plugins and languages you intend to use.
|
||||||
|
Mason will give warnings for languages that are not installed.
|
||||||
|
You do not need to install, unless you want to use those languages!]])
|
||||||
|
|
||||||
|
local uv = vim.uv or vim.loop
|
||||||
|
vim.health.info("System Information: " .. vim.inspect(uv.os_uname()))
|
||||||
|
|
||||||
|
check_version()
|
||||||
|
check_external_reqs()
|
||||||
|
end,
|
||||||
|
}
|
||||||
29
pkgs/nvim-conf/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
29
pkgs/nvim-conf/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
return {
|
||||||
|
"catppuccin/nvim",
|
||||||
|
name = "catpuccin",
|
||||||
|
priority = 1000,
|
||||||
|
lazy = false,
|
||||||
|
init = function()
|
||||||
|
require("catppuccin").setup {
|
||||||
|
transparent_background = true,
|
||||||
|
}
|
||||||
|
vim.cmd.colorscheme "catppuccin"
|
||||||
|
|
||||||
|
vim.cmd.hi "Comment gui=none"
|
||||||
|
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" })
|
||||||
|
|
||||||
|
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||||
|
border = "rounded",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||||
|
border = "rounded",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.diagnostic.config {
|
||||||
|
float = { border = "rounded" },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}
|
||||||
27
pkgs/nvim-conf/nvim/lua/lilJ/plugins/completions.lua
Normal file
27
pkgs/nvim-conf/nvim/lua/lilJ/plugins/completions.lua
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
return {
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
event = "InsertEnter",
|
||||||
|
dependencies = {
|
||||||
|
"onsails/lspkind.nvim",
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
"hrsh7th/cmp-path",
|
||||||
|
"hrsh7th/cmp-buffer",
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
build = "make install_jsregexp",
|
||||||
|
dependencies = {
|
||||||
|
-- https://github.com/rafamadriz/friendly-snippets
|
||||||
|
{
|
||||||
|
"rafamadriz/friendly-snippets",
|
||||||
|
config = function()
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require "lilJ.completions"
|
||||||
|
end,
|
||||||
|
}
|
||||||
22
pkgs/nvim-conf/nvim/lua/lilJ/plugins/conform.lua
Normal file
22
pkgs/nvim-conf/nvim/lua/lilJ/plugins/conform.lua
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
return {
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
opts = {
|
||||||
|
notify_on_error = false,
|
||||||
|
format_on_save = function(bufnr)
|
||||||
|
local disable_filetypes = {}
|
||||||
|
return {
|
||||||
|
timeout_ms = 500,
|
||||||
|
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype],
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
formatters_by_ft = {
|
||||||
|
c = { "clang-format" },
|
||||||
|
css = { "prettier" },
|
||||||
|
go = { "gofumpt", "goimports-reviser" },
|
||||||
|
html = { "prettier" },
|
||||||
|
lua = { "stylua" },
|
||||||
|
typescript = { "prettier" },
|
||||||
|
typescriptreact = { "prettier" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
88
pkgs/nvim-conf/nvim/lua/lilJ/plugins/debug.lua
Normal file
88
pkgs/nvim-conf/nvim/lua/lilJ/plugins/debug.lua
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
-- debug.lua
|
||||||
|
-- Shows how to use the DAP plugin to debug your code.
|
||||||
|
--
|
||||||
|
-- Primarily focused on configuring the debugger for Go, but can
|
||||||
|
-- be extended to other languages as well. That's why it's called
|
||||||
|
-- kickstart.nvim and not kitchen-sink.nvim ;)
|
||||||
|
|
||||||
|
return {
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
dependencies = {
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
"nvim-neotest/nvim-nio",
|
||||||
|
"theHamsta/nvim-dap-virtual-text",
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"jay-babu/mason-nvim-dap.nvim",
|
||||||
|
|
||||||
|
-- GO DEBUG
|
||||||
|
"leoluz/nvim-dap-go",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local dap = require "dap"
|
||||||
|
local ui = require "dapui"
|
||||||
|
|
||||||
|
require("dapui").setup()
|
||||||
|
require("dap-go").setup()
|
||||||
|
|
||||||
|
require("nvim-dap-virtual-text").setup {
|
||||||
|
-- This just tries to mitigate the chance that I leak tokens here. Probably won't stop it from happening...
|
||||||
|
-- But I am not a streamer, so I may not want this, or prolly change it in future, but rn its commented
|
||||||
|
--
|
||||||
|
-- display_callback = function(variable)
|
||||||
|
-- local name = string.lower(variable.name)
|
||||||
|
-- local value = string.lower(variable.value)
|
||||||
|
-- if name:match "secret" or name:match "api" or value:match "secret" or value:match "api" then
|
||||||
|
-- return "*****"
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- if #variable.value > 15 then
|
||||||
|
-- return " " .. string.sub(variable.value, 1, 15) .. "... "
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- return " " .. variable.value
|
||||||
|
-- end,
|
||||||
|
}
|
||||||
|
|
||||||
|
require("mason-nvim-dap").setup {
|
||||||
|
automatic_setup = true,
|
||||||
|
|
||||||
|
automatic_installation = true,
|
||||||
|
|
||||||
|
handlers = {},
|
||||||
|
ensure_installed = {
|
||||||
|
"debugpy",
|
||||||
|
"delve",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- the very common keybind `<leader>db` overlaps with some other keybind
|
||||||
|
vim.keymap.set("n", "<leader>dt", dap.toggle_breakpoint, { desc = "Debug: Toggle Breakpoint" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<Space>?", function()
|
||||||
|
require("dapui").eval(nil, { enter = true })
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Basic debugging keymaps, feel free to change to your liking!
|
||||||
|
vim.keymap.set("n", "<F5>", dap.continue, { desc = "Start/Continue" })
|
||||||
|
vim.keymap.set("n", "<F4>", dap.step_into, { desc = "Step Into" })
|
||||||
|
vim.keymap.set("n", "<F3>", dap.step_over, { desc = "Step Over" })
|
||||||
|
vim.keymap.set("n", "<F2>", dap.step_out, { desc = "Step Out" })
|
||||||
|
vim.keymap.set("n", "<F1>", dap.step_back, { desc = "Step Back" })
|
||||||
|
vim.keymap.set("n", "<F10>", dap.restart, { desc = "Restart" })
|
||||||
|
|
||||||
|
dap.listeners.before.attach.dapui_config = function()
|
||||||
|
ui.open()
|
||||||
|
end
|
||||||
|
dap.listeners.before.launch.dapui_config = function()
|
||||||
|
ui.open()
|
||||||
|
end
|
||||||
|
dap.listeners.before.event_terminated.dapui_config = function()
|
||||||
|
ui.close()
|
||||||
|
end
|
||||||
|
dap.listeners.before.event_exited.dapui_config = function()
|
||||||
|
ui.close()
|
||||||
|
end
|
||||||
|
|
||||||
|
require("dap-go").setup()
|
||||||
|
end,
|
||||||
|
}
|
||||||
10
pkgs/nvim-conf/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
10
pkgs/nvim-conf/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
main = "ibl",
|
||||||
|
opts = {
|
||||||
|
indent = { char = "┊" },
|
||||||
|
whitespace = { highlight = { "Whitespace", "NonText" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
45
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lint.lua
Normal file
45
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lint.lua
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-lint",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
config = function()
|
||||||
|
local lint = require "lint"
|
||||||
|
|
||||||
|
lint.linters_by_ft = {
|
||||||
|
-- python = { "ruff", "mypy" },
|
||||||
|
dockerfile = { "hadolint" },
|
||||||
|
-- json = { "jsonlint" },
|
||||||
|
-- markdown = { "vale" },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- To allow other plugins to add linters to require('lint').linters_by_ft,
|
||||||
|
-- instead set linters_by_ft like this:
|
||||||
|
-- lint.linters_by_ft = lint.linters_by_ft or {}
|
||||||
|
-- lint.linters_by_ft['markdown'] = { 'markdownlint' }
|
||||||
|
--
|
||||||
|
-- However, note that this will enable a set of default linters,
|
||||||
|
-- which will cause errors unless these tools are available:
|
||||||
|
-- {
|
||||||
|
-- dockerfile = { "hadolint" },
|
||||||
|
-- json = { "jsonlint" },
|
||||||
|
-- markdown = { "vale" },
|
||||||
|
-- text = { "vale" }
|
||||||
|
-- }
|
||||||
|
--
|
||||||
|
-- You can disable the default linters by setting their filetypes to nil:
|
||||||
|
-- lint.linters_by_ft['dockerfile'] = nil
|
||||||
|
-- lint.linters_by_ft['json'] = nil
|
||||||
|
-- lint.linters_by_ft['text'] = nil
|
||||||
|
|
||||||
|
-- Create autocommand which carries out the actual linting
|
||||||
|
-- on the specified events.
|
||||||
|
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
||||||
|
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||||
|
group = lint_augroup,
|
||||||
|
callback = function()
|
||||||
|
require("lint").try_lint()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
161
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lsp.lua
Normal file
161
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lsp.lua
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
return {
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
|
||||||
|
dependencies = {
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||||
|
|
||||||
|
{ "j-hui/fidget.nvim", opts = {} },
|
||||||
|
|
||||||
|
{ "folke/neodev.nvim", opts = {} },
|
||||||
|
|
||||||
|
"b0o/SchemaStore.nvim",
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
local capabilities = nil
|
||||||
|
if pcall(require, "cmp_nvim_lsp") then
|
||||||
|
capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Enable the following language servers
|
||||||
|
local servers = {
|
||||||
|
clangd = {},
|
||||||
|
gopls = {
|
||||||
|
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
||||||
|
},
|
||||||
|
html = {
|
||||||
|
filetypes = { "html", "tmpl" },
|
||||||
|
},
|
||||||
|
jsonls = {
|
||||||
|
settings = {
|
||||||
|
json = {
|
||||||
|
schemas = require("schemastore").json.schemas(),
|
||||||
|
validate = { enable = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lua_ls = {
|
||||||
|
-- cmd = {...},
|
||||||
|
-- filetypes = { ...},
|
||||||
|
-- capabilities = {},
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
completion = {
|
||||||
|
callSnippet = "Replace",
|
||||||
|
},
|
||||||
|
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
|
||||||
|
-- diagnostics = { disable = { 'missing-fields' } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pyright = {},
|
||||||
|
ts_ls = {},
|
||||||
|
|
||||||
|
tailwindcss = {
|
||||||
|
filetypes = { "html", "css", "typescript", "typescriptreact" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
require("mason").setup()
|
||||||
|
|
||||||
|
local ensure_installed = vim.tbl_keys(servers or {})
|
||||||
|
vim.list_extend(ensure_installed, {
|
||||||
|
"clang-format",
|
||||||
|
"gofumpt",
|
||||||
|
"goimports-reviser",
|
||||||
|
"hadolint",
|
||||||
|
-- "jsonlint",
|
||||||
|
-- "mypy",
|
||||||
|
"prettier",
|
||||||
|
-- "ruff",
|
||||||
|
"stylua",
|
||||||
|
-- "vale",
|
||||||
|
})
|
||||||
|
require("mason-tool-installer").setup { ensure_installed = ensure_installed }
|
||||||
|
|
||||||
|
require("mason-lspconfig").setup {
|
||||||
|
handlers = {
|
||||||
|
function(server_name)
|
||||||
|
local server = servers[server_name] or {}
|
||||||
|
server.capabilities = vim.tbl_deep_extend("force", {}, capabilities, server.capabilities or {})
|
||||||
|
require("lspconfig")[server_name].setup(server)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
ensure_installed = {},
|
||||||
|
automatic_installation = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
||||||
|
for type, icon in pairs(signs) do
|
||||||
|
local hl = "DiagnosticSign" .. type
|
||||||
|
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
|
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
|
||||||
|
callback = function(event)
|
||||||
|
local map = function(keys, func, desc)
|
||||||
|
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Jump to the definition of the word under your cursor.
|
||||||
|
-- This is where a variable was first declared, or where a function is defined, etc.
|
||||||
|
-- To jump back, press <C-t>.
|
||||||
|
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
||||||
|
|
||||||
|
-- Find references for the word under your cursor.
|
||||||
|
map("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
||||||
|
|
||||||
|
-- Jump to the implementation of the word under your cursor.
|
||||||
|
-- Useful when your language has ways of declaring types without an actual implementation.
|
||||||
|
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
||||||
|
|
||||||
|
-- Jump to the type of the word under your cursor.
|
||||||
|
-- Useful when you're not sure what type a variable is and you want to see
|
||||||
|
-- the definition of its *type*, not where it was *defined*.
|
||||||
|
map("<leader>D", require("telescope.builtin").lsp_type_definitions, "Type [D]efinition")
|
||||||
|
|
||||||
|
-- Fuzzy find all the symbols in your current document.
|
||||||
|
-- Symbols are things like variables, functions, types, etc.
|
||||||
|
map("<leader>ds", require("telescope.builtin").lsp_document_symbols, "[D]ocument [S]ymbols")
|
||||||
|
|
||||||
|
-- Fuzzy find all the symbols in your current workspace.
|
||||||
|
-- Similar to document symbols, except searches over your entire project.
|
||||||
|
map("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[W]orkspace [S]ymbols")
|
||||||
|
|
||||||
|
-- Rename the variable under your cursor.
|
||||||
|
-- Most Language Servers support renaming across files, etc.
|
||||||
|
map("<leader>rn", vim.lsp.buf.rename, "[R]e[n]ame")
|
||||||
|
|
||||||
|
-- Execute a code action, usually your cursor needs to be on top of an error
|
||||||
|
-- or a suggestion from your LSP for this to activate.
|
||||||
|
map("<leader>ca", vim.lsp.buf.code_action, "[C]ode [A]ction")
|
||||||
|
|
||||||
|
-- Opens a popup that displays documentation about the word under your cursor
|
||||||
|
-- See `:help K` for why this keymap.
|
||||||
|
map("K", vim.lsp.buf.hover, "Hover Documentation")
|
||||||
|
|
||||||
|
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
||||||
|
-- For example, in C this would take you to the header.
|
||||||
|
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
||||||
|
|
||||||
|
-- The following two autocommands are used to highlight references of the
|
||||||
|
-- word under your cursor when your cursor rests there for a little while.
|
||||||
|
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||||
|
if client and client.server_capabilities.documentHighlightProvider then
|
||||||
|
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||||
|
buffer = event.buf,
|
||||||
|
callback = vim.lsp.buf.document_highlight,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
||||||
|
buffer = event.buf,
|
||||||
|
callback = vim.lsp.buf.clear_references,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,44 +1,41 @@
|
|||||||
return {
|
return {
|
||||||
"echasnovski/mini.nvim",
|
"echasnovski/mini.nvim",
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
|
-- Better Around/Inside textobjects
|
||||||
|
--
|
||||||
|
-- Examples:
|
||||||
|
-- - va) - [V]isually select [A]round [)]paren
|
||||||
|
-- - yinq - [Y]ank [I]nside [N]ext [']quote
|
||||||
|
-- - ci' - [C]hange [I]nside [']quote
|
||||||
|
require("mini.ai").setup { n_lines = 500 }
|
||||||
|
|
||||||
|
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||||
|
--
|
||||||
|
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||||
|
-- - sd' - [S]urround [D]elete [']quotes
|
||||||
|
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||||
|
require("mini.surround").setup()
|
||||||
|
|
||||||
local statusline = require "mini.statusline"
|
local statusline = require "mini.statusline"
|
||||||
statusline.setup { use_icons = vim.g.have_nerd_font }
|
statusline.setup { use_icons = vim.g.have_nerd_font }
|
||||||
|
|
||||||
local function get_lsp_clients()
|
|
||||||
local clients = vim.lsp.get_clients()
|
|
||||||
|
|
||||||
if #clients == 0 then
|
|
||||||
return ""
|
|
||||||
end
|
|
||||||
|
|
||||||
local names = {}
|
|
||||||
for _, client in ipairs(clients) do
|
|
||||||
table.insert(names, client.name)
|
|
||||||
end
|
|
||||||
|
|
||||||
local lsp_string = table.concat(names, "|")
|
|
||||||
return " " .. lsp_string
|
|
||||||
end
|
|
||||||
|
|
||||||
---@diagnostic disable-next-line: duplicate-set-field
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
statusline.active = function()
|
statusline.active = function()
|
||||||
local mode, mode_hl = statusline.section_mode { trunc_width = 120 }
|
local mode, mode_hl = statusline.section_mode { trunc_width = 120 }
|
||||||
local diff = statusline.section_diff { trunc_width = 75 }
|
local git = statusline.section_git
|
||||||
local git = statusline.section_git()
|
local diagnostics = statusline.section_diagnostics
|
||||||
local diagnostics = statusline.section_diagnostics()
|
local filename = statusline.section_filename { trunc_width = 140 }
|
||||||
local fileinfo = MiniStatusline.section_fileinfo { trunc_width = 120 }
|
-- local fileinfo = statusline.section_fileinfo()
|
||||||
local location = statusline.section_location()
|
local location = statusline.section_location()
|
||||||
local lsp = get_lsp_clients()
|
|
||||||
|
|
||||||
return statusline.combine_groups {
|
return statusline.combine_groups {
|
||||||
{ hl = mode_hl, strings = { mode } },
|
{ hl = mode_hl, strings = { mode } },
|
||||||
{ hl = "MiniStatuslineDevinfo", strings = { git, diff } },
|
|
||||||
"%<",
|
|
||||||
{ hl = "MiniStatuslineFilename", strings = { fileinfo } },
|
|
||||||
"%=",
|
|
||||||
{ hl = "MiniStatuslineFilename", strings = { lsp } },
|
|
||||||
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
||||||
|
"%<",
|
||||||
|
{ hl = "MiniStatuslineFilename", strings = { filename } },
|
||||||
|
"%=",
|
||||||
|
-- { hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
|
||||||
|
{ hl = "MiniStatuslineDevinfo", strings = { git } },
|
||||||
{ hl = mode_hl, strings = { location } },
|
{ hl = mode_hl, strings = { location } },
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
return {
|
return {
|
||||||
"alexghergh/nvim-tmux-navigation",
|
"alexghergh/nvim-tmux-navigation",
|
||||||
|
|
||||||
|
lazy = false,
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
local nvim_tmux_nav = require "nvim-tmux-navigation"
|
local nvim_tmux_nav = require "nvim-tmux-navigation"
|
||||||
|
|
||||||
nvim_tmux_nav.setup {
|
nvim_tmux_nav.setup {
|
||||||
disable_when_zoomed = true,
|
disable_when_zoomed = true,
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
event = "BufRead",
|
event = "VimEnter",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
opts = { signs = false },
|
opts = { signs = false },
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ return {
|
|||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = { "go", "lua", "typescript" },
|
ensure_installed = { "go", "lua" },
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
@@ -1,8 +1,21 @@
|
|||||||
|
-- Telescope is a fuzzy finder that comes with a lot of different things that
|
||||||
|
-- it can fuzzy find! It's more than just a "file finder", it can search
|
||||||
|
-- many different aspects of Neovim, your workspace, LSP, and more!
|
||||||
|
--
|
||||||
|
-- Two important keymaps to use while in Telescope are:
|
||||||
|
-- - Insert mode: <c-/>
|
||||||
|
-- - Normal mode: ?
|
||||||
|
--
|
||||||
|
-- This opens a window that shows you all of the keymaps for the current
|
||||||
|
-- Telescope picker. This is really useful to discover what Telescope can
|
||||||
|
-- do as well as how to actually do it!
|
||||||
|
|
||||||
require("telescope").setup {
|
require("telescope").setup {
|
||||||
defaults = {
|
defaults = {
|
||||||
file_ignore_patterns = { ".git/", "node%_modules/.*" },
|
file_ignore_patterns = { ".git/", "node%_modules/.*" },
|
||||||
prompt_prefix = "🔭 ",
|
prompt_prefix = "🔭 ",
|
||||||
selection_caret = " ",
|
selection_caret = " ",
|
||||||
|
-- initial_mode = "normal",
|
||||||
},
|
},
|
||||||
|
|
||||||
extensions = {
|
extensions = {
|
||||||
@@ -14,6 +27,7 @@ require("telescope").setup {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Enable Telescope extensions if they are installed
|
||||||
pcall(require("telescope").load_extension, "fzf")
|
pcall(require("telescope").load_extension, "fzf")
|
||||||
pcall(require("telescope").load_extension, "ui-select")
|
pcall(require("telescope").load_extension, "ui-select")
|
||||||
|
|
||||||
@@ -24,6 +38,7 @@ vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp"
|
|||||||
vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
|
vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
|
||||||
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
|
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
|
||||||
|
|
||||||
|
-- IDK how to make grep work on my machine... (skill issues tbh)
|
||||||
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
|
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
|
||||||
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
||||||
|
|
||||||
@@ -32,9 +47,10 @@ vim.keymap.set("n", "<leader>sr", builtin.resume, { desc = "[S]earch [R]esume" }
|
|||||||
vim.keymap.set("n", "<leader>s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
vim.keymap.set("n", "<leader>s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
||||||
vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
|
vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
|
||||||
|
|
||||||
|
-- Slightly advanced example of overriding default behavior and theme
|
||||||
vim.keymap.set("n", "<leader>/", function()
|
vim.keymap.set("n", "<leader>/", function()
|
||||||
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
|
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
|
||||||
winblend = 10,
|
winblend = 50,
|
||||||
previewer = false,
|
previewer = false,
|
||||||
})
|
})
|
||||||
end, { desc = "[/] Fuzzily search in current buffer" })
|
end, { desc = "[/] Fuzzily search in current buffer" })
|
||||||
@@ -34,14 +34,8 @@ vim.opt.hlsearch = true
|
|||||||
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
||||||
|
|
||||||
-- Diagnostic keymaps
|
-- Diagnostic keymaps
|
||||||
set("n", "[d", function()
|
set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous [D]iagnostic message" })
|
||||||
vim.diagnostic.jump { count = -1, float = true }
|
set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next [D]iagnostic message" })
|
||||||
end, { desc = "Go to previous [D]iagnostic message" })
|
|
||||||
|
|
||||||
set("n", "]d", function()
|
|
||||||
vim.diagnostic.jump { count = 1, float = true }
|
|
||||||
end, { desc = "Go to next [D]iagnostic message" })
|
|
||||||
|
|
||||||
set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" })
|
set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" })
|
||||||
set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Show diagnostic [E]rror messages" })
|
set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Show diagnostic [E]rror messages" })
|
||||||
|
|
||||||
@@ -56,6 +50,6 @@ vim.api.nvim_create_autocmd("TextYankPost", {
|
|||||||
desc = "Highlight when yanking (copying) text",
|
desc = "Highlight when yanking (copying) text",
|
||||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.hl.on_yank()
|
vim.highlight.on_yank()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
|
-- Use 4 space tabs
|
||||||
opt.tabstop = 4
|
opt.tabstop = 4
|
||||||
opt.softtabstop = 4
|
opt.softtabstop = 4
|
||||||
opt.shiftwidth = 4
|
opt.shiftwidth = 4
|
||||||
@@ -44,4 +45,3 @@ vim.o.linebreak = true
|
|||||||
vim.o.wrap = true
|
vim.o.wrap = true
|
||||||
vim.o.breakindent = true
|
vim.o.breakindent = true
|
||||||
vim.o.showbreak = "↳ "
|
vim.o.showbreak = "↳ "
|
||||||
vim.o.winborder = "rounded"
|
|
||||||
28
readme.md
28
readme.md
@@ -1,27 +1 @@
|
|||||||
<h2 align="center">
|
# lilJ Nix configs
|
||||||
<b style="font-size:24px;line-height:24px;vertical-align:middle;">
|
|
||||||
<i>lilJs dotfiles</i>
|
|
||||||
</b>
|
|
||||||
</h2>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### 🚀 Installation
|
|
||||||
|
|
||||||
1. Clone this repository.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git clone https://github.com/kulvirdotgg/dotFiles.git
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Run `install.sh` script.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cd dotFiles
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Install `tmux tpm` from their [repo](https://github.com/tmux-plugins/tpm)
|
|
||||||
```sh
|
|
||||||
git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
|
|
||||||
```
|
|
||||||
|
|||||||
Reference in New Issue
Block a user