Compare commits

35 Commits

Author SHA1 Message Date
Kulvir Singh
4fa4219b02 python linter lsp setup:
:
2025-08-27 03:11:42 +05:30
Kulvir Singh
78da7dc18c better floating windows 2025-08-09 03:11:30 +05:30
Kulvir Singh
6d17587e2e chores 2025-06-21 18:55:47 +05:30
Kulvir Singh
58beb6ba41 btop something something 2025-05-07 20:11:48 +05:30
Kulvir Singh
52d123e6cf lsp added to statusbar 2025-05-07 20:11:36 +05:30
Kulvir Singh
bbbe31edef either made of breaked my starship config 2025-05-02 20:25:04 +05:30
Kulvir Singh
13e0c80873 make some plugins load lazily 2025-05-02 03:19:13 +05:30
Kulvir Singh
d3886e267e turned off ghostty ligatures 2025-04-27 23:31:51 +05:30
Kulvir Singh
6b8a0ae751 borders in docs in comp 2025-04-24 03:30:48 +05:30
Kulvir Singh
554306870d removed duplicate smthng 2025-04-24 03:03:07 +05:30
Kulvir Singh
6a9e822249 ghostty cursor issue fixed 2025-04-24 02:58:42 +05:30
Kulvir Singh
fecfab2d64 updated lspconfig 2025-04-24 02:46:11 +05:30
Kulvir Singh
20e4e7539d here and there changes 2025-04-24 02:45:33 +05:30
Kulvir Singh
ef360f5705 moved from nvim-cmp to blink.cmp 2025-04-24 02:44:55 +05:30
Kulvir Singh
742011ae6d removed deprecated funcs and formatting correction 2025-04-23 23:18:59 +05:30
Kulvir Singh
d567640a26 cleaned up mini config 2025-04-23 20:21:46 +05:30
Kulvir Singh
01c641ef0e hover borders and some other stuff 2025-04-23 17:15:26 +05:30
Kulvir Singh
510950d5dd removed unused config 2025-04-15 13:23:36 +05:30
Kulvir Singh
db28d94007 better statusline icons 2025-03-14 09:26:55 +05:30
Kulvir Singh
3499cc0de8 eslint not needed 2025-03-09 20:22:49 +05:30
Kulvir Singh
a008233c7b . 2025-03-09 18:23:11 +05:30
Kulvir Singh
449cb4bc6c removed node from starship 2025-03-09 16:15:47 +05:30
Kulvir Singh
5270082cc0 4 tab 2025-03-09 03:11:17 +05:30
Kulvir Singh
4966457528 we love bun 2025-03-09 02:05:08 +05:30
Kulvir Singh
0c16f49f16 deleted useless stuff 2025-03-09 01:48:19 +05:30
Kulvir Singh
a260286c40 uninstall lsp kinda stuff 2025-03-09 01:30:10 +05:30
Kulvir Singh
e80ee5d017 git config 2025-03-09 01:26:41 +05:30
Kulvir Singh
4519042414 improved install script 2025-03-09 01:24:37 +05:30
Kulvir Singh
c1865cf4d7 starship cleanup 2025-03-09 01:14:20 +05:30
Kulvir Singh
0a88470d41 ghostty config 2025-03-09 01:13:54 +05:30
Kulvir Singh
64b610c59c irrelevant 2025-03-09 01:13:40 +05:30
Kulvir Singh
c3e692d02a terminals font change 2025-03-09 01:13:08 +05:30
Kulvir Singh
1e4dcc5546 feat: added env vars to zsh config 2025-03-09 01:12:24 +05:30
Kulvir Singh
f85a079b90 hapi: tmux is back 2025-03-09 00:53:16 +05:30
Kulvir Singh
db0ef4bcc3 something 2025-01-06 23:21:35 +05:30
49 changed files with 546 additions and 1057 deletions

View File

@@ -14,7 +14,7 @@ x = 0
y = 1
[font.normal]
family = "MesloLGS Nerd Font Mono"
family = "JetBrainsMono Nerd Font"
[font.italic]
style = "Italic"

View File

