Compare commits
35 Commits
darwin-suc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fa4219b02 | ||
|
|
78da7dc18c | ||
|
|
6d17587e2e | ||
|
|
58beb6ba41 | ||
|
|
52d123e6cf | ||
|
|
bbbe31edef | ||
|
|
13e0c80873 | ||
|
|
d3886e267e | ||
|
|
6b8a0ae751 | ||
|
|
554306870d | ||
|
|
6a9e822249 | ||
|
|
fecfab2d64 | ||
|
|
20e4e7539d | ||
|
|
ef360f5705 | ||
|
|
742011ae6d | ||
|
|
d567640a26 | ||
|
|
01c641ef0e | ||
|
|
510950d5dd | ||
|
|
db28d94007 | ||
|
|
3499cc0de8 | ||
|
|
a008233c7b | ||
|
|
449cb4bc6c | ||
|
|
5270082cc0 | ||
|
|
4966457528 | ||
|
|
0c16f49f16 | ||
|
|
a260286c40 | ||
|
|
e80ee5d017 | ||
|
|
4519042414 | ||
|
|
c1865cf4d7 | ||
|
|
0a88470d41 | ||
|
|
64b610c59c | ||
|
|
c3e692d02a | ||
|
|
1e4dcc5546 | ||
|
|
f85a079b90 | ||
|
|
db0ef4bcc3 |
28
.bash_profile
Normal file
28
.bash_profile
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# 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
Normal file
245
.clang-format
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
---
|
||||||
|
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
|
||||||
|
...
|
||||||
78
.config/alacritty/alacritty.toml
Normal file
78
.config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
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"
|
||||||
75
.config/alacritty/themes/rose-pine.toml
Normal file
75
.config/alacritty/themes/rose-pine.toml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# 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"
|
||||||
|
|
||||||
221
.config/btop/btop.conf
Normal file
221
.config/btop/btop.conf
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
#? 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"
|
||||||
93
.config/fastfetch/config.jsonc
Normal file
93
.config/fastfetch/config.jsonc
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
{
|
||||||
|
"$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"
|
||||||
|
]
|
||||||
|
}
|
||||||
42
.config/ghostty/config
Normal file
42
.config/ghostty/config
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
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
|
||||||
11
.config/git/config
Normal file
11
.config/git/config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[credential]
|
||||||
|
helper = cache
|
||||||
|
[user]
|
||||||
|
name = Kulvir Singh
|
||||||
|
email = kulvirs734@gmail.com
|
||||||
|
[init]
|
||||||
|
defaultBranch = trunk
|
||||||
|
[lfs]
|
||||||
|
enable = true
|
||||||
|
[push]
|
||||||
|
autoSetupRemote = true
|
||||||
48
.config/kitty/kitty.conf
Normal file
48
.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
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
|
||||||
80
.config/kitty/themes/Catppuccin_Mocha.conf
Normal file
80
.config/kitty/themes/Catppuccin_Mocha.conf
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# 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
|
||||||
5
.config/nvim/.luarc.json
Normal file
5
.config/nvim/.luarc.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"diagnostics.globals": [
|
||||||
|
"vim"
|
||||||
|
]
|
||||||
|
}
|
||||||
28
.config/nvim/lazy-lock.json
Normal file
28
.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"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" }
|
||||||
|
}
|
||||||
52
.config/nvim/lua/lilJ/health.lua
Normal file
52
.config/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,
|
||||||
|
}
|
||||||
45
.config/nvim/lua/lilJ/plugins/blink.lua
Normal file
45
.config/nvim/lua/lilJ/plugins/blink.lua
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
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" },
|
||||||
|
}
|
||||||
16
.config/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
16
.config/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
37
.config/nvim/lua/lilJ/plugins/conform.lua
Normal file
37
.config/nvim/lua/lilJ/plugins/conform.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
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" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
9
.config/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
9
.config/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
return {
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
main = "ibl",
|
||||||
|
event = "BufReadPre",
|
||||||
|
opts = {
|
||||||
|
indent = { char = "┊" },
|
||||||
|
whitespace = { highlight = { "Whitespace", "NonText" } },
|
||||||
|
},
|
||||||
|
}
|
||||||
12
.config/nvim/lua/lilJ/plugins/lazydev.lua
Normal file
12
.config/nvim/lua/lilJ/plugins/lazydev.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
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" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
22
.config/nvim/lua/lilJ/plugins/lint.lua
Normal file
22
.config/nvim/lua/lilJ/plugins/lint.lua
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
193
.config/nvim/lua/lilJ/plugins/lsp.lua
Normal file
193
.config/nvim/lua/lilJ/plugins/lsp.lua
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
5
.config/nvim/lua/lilJ/plugins/mdx.lua
Normal file
5
.config/nvim/lua/lilJ/plugins/mdx.lua
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
return {
|
||||||
|
"davidmh/mdx.nvim",
|
||||||
|
config = true,
|
||||||
|
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||||
|
}
|
||||||
@@ -1,41 +1,44 @@
|
|||||||
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 git = statusline.section_git
|
local diff = statusline.section_diff { trunc_width = 75 }
|
||||||
local diagnostics = statusline.section_diagnostics
|
local git = statusline.section_git()
|
||||||
local filename = statusline.section_filename { trunc_width = 140 }
|
local diagnostics = statusline.section_diagnostics()
|
||||||
-- local fileinfo = statusline.section_fileinfo()
|
local fileinfo = MiniStatusline.section_fileinfo { trunc_width = 120 }
|
||||||
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 = { diagnostics } },
|
{ hl = "MiniStatuslineDevinfo", strings = { git, diff } },
|
||||||
"%<",
|
"%<",
|
||||||
{ hl = "MiniStatuslineFilename", strings = { filename } },
|
{ hl = "MiniStatuslineFilename", strings = { fileinfo } },
|
||||||
"%=",
|
"%=",
|
||||||
-- { hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
|
{ hl = "MiniStatuslineFilename", strings = { lsp } },
|
||||||
{ hl = "MiniStatuslineDevinfo", strings = { git } },
|
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
||||||
{ hl = mode_hl, strings = { location } },
|
{ hl = mode_hl, strings = { location } },
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@ -51,16 +54,16 @@ return {
|
|||||||
|
|
||||||
local diagnostics = {}
|
local diagnostics = {}
|
||||||
if buffer_diagnostics.errors > 0 then
|
if buffer_diagnostics.errors > 0 then
|
||||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.errors))
|
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.errors))
|
||||||
end
|
end
|
||||||
if buffer_diagnostics.warnings > 0 then
|
if buffer_diagnostics.warnings > 0 then
|
||||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.warnings))
|
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.warnings))
|
||||||
end
|
end
|
||||||
if buffer_diagnostics.info > 0 then
|
if buffer_diagnostics.info > 0 then
|
||||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.info))
|
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.info))
|
||||||
end
|
end
|
||||||
if buffer_diagnostics.hints > 0 then
|
if buffer_diagnostics.hints > 0 then
|
||||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.hints))
|
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.hints))
|
||||||
end
|
end
|
||||||
return table.concat(diagnostics, " ")
|
return table.concat(diagnostics, " ")
|
||||||
end
|
end
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
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 = "VimEnter",
|
event = "BufRead",
|
||||||
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" },
|
ensure_installed = { "go", "lua", "typescript" },
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
@@ -1,21 +1,8 @@
|
|||||||
-- 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 = {
|
||||||
@@ -27,7 +14,6 @@ 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")
|
||||||
|
|
||||||
@@ -38,7 +24,6 @@ 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" })
|
||||||
|
|
||||||
@@ -47,10 +32,9 @@ 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 = 50,
|
winblend = 10,
|
||||||
previewer = false,
|
previewer = false,
|
||||||
})
|
})
|
||||||
end, { desc = "[/] Fuzzily search in current buffer" })
|
end, { desc = "[/] Fuzzily search in current buffer" })
|
||||||
@@ -34,8 +34,14 @@ vim.opt.hlsearch = true
|
|||||||
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
||||||
|
|
||||||
-- Diagnostic keymaps
|
-- Diagnostic keymaps
|
||||||
set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous [D]iagnostic message" })
|
set("n", "[d", function()
|
||||||
set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next [D]iagnostic message" })
|
vim.diagnostic.jump { count = -1, float = true }
|
||||||
|
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" })
|
||||||
|
|
||||||
@@ -50,6 +56,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.highlight.on_yank()
|
vim.hl.on_yank()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
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
|
||||||
@@ -45,3 +44,4 @@ 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"
|
||||||
20
.config/sketchybar/items/battery.sh
Normal file
20
.config/sketchybar/items/battery.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/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
|
||||||
18
.config/sketchybar/items/calendar.sh
Normal file
18
.config/sketchybar/items/calendar.sh
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/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"
|
||||||
21
.config/sketchybar/items/clock.sh
Normal file
21
.config/sketchybar/items/clock.sh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/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"
|
||||||
20
.config/sketchybar/items/front_app.sh
Normal file
20
.config/sketchybar/items/front_app.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/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
|
||||||
43
.config/sketchybar/items/spaces.sh
Normal file
43
.config/sketchybar/items/spaces.sh
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/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"
|
||||||
3
.config/sketchybar/plugins/calendar.sh
Executable file
3
.config/sketchybar/plugins/calendar.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sketchybar --set "$NAME" icon="" label="$(date '+%a, %d %b')"
|
||||||
4
.config/sketchybar/plugins/clock.sh
Executable file
4
.config/sketchybar/plugins/clock.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
LABEL=$(date '+%H:%M')
|
||||||
|
sketchybar --set "$NAME" label="$LABEL"
|
||||||
7
.config/sketchybar/plugins/front_app.sh
Executable file
7
.config/sketchybar/plugins/front_app.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"front_app_switched")
|
||||||
|
sketchybar --set "$NAME" label="$INFO"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
30
.config/sketchybar/plugins/power.sh
Executable file
30
.config/sketchybar/plugins/power.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/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}% "
|
||||||
17
.config/sketchybar/plugins/space.sh
Executable file
17
.config/sketchybar/plugins/space.sh
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/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
|
||||||
40
.config/sketchybar/sketchybarrc
Executable file
40
.config/sketchybar/sketchybarrc
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/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.."
|
||||||
53
.config/sketchybar/variables.sh
Normal file
53
.config/sketchybar/variables.sh
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
#!/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=("一" "二" "三" "四" "五" "六" "七" "八" "九" "十")
|
||||||
75
.config/skhd/skhdrc
Executable file
75
.config/skhd/skhdrc
Executable file
@@ -0,0 +1,75 @@
|
|||||||
|
# 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
|
||||||
81
.config/starship.toml
Normal file
81
.config/starship.toml
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
"$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}'
|
||||||
44
.config/tmux/tmux.conf
Normal file
44
.config/tmux/tmux.conf
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#!/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'
|
||||||
49
.config/yabai/yabairc
Executable file
49
.config/yabai/yabairc
Executable file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/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
Normal file
9
.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
*.DS_Store**
|
||||||
|
|
||||||
|
# tmux plugin files etc
|
||||||
|
*.config/tmux/**
|
||||||
|
**!tmux/tmux.conf
|
||||||
|
|
||||||
|
# btop files
|
||||||
|
*btop/**
|
||||||
|
!btop/btop.conf
|
||||||
38
.stow-local-ignore
Normal file
38
.stow-local-ignore
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# 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
Normal file
30
.zshrc
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# ---- 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
86
flake.lock
generated
@@ -1,86 +0,0 @@
|
|||||||
{
|
|
||||||
"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
47
flake.nix
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
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);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
{
|
|
||||||
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";
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
{
|
|
||||||
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"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# 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}";
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# 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
Executable file
72
install.sh
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
#!/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"
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
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"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
home.file = {
|
|
||||||
".config/nvim" = {
|
|
||||||
recursive = true;
|
|
||||||
source = "${pkgs.lilj-nvim-config}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
vimAlias = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
{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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{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
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
lilj-nvim-config = pkgs.callPackage ./nvim-conf {};
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"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" }
|
|
||||||
}
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
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" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -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,29 +0,0 @@
|
|||||||
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,
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
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,
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
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" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
-- 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,
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
main = "ibl",
|
|
||||||
opts = {
|
|
||||||
indent = { char = "┊" },
|
|
||||||
whitespace = { highlight = { "Whitespace", "NonText" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
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,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,161 +0,0 @@
|
|||||||
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,
|
|
||||||
}
|
|
||||||
28
readme.md
28
readme.md
@@ -1 +1,27 @@
|
|||||||
# lilJ Nix configs
|
<h2 align="center">
|
||||||
|
<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