@@ -1,75 +0,0 @@
[colors.primary]
background = "#1E1E2E"
foreground = "#CDD6F4"
dim_foreground = "#CDD6F4"
bright_foreground = "#CDD6F4"
[colors.cursor]
text = "#1E1E2E"
cursor = "#F5E0DC"
[colors.vi_mode_cursor]
text = "#1E1E2E"
cursor = "#B4BEFE"
[colors.search.matches]
foreground = "#1E1E2E"
background = "#A6ADC8"
[colors.search.focused_match]
foreground = "#1E1E2E"
background = "#A6E3A1"
[colors.footer_bar]
foreground = "#1E1E2E"
background = "#A6ADC8"
[colors.hints.start]
foreground = "#1E1E2E"
background = "#F9E2AF"
[colors.hints.end]
foreground = "#1E1E2E"
background = "#A6ADC8"
[colors.selection]
text = "#1E1E2E"
background = "#F5E0DC"
[colors.normal]
black = "#45475A"
red = "#F38BA8"
green = "#A6E3A1"
yellow = "#F9E2AF"
blue = "#89B4FA"
magenta = "#F5C2E7"
cyan = "#94E2D5"
white = "#BAC2DE"
[colors.bright]
black = "#585B70"
red = "#F38BA8"
green = "#A6E3A1"
yellow = "#F9E2AF"
blue = "#89B4FA"
magenta = "#F5C2E7"
cyan = "#94E2D5"
white = "#A6ADC8"
[colors.dim]
black = "#45475A"
red = "#F38BA8"
green = "#A6E3A1"
yellow = "#F9E2AF"
blue = "#89B4FA"
magenta = "#F5C2E7"
cyan = "#94E2D5"
white = "#BAC2DE"
[[colors.indexed_colors]]
index = 16
color = "#FAB387"
[[colors.indexed_colors]]
index = 17
color = "#F5E0DC"

View File

@@ -1,4 +1,4 @@
#? Config file for btop v. 1.4.0
#? Config file for btop v. 1.4.4
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
@@ -18,7 +18,7 @@ force_tty = False
#* 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:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net: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.
@@ -57,7 +57,7 @@ update_ms = 2000
proc_sorting = "memory"
#* Reverse sorting order, True or False.
proc_reversed = True
proc_reversed = False
#* Show processes as a tree.
proc_tree = True
@@ -128,7 +128,7 @@ cpu_core_map = ""
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = True
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
@@ -144,7 +144,7 @@ background_update = True
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
#* 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.
@@ -160,13 +160,13 @@ zfs_arc_cached = True
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = False
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 = False
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
@@ -196,7 +196,7 @@ net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
net_auto = False
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
@@ -204,8 +204,11 @@ 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 = False
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"

View File

@@ -1,108 +1,93 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"padding": {
"top": 2
}
"$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"
},
"display": {
"separator": " ➜ "
{
"type": "kernel",
"key": " ├  ",
"keyColor": "red"
},
"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": "wmtheme",
"key": " ├ 󰉼 ",
"keyColor": "green"
},
{
"type": "icons",
"key": " ├ 󰀻 ",
"keyColor": "green"
},
{
"type": "cursor",
"key": " ├ ",
"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"
]
{
"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"
]
}

View File

@@ -1,17 +1,22 @@
theme = "catppuccin-mocha"
cursor-text = 181825
font-size = 14
font-family = "MesloLGS Nerd Font Mono"
font-family = "JetbrainsMono Nerd Font"
font-thicken = true
cursor-style = block
cursor-style = bar
cursor-style-blink = false
background-opacity = 0.95
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
@@ -26,12 +31,12 @@ window-padding-balance = true
# Don't use if using fullscreen
window-width = 168
window-height = 45
window-height = 47
# macos stuff
quit-after-last-window-closed = true
macos-option-as-alt = true
fullscreen = true
# fullscreen = true
# macos-non-native-fullscreen = true # fullscreen, hide menubar and dock toooo
keybind = cmd+backspace=text:\x15
# keybind = cmd+backspace=text:\x15

View File

@@ -1,7 +1,11 @@
[credential]
helper = cache
helper = cache
[user]
name = Kulvir Singh
email = kulvirs734@gmail.com
name = Kulvir Singh
email = kulvirs734@gmail.com
[init]
defaultBranch = trunk
defaultBranch = trunk
[lfs]
enable = true
[push]
autoSetupRemote = true

Binary file not shown.

View File

@@ -1,13 +1,12 @@
include themes/Catppuccin_Mocha.conf
# include themes/carbonfox.conf
font_family MesloLGS Nerd Font Mono
font_family JetBrainsMono Nerd Font
font_size 14.0
cursor_shape beam
background_opacity 0.95
background_opacity 0.9
background_blur 12
enable_audio_bell no

View File

@@ -1,33 +0,0 @@
## name: Gruvbox Dark Hard
## author: Pavel Pertsev
## license: MIT/X11
## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-dark-hard.conf
selection_foreground #ebdbb2
selection_background #d65d0e
background #1d2021
foreground #ebdbb2
color0 #3c3836
color1 #cc241d
color2 #98971a
color3 #d79921
color4 #458588
color5 #b16286
color6 #689d6a
color7 #a89984
color8 #928374
color9 #fb4934
color10 #b8bb26
color11 #fabd2f
color12 #83a598
color13 #d3869b
color14 #8ec07c
color15 #fbf1c7
cursor #bdae93
cursor_text_color #665c54
url_color #458588

View File

@@ -1,53 +0,0 @@
## name: Rosé Pine
## author: mvllow
## license: MIT
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
foreground #e0def4
background #191724
selection_foreground #e0def4
selection_background #403d52
cursor #524f67
cursor_text_color #e0def4
url_color #c4a7e7
active_tab_foreground #e0def4
active_tab_background #26233a
inactive_tab_foreground #6e6a86
inactive_tab_background #191724
# black
color0 #26233a
color8 #6e6a86
# red
color1 #eb6f92
color9 #eb6f92
# green
color2 #31748f
color10 #31748f
# yellow
color3 #f6c177
color11 #f6c177
# blue
color4 #9ccfd8
color12 #9ccfd8
# magenta
color5 #c4a7e7
color13 #c4a7e7
# cyan
color6 #ebbcba
color14 #ebbcba
# white
color7 #e0def4
color15 #e0def4

View File

@@ -1,50 +0,0 @@
# Nightfox colors for Kitty
## name: carbonfox
## upstream: https://github.com/edeneast/nightfox.nvim/raw/main/extra/carbonfox/kitty.conf
background #161616
foreground #f2f4f8
selection_background #2a2a2a
selection_foreground #f2f4f8
cursor_text_color #161616
url_color #25be6a
# Cursor
# uncomment for reverse background
# cursor none
cursor #f2f4f8
# Border
active_border_color #78a9ff
inactive_border_color #535353
bell_border_color #3ddbd9
# Tabs
active_tab_background #78a9ff
active_tab_foreground #0c0c0c
inactive_tab_background #2a2a2a
inactive_tab_foreground #6e6f70
# normal
color0 #282828
color1 #ee5396
color2 #25be6a
color3 #08bdba
color4 #78a9ff
color5 #be95ff
color6 #33b1ff
color7 #dfdfe0
# bright
color8 #484848
color9 #f16da6
color10 #46c880
color11 #2dc7c4
color12 #8cb6ff
color13 #c8a5ff
color14 #52bdff
color15 #e4e4e5
# extended colors
color16 #3ddbd9
color17 #ff7eb6

5
.config/nvim/.luarc.json Normal file
View File

@@ -0,0 +1,5 @@
{
"diagnostics.globals": [
"vim"
]
}

View File

@@ -1,44 +1,28 @@
{
"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" },
"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": "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" },
"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": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"vim-dadbod": { "branch": "master", "commit": "f740950d0703099e0f172016f10e0e39f50fd0ba" },
"vim-dadbod-completion": { "branch": "master", "commit": "9e354e86fcc67a5ec2c104f312e374ea2f89c799" },
"vim-dadbod-ui": { "branch": "master", "commit": "0fec59e3e1e619e302198cd491b7d27f8d398b7c" }
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }
}

View File

@@ -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" },
},
})

View File

@@ -6,47 +6,47 @@
--]]
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
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
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
-- 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
return true
end
return {
check = function()
vim.health.start("kickstart.nvim")
check = function()
vim.health.start "kickstart.nvim"
vim.health.info([[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
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!]])
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()))
local uv = vim.uv or vim.loop
vim.health.info("System Information: " .. vim.inspect(uv.os_uname()))
check_version()
check_external_reqs()
end,
check_version()
check_external_reqs()
end,
}

View 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" },
}

View File

@@ -1,28 +0,0 @@
return {
-- "EdenEast/nightfox.nvim",
-- lazy = false,
-- priority = 1000,
-- init = function()
-- require("nightfox").setup {
-- transparent_background = true,
-- }
-- vim.cmd.colorscheme "carbonfox"
--
-- 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,
}

View File

@@ -6,24 +6,11 @@ return {
init = function()
require("catppuccin").setup {
transparent_background = true,
float = {
solid = true,
transparent = 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,
}

View File

@@ -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,
}

View File

@@ -1,20 +1,35 @@
return {
"stevearc/conform.nvim",
event = { "BufWritePre" },
cmd = { "ConformInfo" },
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],
}
-- 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 = {
c = { "clang-format" },
css = { "prettier" },
go = { "gofumpt", "goimports_reviser" },
html = { "prettier" },
lua = { "stylua" },
python = {
"ruff_fix",
"ruff_format",
"ruff_organize_imports",
},
typescript = { "prettier" },
typescriptreact = { "prettier" },
},

View File

@@ -1,5 +0,0 @@
return {
"tpope/vim-dadbod",
"kristijanhusak/vim-dadbod-completion",
"kristijanhusak/vim-dadbod-ui",
}

View File

@@ -1,89 +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",
"mfussenegger/nvim-dap-python",
},
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",
},
}
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()
require("dap-python").setup "~/.local/share/nvim/mason/packages/debugpy/venv/bin/python"
end,
}

View File

@@ -1,10 +1,9 @@
return {
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
opts = {
indent = { char = "" },
whitespace = { highlight = { "Whitespace", "NonText" } },
},
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
event = "BufReadPre",
opts = {
indent = { char = "" },
whitespace = { highlight = { "Whitespace", "NonText" } },
},
}

View 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" } },
},
},
}

View File

@@ -1,45 +1,22 @@
return {
{
"mfussenegger/nvim-lint",
event = { "BufReadPre", "BufNewFile" },
config = function()
local lint = require "lint"
"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" },
}
lint.linters_by_ft = {
json = { "jsonlint" },
python = { "ruff" },
-- typescript = { "eslint" },
-- typescriptreact = { "eslint" },
}
-- 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,
},
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,
}

View File

@@ -2,32 +2,133 @@ return {
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
{ "williamboman/mason.nvim", opts = {} },
"williamboman/mason-lspconfig.nvim",
"WhoIsSethDaniel/mason-tool-installer.nvim",
-- Useful status updates for LSP.
{ "j-hui/fidget.nvim", opts = {} },
{ "folke/neodev.nvim", opts = {} },
"b0o/SchemaStore.nvim",
-- Allows extra capabilities provided by blink.cmp
"saghen/blink.cmp",
},
config = function()
local capabilities = nil
if pcall(require, "cmp_nvim_lsp") then
capabilities = require("cmp_nvim_lsp").default_capabilities()
end
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()
-- Enable the following language servers
local servers = {
clangd = {},
gopls = {
filetypes = { "go", "gomod", "gowork", "gotmpl" },
},
html = {
filetypes = { "html", "tmpl" },
},
jsonls = {
settings = {
json = {
@@ -37,45 +138,49 @@ return {
},
},
lua_ls = {
-- cmd = {...},
-- filetypes = { ...},
-- capabilities = {},
settings = {
Lua = {
lua = {
completion = {
callSnippet = "Replace",
callsnippet = "replace",
},
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
-- diagnostics = { disable = { 'missing-fields' } },
},
},
},
pyright = {},
pyright = {
settings = {
pyright = {
disableOrganizeImports = true,
},
python = {
analysis = {
ignore = { "*" },
},
},
},
},
ts_ls = {},
tailwindcss = {
filetypes = { "html", "css", "typescript", "typescriptreact" },
filetypes = { "html", "css", "typescript", "typescriptreact", "astro" },
},
}
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 {
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 {}
@@ -83,79 +188,6 @@ return {
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,
}

View File

@@ -0,0 +1,5 @@
return {
"davidmh/mdx.nvim",
config = true,
dependencies = { "nvim-treesitter/nvim-treesitter" },
}

View File

@@ -1,41 +1,44 @@
return {
"echasnovski/mini.nvim",
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"
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
statusline.active = function()
local mode, mode_hl = statusline.section_mode { trunc_width = 120 }
local git = statusline.section_git {}
local diagnostics = statusline.section_diagnostics { trunc_width = 75 }
local filename = statusline.section_filename { trunc_width = 140 }
-- local fileinfo = statusline.section_fileinfo()
local diff = statusline.section_diff { trunc_width = 75 }
local git = statusline.section_git()
local diagnostics = statusline.section_diagnostics()
local fileinfo = MiniStatusline.section_fileinfo { trunc_width = 120 }
local location = statusline.section_location()
local lsp = get_lsp_clients()
return statusline.combine_groups {
{ 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 = "MiniStatuslineDevinfo", strings = { git } },
{ hl = "MiniStatuslineFilename", strings = { lsp } },
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
{ hl = mode_hl, strings = { location } },
}
end
@@ -51,16 +54,16 @@ return {
local diagnostics = {}
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
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
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
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
return table.concat(diagnostics, " ")
end

View File

@@ -1,11 +1,7 @@
return {
"alexghergh/nvim-tmux-navigation",
lazy = false,
config = function()
local nvim_tmux_nav = require "nvim-tmux-navigation"
nvim_tmux_nav.setup {
disable_when_zoomed = true,
}

View File

@@ -1,6 +1,6 @@
return {
"folke/todo-comments.nvim",
event = "VimEnter",
event = "BufRead",
dependencies = { "nvim-lua/plenary.nvim" },
opts = { signs = false },
}

View File

@@ -5,7 +5,7 @@ return {
"nvim-treesitter/nvim-treesitter-textobjects",
},
opts = {
ensure_installed = { "c", "go", "html", "lua", "python", "typescript", "tsx" },
ensure_installed = { "go", "lua", "typescript" },
auto_install = true,
highlight = {
enable = true,

View File

@@ -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 {
defaults = {
file_ignore_patterns = { ".git/", "node%_modules/.*" },
prompt_prefix = "🔭 ",
selection_caret = "",
-- initial_mode = "normal",
},
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, "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>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>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><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
-- Slightly advanced example of overriding default behavior and theme
vim.keymap.set("n", "<leader>/", function()
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 50,
winblend = 10,
previewer = false,
})
end, { desc = "[/] Fuzzily search in current buffer" })

View File

@@ -34,8 +34,14 @@ vim.opt.hlsearch = true
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
-- Diagnostic keymaps
set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous [D]iagnostic message" })
set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next [D]iagnostic message" })
set("n", "[d", function()
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>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",
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
callback = function()
vim.highlight.on_yank()
vim.hl.on_yank()
end,
})

View File

@@ -1,7 +1,5 @@
local opt = vim.opt
-- Use 4 space tabs
-- TODO: Change this back when no company work
opt.tabstop = 4
opt.softtabstop = 4
opt.shiftwidth = 4
@@ -46,3 +44,4 @@ vim.o.linebreak = true
vim.o.wrap = true
vim.o.breakindent = true
vim.o.showbreak = ""
vim.o.winborder = "rounded"

View File

@@ -1,32 +1,15 @@
"$schema" = 'https://starship.rs/config-schema.json'
add_newline = true
continuation_prompt = '▶▶ '
format = """$directory$all$character"""
format = "$directory$bun$golang$python$git_branch$git_status$git_state[ ](bold yellow)[](bold mauve)[](bold sapphire)\n$character"
palette = "catppuccin_mocha"
[aws]
symbol = ""
[aws.region_aliases]
ap-southeast-1 = 'in'
# [aws.profile_aliases]
# Enterprise_Naming_Scheme-voidstars = 'void**'
[bun]
format = '[🍞 bun $version ](bold green)'
version_format = '${major}.${minor}'
[c]
detect_extensions = ['c', 'cpp']
format = '[$symbol $name-$version ]($style)'
symbol = ""
version_format = '${major}.${minor}'
format = '[bun ${version}](bold yellow)'
version_format = 'v${major}.${minor}'
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
success_symbol = "[➜](bold peach)"
error_symbol = "[✗](bold maroon)"
[cmd_duration]
disabled = true
@@ -36,60 +19,33 @@ home_symbol= "󰊠 "
truncation_length = 2
truncate_to_repo = true
truncation_symbol = "󰊠 "
style = "bold blue"
[docker_context]
format = 'in [$symbol$context]($style) '
style = "bold lavender"
[git_branch]
format='[ $symbol$branch :\($remote_branch\) ]($style)'
style='bold purple'
format='[ $symbol$branch]($style)'
style='bold mauve'
symbol=" "
always_show_remote = true
[git_state]
cherry_pick = '[🍒 PICKING](bold red)'
[git_metrics]
# format = '[+$added]($added_style) [-$deleted]($deleted_style) '
disabled = false
cherry_pick = '[🍒](bold maroon)'
[git_status]
format = '([\[$all_status$ahead_behind\]]($style) )'
up_to_date = ''
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}'
stashed = '📦'
staged = '[++\($count\)](green)'
renamed = '»\($count\)'
stashed = ''
[golang]
format = '[ $version ](bold cyan)'
version_format = '${major}.${minor}'
[nodejs]
detect_files = ['!bun.lockb']
format = '[$symbol$version ]($style)'
version_format = '${major}.${minor}'
[package]
format = '[pkg $symbol$version]($style) '
disabled = false
[palettes.carbonfox]
red = "#ee5396"
green = "#25be6a"
purple = "#be95ff"
yellow = "#08bdba"
os_bg = "#7b7c7e"
os_fg = "#0c0c0c"
dir_bg = "#25be6a"
dir_fg = "#161616"
git_bg = "#08bdba"
git_fg = "#252525"
lang_bg = "#78a9ff"
lang_fg = "#353535"
format = '[ ${version}](bold $style)'
version_format = 'v${major}.${minor}'
[palettes.catppuccin_mocha]
rosewater = "#f5e0dc"
@@ -121,10 +77,5 @@ crust = "#11111b"
[python]
symbol = " "
format = '[(\($virtualenv\) )${symbol}(${version} )]($style)'
version_format = '${major}.${minor}'
[sudo]
format = '[ as sudo]($style)'
style = 'bold blue'
disabled = false
format = '[(\($virtualenv\))${symbol}${version}]($style)'
version_format = 'v${major}.${minor}'

View File

@@ -13,10 +13,6 @@ set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
set -g @plugin 'catppuccin/tmux#v1.0.1'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
# Better split window keybind and same directory for new panes
@@ -30,39 +26,19 @@ bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R
# Nightfox colors for Tmux
# Style: carbonfox
# Upstream: https://github.com/edeneast/nightfox.nvim/raw/main/extra/carbonfox/carbonfox.tmux
# set -g mode-style "fg=#0c0c0c,bg=#b6b8bb"
# set -g message-style "fg=#0c0c0c,bg=#b6b8bb"
# set -g message-command-style "fg=#0c0c0c,bg=#b6b8bb"
# set -g pane-border-style "fg=#b6b8bb"
# set -g pane-active-border-style "fg=#78a9ff"
# set -g status "on"
# set -g status-justify "left"
# set -g status-style "fg=#b5b8bb,bg=#0c0c0c"
# set -g status-left-length "100"
# set -g status-right-length "100"
# set -g status-left-style NONE
# set -g status-right-style NONE
# set -g status-left ""
# set -g status-right "#[fg=#0c0c0c,bg=#b6b8bb,,nobold,nounderscore,noitalics] #W #[fg=#0c0c0c,bg=#78a9ff,bold] #S "
# setw -g window-status-activity-style "underscore,fg=#7b7c7e,bg=#0c0c0c"
# setw -g window-status-separator ""
# setw -g window-status-style "NONE,fg=#7b7c7e,bg=#0c0c0c"
# setw -g window-status-format "#[fg=#0c0c0c,bg=#0c0c0c,nobold,nounderscore,noitalics]#[default] #I #{b:pane_current_path} "
# setw -g window-status-current-format "#[fg=#0c0c0c,bg=#b6b8bb,bold] #I #{b:pane_current_path} "
set -g @plugin 'catppuccin/tmux'
# Catpuccin Theme....
set -g status-right "#{E:@catppuccin_status_application}#{E:@catppuccin_status_session}"
set -g status-left ""
set -g @catppuccin_pane_active_border_style "fg=#{@thm_peach}"
set -g @catppuccin_window_current_background "#{@thm_lavender}"
set -g @catppuccin_window_status_style "basic"
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 -g @catppuccin_window_default_text " #W"
set -g @catppuccin_window_current_text " #W"
set -g @catppuccin_window_status "icon"
set -g @catppuccin_window_current_background "#{@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'

View File

@@ -1,29 +0,0 @@
local wezterm = require("wezterm")
local config = {
enable_tab_bar = false,
window_decorations = "RESIZE",
window_close_confirmation = "NeverPrompt",
font = wezterm.font("MesloLGS Nerd Font Mono"),
font_size = 14.0,
color_scheme = "Catppuccin Mocha",
-- color_scheme = "carbonfox",
window_background_opacity = 0.95,
window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
},
macos_window_background_blur = 10,
}
-- uncomment this if not using with some wm
-- local mux = wezterm.mux
--
-- wezterm.on("gui-startup", function()
-- local _, _, window = mux.spawn_window({})
-- window:gui_window():maximize()
-- end)
return config

View File

@@ -19,10 +19,20 @@ _darcs
\#.*\# # emacs autosave files
^/README.*
^/readme.*
^/LICENSE.*
^/COPYING
# extra stuff not part of configs
install.sh
assets
cool-icons
readme.md
# 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*

19
.zshrc
View File

@@ -1,14 +1,9 @@
# ---- homebrew ----
eval "$(/opt/homebrew/bin/brew shellenv)"
# ---- Git Aliases ----
alias ga='git add'
alias gaa='git add -A'
alias gcm='git commit -m'
alias gpsh='git push'
alias gs='git status'
# ---- Aliases ----
alias ls='lsd'
alias lg='lazygit'
alias nv='nvim'
alias neofetch="fastfetch"
alias python='python3'
@@ -25,7 +20,11 @@ eval "$(zoxide init --cmd cd zsh)"
# ---- fzf ----
source <(fzf --zsh)
# ---- Syntax Highlighting ----
source /nix/store/5vkzp4m7aazakijfaq579mk5i40j57x0-zsh-syntax-highlighting-0.8.0/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# ---- syntax highlighting ----
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
eval "$(direnv hook zsh)"
export EDITOR="nvim"
export MANPAGER="nvim +Man!"
# bun completions
[ -s "/Users/lilj/.bun/_bun" ] && source "/Users/lilj/.bun/_bun"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 KiB

View File

@@ -2,19 +2,21 @@
# ---- Terminal ----
echo "Installing your Teminal and other thingies..."
brew install fastfetch
brew install font-meslo-lg-nerd-font
brew install fzf
brew install git
brew install kitty
brew install lsd
brew install neovim
brew install ripgrep
brew install ghostty
brew install starship
brew install stow
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 .
@@ -22,25 +24,23 @@ stow .
echo "Sourcing zsh config It should work now atleast"
source ~/.zshrc
# ---- Maybe sometimes idk ----
# brew install btop
# brew install oven-sh/bun/bun
# brew install go
# brew install node
# brew install pnpm
# brew install wezterm
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 google-chrome
brew install --cask ghostty
brew install --cask httpie
# brew install --cask keka
brew install --cask keka
brew install --cask obsidian
brew install --cask raycast
brew install --cask spotify
brew install --cask telegram
brew install --cask zen-browser
yabai() {
@@ -70,4 +70,3 @@ if $install_yabai; then
fi
echo "setup complete...\n"
echo "Install few apps from binaries,gfckin Ice installation method...\n"

View File

@@ -1,29 +1,10 @@
<h2 align="center">
<b style="font-size:24px;line-height:24px;vertical-align:middle;">
<i>JJs dotfiles</i>
<i>lilJs dotfiles</i>
</b>
</h2>
![](./assets/kitty-cat.png)
![](./assets/nvim-cat.png)
![](./assets/telescope-cat.png)
![](./assets/home_.png)
<details>
<summary>
<b>Yabai tiling wm</b>
<span style="font-size:14px;"></span>
</summary>
![](./assets/yabai-fox.png)
![](./assets/nvim-wez-fox.png)
</details>
![](./assets/)
### 🚀 Installation
@@ -33,15 +14,14 @@
git clone https://github.com/kulvirdotgg/dotFiles.git
```
2. Run `install.sh` script. (provide `--yabai` flag to install **yabai** tiling window manager)
2. Run `install.sh` script.
```sh
cd dotFiles
./install.sh
```
3. Install `tmux tpm` from their [repo](https://github.com/tmux-plugins/tpm) as it causes some conflicts with my config.
### Manual setup thingies (Ice age things)
- [Arc](https://arc.net)
- Use Cool icons for terminal (Aplications > {app} > Content > Resrouces)
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
```