diff --git a/.bashrc b/.bashrc index f70cffd..c4d39c2 100755 --- a/.bashrc +++ b/.bashrc @@ -2,21 +2,10 @@ clear && myfetch -c 8 -C " █" eval "$(starship init bash)" [[ $- != *i* ]] && return -alias lsd='eza --icons' -alias pacup='sudo pacman -Rns $(pacman -Qdtq)' -alias grep='grep --color=auto' -alias pool='clear && asciiquarium' -alias f='clear && myfetch -i e -f -c 16 -C " "' -alias bye='sudo shutdown -h now' -alias loop='sudo reboot' -alias h='dbus-launch Hyprland' -alias fonts='fc-list -f "%{family}\n"' -alias tasks='btm' -alias Docs="cd ~/Documents && nvim" -alias Settings="cd ~/.config/hypr && nvim" -alias spot="ncspot" + +alias Settings="cd ~/.config && nvim" alias untar="tar -xf" -alias n="nvim" -export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" -PS1='[\u@\h \W]\$ ' +alias phone="scrcpy --max-fps=60 --no-audio --keyboard=uhid --mouse=uhid" + +# For scrcpy +export SDL_VIDEODRIVER=wayland diff --git a/.config/cava/config b/.config/cava/config deleted file mode 100755 index c277ca4..0000000 --- a/.config/cava/config +++ /dev/null @@ -1,5 +0,0 @@ -[color] -gradient = 1 -gradient_count = 2 -gradient_color_1 = '#8a897e' -gradient_color_2 = '#928d81' \ No newline at end of file diff --git a/.config/clock-rs/conf.toml b/.config/clock-rs/conf.toml deleted file mode 100644 index 4826fc9..0000000 --- a/.config/clock-rs/conf.toml +++ /dev/null @@ -1,13 +0,0 @@ -[general] -color = "magenta" -blink = true -bold = true - -[position] -horizontal = "center" -vertical = "center" - -[date] -fmt = "%A, %B %d, %Y" -use_12h = true -hide_seconds = true diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 3d1f5fb..57f6fea 100755 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -3,7 +3,7 @@ source = /home/$USER/.cache/wal/colors-hyprland monitor = auto, 2560x1440@165, 0x0, 1 $terminal = kitty -$fileManager = thunar +$fileManager = kitty -d ~ yazi # $menu = wofi --show drun -n $menu = wofi -n exec-once = hypridle @@ -39,7 +39,7 @@ plugin:dynamic-cursors { } general { - gaps_in = 2 + gaps_in = 3 gaps_out = 10 border_size = 0 col.active_border = $color9 @@ -106,20 +106,52 @@ device { name = epic-mouse-v1 sensitivity = 0 } + $mainMod = SUPER + +# App bind = $mainMod, Q, exec, $terminal -bind = $mainMod, B, killactive +bind = $mainMod, D, exec, firefox bind = $mainMod, E, exec, $fileManager -# bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;" -bind = $mainMod, V, togglefloating + +# Wofi menus bind = $mainMod, R, exec, $menu -bind = $mainMod, P, pseudo -bind = $mainMod, J, togglesplit +bind = $mainMod, P, exec, ~/.config/hypr/projects.sh +bind = $mainMod, W, exec, ~/.config/hypr/wallpaper.sh + +# Window management +bind = $mainMod, B, killactive +bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;" +bind = $mainMod SHIFT, P, exec, pseudo +bind = $mainMod, O, togglesplit bind = $mainMod, F, fullscreen -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Sessions +bind = $mainMod, comma, exec, hyprlock +bind = $mainMod SHIFT, M, exec, wlogout -b 2 +bind = $mainMod, M, exit + +# Pypr +bind = $mainMod, SPACE, exec, pypr toggle term +bind = $mainMod, G, exec, pypr toggle music +bind = $mainMod, T, exec, pypr toggle taskbarcpu +bind = $mainMod, Y, exec, pypr toggle taskbargpu + +# Vim type motion +bind = $mainMod, H, movefocus, l +bind = $mainMod, L, movefocus, r +bind = $mainMod, J, movefocus, d +bind = $mainMod, K, movefocus, u +bind = $mainMod ALT, H, movewindow, l +bind = $mainMod ALT, L, movewindow, r +bind = $mainMod ALT, J, movewindow, d +bind = $mainMod ALT, K, movewindow, u + +# Workspace +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 @@ -140,38 +172,12 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 -bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ -bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- -bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous -bind = ALT, left, movewindow, l -bind = ALT, right, movewindow, r -bind = ALT, up, movewindow, u -bind = ALT, down, movewindow, d -bind = CTRL, Print, exec, hyprshot -m region -o ~/Screenshots/ -bind = , Print, exec, hyprshot -m window -o ~/Screenshots/ -bind = ALT, Print, exec, hyprshot -m active -m output -o ~/Screenshots/ -bind = $mainMod, l, exec, hyprlock -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow -bind = ALT, TAB, exec, wlogout -b 2 -bind = ALT, w, exec, ~/.config/hypr/wallpaper.sh + +# Scripts divers bind = ALT, a, exec, ~/.config/waybar/scripts/refresh.sh bind = ALT, B, exec, ~/.config/waybar/scripts/select.sh bind = ALT, r, exec, ~/.config/swaync/refresh.sh -bind = $mainMod, M, exit -bind = $mainMod, SPACE, exec, pypr toggle term -bind = $mainMod, G, exec, pypr toggle music -bind = $mainMod, T, exec, pypr toggle taskbar -#bind = CTRL, ESCAPE, exec, gksu #Dont worry about this + layerrule = blur, waybar layerrule = ignorezero, waybar layerrule = ignorealpha 0.5, waybar @@ -182,3 +188,9 @@ layerrule = ignorezero, swaync-notification-window layerrule = ignorealpha 0.5, swaync-control-center layerrule = ignorealpha 0.5, swaync-notification-window layerrule = noanim, selection + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia + + + diff --git a/.config/hypr/projects.sh b/.config/hypr/projects.sh new file mode 100644 index 0000000..e6a86f9 --- /dev/null +++ b/.config/hypr/projects.sh @@ -0,0 +1,17 @@ + +#!/bin/bash +PROJECTS_DIR="$HOME/Projects" + +menu() { + find "$PROJECTS_DIR" -mindepth 1 -maxdepth 1 -type d | while read -r dir; do + basename=$(basename "$dir") + echo "$basename" + done +} + +main() { + choice=$(menu | wofi -c ~/.config/wofi/projects -s ~/.config/wofi/style-projects.css --show dmenu --prompt "Select Project:" -n) + selected_dir=$(echo "$choice" | cut -d':' -f2-) + [ -d "$PROJECTS_DIR/$selected_dir" ] && kitty -d "$PROJECTS_DIR/$selected_dir" nvim +} +main diff --git a/.config/hypr/pyprland.toml b/.config/hypr/pyprland.toml index afd8d9d..6d6d61c 100644 --- a/.config/hypr/pyprland.toml +++ b/.config/hypr/pyprland.toml @@ -18,10 +18,16 @@ class = "kitty-pulsemixer" size = "50% 20%" offset = "200%" -[scratchpads.taskbar] +[scratchpads.taskbarcpu] animation = "fromLeft" command = "kitty --class kitty-taskbar -e htop" class = "kitty-taskbar" size = "30% 80%" offset = "200%" +[scratchpads.taskbargpu] +animation = "fromRight" +command = "kitty --class kitty-taskbar -e nvtop" +class = "kitty-taskbar" +size = "30% 80%" +offset = "200%" diff --git a/.config/kitty/current-theme.conf b/.config/kitty/current-theme.conf index ea13bee..cc861b0 100755 --- a/.config/kitty/current-theme.conf +++ b/.config/kitty/current-theme.conf @@ -1,30 +1,30 @@ -foreground #c5c6c2 -background #191c0e +foreground #c2c2c2 +background #0c0b0c background_opacity 1.0 -cursor #c5c6c2 +cursor #c2c2c2 -active_tab_foreground #191c0e -active_tab_background #c5c6c2 -inactive_tab_foreground #c5c6c2 -inactive_tab_background #191c0e +active_tab_foreground #0c0b0c +active_tab_background #c2c2c2 +inactive_tab_foreground #c2c2c2 +inactive_tab_background #0c0b0c -active_border_color #c5c6c2 -inactive_border_color #191c0e -bell_border_color #83816e +active_border_color #c2c2c2 +inactive_border_color #0c0b0c +bell_border_color #4b3f3c -color0 #191c0e -color8 #6c705c -color1 #83816e -color9 #AFAC93 -color2 #8a897e -color10 #B9B7A8 -color3 #928d81 -color11 #C3BCAD -color4 #8c927c -color12 #BBC3A6 -color5 #a4a26f -color13 #DBD995 -color6 #969489 -color14 #C9C6B7 -color7 #989a8f -color15 #c5c6c2 +color0 #0c0b0c +color8 #6a566a +color1 #4b3f3c +color9 #655451 +color2 #772d25 +color10 #9F3D32 +color3 #774942 +color11 #9F6259 +color4 #9f4e41 +color12 #D46857 +color5 #876d54 +color13 #B49271 +color6 #a5744e +color14 #DC9B69 +color7 #968b8b +color15 #c2c2c2 diff --git a/.config/kitty/dark-theme.auto.conf b/.config/kitty/dark-theme.auto.conf new file mode 100755 index 0000000..fca9531 --- /dev/null +++ b/.config/kitty/dark-theme.auto.conf @@ -0,0 +1,53 @@ +## 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 + diff --git a/.config/kitty/no-preference-theme.auto.conf b/.config/kitty/no-preference-theme.auto.conf new file mode 100755 index 0000000..fca9531 --- /dev/null +++ b/.config/kitty/no-preference-theme.auto.conf @@ -0,0 +1,53 @@ +## 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 + diff --git a/.config/nvim/.luarc.json b/.config/nvim/.luarc.json deleted file mode 100755 index 1e1765c..0000000 --- a/.config/nvim/.luarc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "diagnostics.globals": [ - "vim" - ] -} \ No newline at end of file diff --git a/.config/nvim/.neoconf.json b/.config/nvim/.neoconf.json new file mode 100644 index 0000000..2d7a81f --- /dev/null +++ b/.config/nvim/.neoconf.json @@ -0,0 +1,20 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + }, + "lspconfig": { + "lua_ls": { + "Lua.format.enable": false + } + } +} diff --git a/.config/nvim/.stylua.toml b/.config/nvim/.stylua.toml new file mode 100644 index 0000000..bfcffff --- /dev/null +++ b/.config/nvim/.stylua.toml @@ -0,0 +1,7 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +call_parentheses = "None" +collapse_simple_statement = "Always" diff --git a/.config/nvim/README.md b/.config/nvim/README.md new file mode 100644 index 0000000..71d48de --- /dev/null +++ b/.config/nvim/README.md @@ -0,0 +1,34 @@ +# AstroNvim Template + +**NOTE:** This is for AstroNvim v5+ + +A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) + +## 🛠️ Installation + +#### Make a backup of your current nvim and shared folder + +```shell +mv ~/.config/nvim ~/.config/nvim.bak +mv ~/.local/share/nvim ~/.local/share/nvim.bak +mv ~/.local/state/nvim ~/.local/state/nvim.bak +mv ~/.cache/nvim ~/.cache/nvim.bak +``` + +#### Create a new user repository from this template + +Press the "Use this template" button above to create a new repository to store your user configuration. + +You can also just clone this repository directly if you do not want to track your user configuration in GitHub. + +#### Clone the repository + +```shell +git clone https://github.com// ~/.config/nvim +``` + +#### Start Neovim + +```shell +nvim +``` diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua old mode 100755 new mode 100644 index a1dd071..2ce1cdd --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,17 +1,19 @@ --- Path for lazy.nvim plugin manager -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable release - lazypath, - }) +-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution +-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk. +local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim" +if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) end vim.opt.rtp:prepend(lazypath) -vim.cmd("set number") -require("vim-options") -require("lazy").setup("plugins") -vim.opt.termguicolors = true + +-- validate that lazy is available +if not pcall(require, "lazy") then + -- stylua: ignore + vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {}) + vim.fn.getchar() + vim.cmd.quit() +end + +require "lazy_setup" +require "polish" diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json old mode 100755 new mode 100644 index f1fca65..c060879 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,29 +1,47 @@ { - "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" }, - "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, - "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, - "gitsigns.nvim": { "branch": "main", "commit": "9b36d497495436c135659902054ee637e0ba6021" }, - "gruvbox": { "branch": "main", "commit": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81" }, - "lazy.nvim": { "branch": "main", "commit": "7527af40ddd4a93a02911be570b32609b9d4ea53" }, - "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, - "markview.nvim": { "branch": "main", "commit": "68902d7cba78a7fe331c13d531376b4be494a05c" }, - "mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "5d172e8315444dbc32867d1c7b04d8e7e68ec4e1" }, - "noice.nvim": { "branch": "main", "commit": "e3c68a4d2275a01268a52e2931bfccfbfb693d15" }, - "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, - "nvim-autopairs": { "branch": "master", "commit": "3d02855468f94bf435db41b661b58ec4f48a06b7" }, - "nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" }, - "nvim-treesitter": { "branch": "master", "commit": "4988b7068001b3a772c7cc738708341e612e3c26" }, - "nvim-web-devicons": { "branch": "master", "commit": "402377242b04be3f4f0f3720bd952df86e946c30" }, - "plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" }, - "snacks.nvim": { "branch": "main", "commit": "c2310c6d1ecb4d5fad701ed0aeb92adc2f0db385" }, - "tabline.nvim": { "branch": "main", "commit": "ff33d12a20d52daafa5393162cae4108faf8128b" }, - "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, - "typr": { "branch": "main", "commit": "696b8724b2bc68ab950d1d7a18bf00bfc536bcca" }, - "volt": { "branch": "main", "commit": "3bedb1576db574af160643eea7df3b09dbe5ee9c" } + "AstroNvim": { "branch": "main", "commit": "170e9cd4bf7c17ec963141399f4b0a32aa694868" }, + "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, + "aerial.nvim": { "branch": "master", "commit": "3284a2cb858ba009c79da87d5e010ccee3c99c4d" }, + "astrocore": { "branch": "main", "commit": "c797dd5a592e2bd154f2503e231b8a4083659534" }, + "astrolsp": { "branch": "main", "commit": "c45d9a1863e3ef430cee834674601bc50a304a70" }, + "astrotheme": { "branch": "main", "commit": "f12dcf64b1f9a05839c3ac2146f550f43bae9dab" }, + "astroui": { "branch": "main", "commit": "fded232ee0001c6bed9b654188e3dd4b0c58317c" }, + "better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" }, + "blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" }, + "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, + "cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" }, + "friendly-snippets": { "branch": "main", "commit": "fc8f183479a472df60aa86f00e295462f2308178" }, + "gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" }, + "guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" }, + "heirline.nvim": { "branch": "master", "commit": "cc359b628266cb9a84b2d71c883f2b99e16473a0" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" }, + "mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" }, + "neo-tree.nvim": { "branch": "main", "commit": "1ef260eb4f54515fe121a2267b477efb054d108a" }, + "neoconf.nvim": { "branch": "main", "commit": "8e7a5a052b0f6bc9ad35790c77780137f76c1a75" }, + "none-ls.nvim": { "branch": "main", "commit": "786460723170bda9e9f95c55a382d21436575297" }, + "nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" }, + "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, + "nvim-dap": { "branch": "master", "commit": "98bf130702eaafad8567c0e3ea1171c2552d58bb" }, + "nvim-dap-ui": { "branch": "master", "commit": "851f6f00480dc9366f37b6b91f3aeadb3b6ba04f" }, + "nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" }, + "nvim-lspconfig": { "branch": "master", "commit": "5af60bbb835d5b6efdc64cdff2a5b27cde4120de" }, + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-treesitter": { "branch": "master", "commit": "684eeac91ed8e297685a97ef70031d19ac1de25a" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "205e3369bc83d8cb83f7409c36120e24611f8c5c" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, + "nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" }, + "smart-splits.nvim": { "branch": "master", "commit": "ddb23c1a1cf1507bda487cda7f6e4690965ef9f5" }, + "snacks.nvim": { "branch": "main", "commit": "5eac729fa290248acfe10916d92a5ed5e5c0f9ed" }, + "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, + "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, + "vim-illuminate": { "branch": "master", "commit": "1fa4b23409e22a03823648e344c77f260e2572cb" }, + "which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" } } diff --git a/.config/nvim/lua/community.lua b/.config/nvim/lua/community.lua new file mode 100644 index 0000000..c842899 --- /dev/null +++ b/.config/nvim/lua/community.lua @@ -0,0 +1,12 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- AstroCommunity: import any community modules here +-- We import this file in `lazy_setup.lua` before the `plugins/` folder. +-- This guarantees that the specs are processed before any user plugins. + +---@type LazySpec +return { + "AstroNvim/astrocommunity", + { import = "astrocommunity.pack.lua" }, + -- import/override with your plugins folder +} diff --git a/.config/nvim/lua/lazy_setup.lua b/.config/nvim/lua/lazy_setup.lua new file mode 100644 index 0000000..4d9552f --- /dev/null +++ b/.config/nvim/lua/lazy_setup.lua @@ -0,0 +1,32 @@ +require("lazy").setup({ + { + "AstroNvim/AstroNvim", + version = "^5", -- Remove version tracking to elect for nightly AstroNvim + import = "astronvim.plugins", + opts = { -- AstroNvim options must be set here with the `import` key + mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up + maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up + icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available) + pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override + update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins + }, + }, + { import = "community" }, + { import = "plugins" }, +} --[[@as LazySpec]], { + -- Configure any other `lazy.nvim` configuration options here + install = { colorscheme = { "astrotheme", "habamax" } }, + ui = { backdrop = 100 }, + performance = { + rtp = { + -- disable some rtp plugins, add more to your liking + disabled_plugins = { + "gzip", + "netrwPlugin", + "tarPlugin", + "tohtml", + "zipPlugin", + }, + }, + }, +} --[[@as LazyConfig]]) diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/plugins/alpha.lua deleted file mode 100755 index e59afc3..0000000 --- a/.config/nvim/lua/plugins/alpha.lua +++ /dev/null @@ -1,95 +0,0 @@ -return { - "goolord/alpha-nvim", - dependencies = { - "nvim-tree/nvim-web-devicons", - }, - - config = function() - local dashboard = require("alpha.themes.dashboard") - vim.cmd("source ~/.cache/wal/colors-wal.vim") - local color9 = vim.g.color9 or "#ffffff" - local color3 = vim.g.color3 or "#ffffff" - local color4 = vim.g.color4 or "#ffffff" - local color5 = vim.g.color5 or "#ffffff" - local color6 = vim.g.color6 or "#ffffff" - - -- helper function for utf8 chars - local function getCharLen(s, pos) - local byte = string.byte(s, pos) - if not byte then - return nil - end - return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1 - end - - local function applyColors(logo, colors, logoColors) - dashboard.section.header.val = logo - - for key, color in pairs(colors) do - local name = "Alpha" .. key - vim.api.nvim_set_hl(0, name, color) - colors[key] = name - end - - dashboard.section.header.opts.hl = {} - for i, line in ipairs(logoColors) do - local highlights = {} - local pos = 0 - - for j = 1, #line do - local opos = pos - pos = pos + getCharLen(logo[i], opos + 1) - - local color_name = colors[line:sub(j, j)] - if color_name then - table.insert(highlights, { color_name, opos, pos }) - end - end - - table.insert(dashboard.section.header.opts.hl, highlights) - end - return dashboard.opts - end - - require("alpha").setup(applyColors({ - [[███████╗ ██████╗ ]], - [[██╔════╝ ██╔═══╝ ]], - [[█████╗ ██████╗ ]], - [[██╔══╝ ██╔═══╝ ]], - [[███████╗ ██║ ]], - [[╚══════╝ ╚═╝ ]], - [[N E O V I M ]], - }, { - ["a"] = { fg = color9, ctermfg = 33}, - ["b"] = { fg = color3, ctermfg = 33}, - ["c"] = { fg = color4, ctermfg = 33}, - ["d"] = { fg = color5, ctermfg = 33}, - ["e"] = { fg = color6, ctermfg = 33}, - }, { - [[bbbbbbba cccccca ]], - [[bbaaaaaa ccaaaaa ]], - [[bbbbba cccccca ]], - [[bbaaaa ccaaaaa ]], - [[bbbbbbba cca ]], - [[aaaaaaaa aaa ]], - [[d d d e e e ]], - })) - dashboard.section.buttons.val = { - dashboard.button( "e", " > New file" , ":ene startinsert "), - dashboard.button( "f", "󰱼 > Find file", ":lua require('telescope.builtin').find_files({ find_command = { 'rg', '--files' } })"), - dashboard.button( "F", "󰥨 > Find folder", ":lua search_and_scope_into_directory()"), - dashboard.button( "r", " > Recent" , ":Telescope oldfiles"), - dashboard.button( "c", " > Config" , ":cd ~/.config/nvim | Telescope find_files"), - dashboard.button( "l", "󰒲 > Lazy", ":Lazy"), - dashboard.button( "h", " > Settings" , ":cd ~/.config/hypr | Telescope find_files"), - dashboard.button( "q", " > Quit", ":qa"), - - - } - dashboard.section.footer.val = { - "", - "Welcome!", - } - - end, -} diff --git a/.config/nvim/lua/plugins/astrocore.lua b/.config/nvim/lua/plugins/astrocore.lua new file mode 100644 index 0000000..03d7441 --- /dev/null +++ b/.config/nvim/lua/plugins/astrocore.lua @@ -0,0 +1,85 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more! +-- Configuration documentation can be found with `:h astrocore` +-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) +-- as this provides autocomplete and documentation while editing + +---@type LazySpec +return { + "AstroNvim/astrocore", + ---@type AstroCoreOpts + opts = { + -- Configure core features of AstroNvim + features = { + large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter + autopairs = true, -- enable autopairs at start + cmp = true, -- enable completion at start + diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup + highlighturl = true, -- highlight URLs at start + notifications = true, -- enable notifications at start + }, + -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on + diagnostics = { + virtual_text = true, + underline = true, + }, + -- passed to `vim.filetype.add` + filetypes = { + -- see `:h vim.filetype.add` for usage + extension = { + foo = "fooscript", + }, + filename = { + [".foorc"] = "fooscript", + }, + pattern = { + [".*/etc/foo/.*"] = "fooscript", + }, + }, + -- vim options can be configured here + options = { + opt = { -- vim.opt. + relativenumber = true, -- sets vim.opt.relativenumber + number = true, -- sets vim.opt.number + spell = false, -- sets vim.opt.spell + signcolumn = "yes", -- sets vim.opt.signcolumn to yes + wrap = false, -- sets vim.opt.wrap + }, + g = { -- vim.g. + -- configure global vim variables (vim.g) + -- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup` + -- This can be found in the `lua/lazy_setup.lua` file + }, + }, + -- Mappings can be configured through AstroCore as well. + -- NOTE: keycodes follow the casing in the vimdocs. For example, `` must be capitalized + mappings = { + -- first key is the mode + n = { + -- second key is the lefthand side of the map + + -- navigate buffer tabs + ["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" }, + ["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" }, + + -- mappings seen under group name "Buffer" + ["bd"] = { + function() + require("astroui.status.heirline").buffer_picker( + function(bufnr) require("astrocore.buffer").close(bufnr) end + ) + end, + desc = "Close buffer from tabline", + }, + + -- tables with just a `desc` key will be registered with which-key if it's installed + -- this is useful for naming menus + -- ["b"] = { desc = "Buffers" }, + + -- setting a mapping to false will disable it + -- [""] = false, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/astrolsp.lua b/.config/nvim/lua/plugins/astrolsp.lua new file mode 100644 index 0000000..720b9d3 --- /dev/null +++ b/.config/nvim/lua/plugins/astrolsp.lua @@ -0,0 +1,105 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine +-- Configuration documentation can be found with `:h astrolsp` +-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) +-- as this provides autocomplete and documentation while editing + +---@type LazySpec +return { + "AstroNvim/astrolsp", + ---@type AstroLSPOpts + opts = { + -- Configuration table of features provided by AstroLSP + features = { + codelens = true, -- enable/disable codelens refresh on start + inlay_hints = false, -- enable/disable inlay hints on start + semantic_tokens = true, -- enable/disable semantic token highlighting + }, + -- customize lsp formatting options + formatting = { + -- control auto formatting on save + format_on_save = { + enabled = true, -- enable or disable format on save globally + allow_filetypes = { -- enable format on save for specified filetypes only + -- "go", + }, + ignore_filetypes = { -- disable format on save for specified filetypes + -- "python", + }, + }, + disabled = { -- disable formatting capabilities for the listed language servers + -- disable lua_ls formatting capability if you want to use StyLua to format your lua code + -- "lua_ls", + }, + timeout_ms = 1000, -- default format timeout + -- filter = function(client) -- fully override the default formatting function + -- return true + -- end + }, + -- enable servers that you already have installed without mason + servers = { + -- "pyright" + }, + -- customize language server configuration options passed to `lspconfig` + ---@diagnostic disable: missing-fields + config = { + -- clangd = { capabilities = { offsetEncoding = "utf-8" } }, + }, + -- customize how language servers are attached + handlers = { + -- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server + -- function(server, opts) require("lspconfig")[server].setup(opts) end + + -- the key is the server that is being setup with `lspconfig` + -- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server + -- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed + }, + -- Configure buffer local auto commands to add when attaching a language server + autocmds = { + -- first key is the `augroup` to add the auto commands to (:h augroup) + lsp_codelens_refresh = { + -- Optional condition to create/delete auto command group + -- can either be a string of a client capability or a function of `fun(client, bufnr): boolean` + -- condition will be resolved for each client on each execution and if it ever fails for all clients, + -- the auto commands will be deleted for that buffer + cond = "textDocument/codeLens", + -- cond = function(client, bufnr) return client.name == "lua_ls" end, + -- list of auto commands to set + { + -- events to trigger + event = { "InsertLeave", "BufEnter" }, + -- the rest of the autocmd options (:h nvim_create_autocmd) + desc = "Refresh codelens (buffer)", + callback = function(args) + if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end + end, + }, + }, + }, + -- mappings to be set up on attaching of a language server + mappings = { + n = { + -- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean + gD = { + function() vim.lsp.buf.declaration() end, + desc = "Declaration of current symbol", + cond = "textDocument/declaration", + }, + ["uY"] = { + function() require("astrolsp.toggles").buffer_semantic_tokens() end, + desc = "Toggle LSP semantic highlight (buffer)", + cond = function(client) + return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil + end, + }, + }, + }, + -- A custom `on_attach` function to be run after the default `on_attach` function + -- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`) + on_attach = function(client, bufnr) + -- this would disable semanticTokensProvider for all clients + -- client.server_capabilities.semanticTokensProvider = nil + end, + }, +} diff --git a/.config/nvim/lua/plugins/astroui.lua b/.config/nvim/lua/plugins/astroui.lua new file mode 100644 index 0000000..737a2fb --- /dev/null +++ b/.config/nvim/lua/plugins/astroui.lua @@ -0,0 +1,39 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- AstroUI provides the basis for configuring the AstroNvim User Interface +-- Configuration documentation can be found with `:h astroui` +-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) +-- as this provides autocomplete and documentation while editing + +---@type LazySpec +return { + "AstroNvim/astroui", + ---@type AstroUIOpts + opts = { + -- change colorscheme + colorscheme = "astrodark", + -- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes + highlights = { + init = { -- this table overrides highlights in all themes + -- Normal = { bg = "#000000" }, + }, + astrodark = { -- a table of overrides/changes when applying the astrotheme theme + -- Normal = { bg = "#000000" }, + }, + }, + -- Icons can be configured throughout the interface + icons = { + -- configure the loading of the lsp in the status line + LSPLoading1 = "⠋", + LSPLoading2 = "⠙", + LSPLoading3 = "⠹", + LSPLoading4 = "⠸", + LSPLoading5 = "⠼", + LSPLoading6 = "⠴", + LSPLoading7 = "⠦", + LSPLoading8 = "⠧", + LSPLoading9 = "⠇", + LSPLoading10 = "⠏", + }, + }, +} diff --git a/.config/nvim/lua/plugins/autopair.lua b/.config/nvim/lua/plugins/autopair.lua deleted file mode 100644 index 2db00d8..0000000 --- a/.config/nvim/lua/plugins/autopair.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - 'windwp/nvim-autopairs', - event = "InsertEnter", - config = true - -- use opts = {} for passing setup options - -- this is equivalent to setup({}) function -} diff --git a/.config/nvim/lua/plugins/cmdline.lua b/.config/nvim/lua/plugins/cmdline.lua deleted file mode 100755 index c949a52..0000000 --- a/.config/nvim/lua/plugins/cmdline.lua +++ /dev/null @@ -1,38 +0,0 @@ -return { - "folke/noice.nvim", - event = "VeryLazy", - opts = { - -- add any options here - }, - dependencies = { - "MunifTanjim/nui.nvim", - "rcarriga/nvim-notify", - }, - config = function() - vim.cmd("source ~/.cache/wal/colors-wal.vim") - local color9 = vim.g.color9 or "#808080" - local color5 = vim.g.color5 or "#ffffff" - require("noice").setup({ - lsp = { - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - presets = { - bottom_search = false, - command_palette = true, - long_message_to_split = true, - inc_rename = false, - lsp_doc_border = false, - }, - }) - vim.cmd('highlight NoiceCmdlineIcon guifg=' .. color9) - vim.cmd('highlight NoiceCmdlinePopupBorder guifg=' .. color5) - vim.cmd('highlight NotifyINFOBorder guifg=' .. color5) - vim.cmd('highlight NotifyINFOIcon guifg=' .. color9) - vim.cmd('highlight NotifyINFOTitle guifg=' .. color5) - end, -} - diff --git a/.config/nvim/lua/plugins/colors.lua b/.config/nvim/lua/plugins/colors.lua deleted file mode 100755 index d08ed02..0000000 --- a/.config/nvim/lua/plugins/colors.lua +++ /dev/null @@ -1,23 +0,0 @@ --- return { --- "ellisonleao/gruvbox.nvim", --- lazy = false, --- name = "gruvbox", --- priority = 997, --- config = function() --- vim.cmd.colorscheme("gruvbox") --- end, --- } - - - -return { - "AlphaTechnolog/pywal.nvim", - lazy = false, - priority = 1000, - config = function() - -- Set up pywal and load the colors - require("pywal").setup() - - end, -} - diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.lua deleted file mode 100755 index 2e7396a..0000000 --- a/.config/nvim/lua/plugins/completions.lua +++ /dev/null @@ -1,44 +0,0 @@ -return { - { - "hrsh7th/cmp-nvim-lsp" - }, - { - "L3MON4D3/LuaSnip", - dependencies = { - "saadparwaiz1/cmp_luasnip", - "rafamadriz/friendly-snippets", - }, - }, - { - "hrsh7th/nvim-cmp", - config = function() - local cmp = require("cmp") - require("luasnip.loaders.from_vscode").lazy_load() - - cmp.setup({ - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = true }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, -- For luasnip users. - }, { - { name = "buffer" }, - }), - }) - end, - }, -} diff --git a/.config/nvim/lua/plugins/csscolors.lua b/.config/nvim/lua/plugins/csscolors.lua deleted file mode 100755 index 8ceec3c..0000000 --- a/.config/nvim/lua/plugins/csscolors.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - 'norcalli/nvim-colorizer.lua', - config = function() - require('colorizer').setup { - '*' - } - end -} diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua deleted file mode 100755 index 622d2a1..0000000 --- a/.config/nvim/lua/plugins/git.lua +++ /dev/null @@ -1,56 +0,0 @@ -return { - "lewis6991/gitsigns.nvim", -- Add a comma here - config = function() - require('gitsigns').setup { - signs = { - add = { text = '┃' }, - change = { text = '┃' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - untracked = { text = '┆' }, - }, - signs_staged = { - add = { text = '┃' }, - change = { text = '┃' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - untracked = { text = '┆' }, - }, - signs_staged_enable = true, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - follow_files = true - }, - auto_attach = true, - attach_to_untracked = false, - current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' - delay = 1000, - ignore_whitespace = false, - virt_text_priority = 100, - use_focus = true, - }, - current_line_blame_formatter = ', - ', - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 40000, -- Disable if file is longer than this (in lines) - preview_config = { - -- Options passed to nvim_open_win - border = 'single', - style = 'minimal', - relative = 'cursor', - row = 0, - col = 1 - }, - } - end -} - diff --git a/.config/nvim/lua/plugins/icons.lua b/.config/nvim/lua/plugins/icons.lua deleted file mode 100755 index 5c6e27a..0000000 --- a/.config/nvim/lua/plugins/icons.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - "echasnovski/mini.icons", - lazy = true, - opts = { - file = { - [".keep"] = { glyph = "󰊢", hl = "MiniIconsGrey" }, - ["devcontainer.json"] = { glyph = "", hl = "MiniIconsAzure" }, - }, - filetype = { - dotenv = { glyph = "", hl = "MiniIconsYellow" }, - }, - }, - init = function() - package.preload["nvim-web-devicons"] = function() - require("mini.icons").mock_nvim_web_devicons() - return package.loaded["nvim-web-devicons"] - end - end, -} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua deleted file mode 100755 index 2e9162a..0000000 --- a/.config/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,57 +0,0 @@ -return { - "nvim-lualine/lualine.nvim", - dependencies = { "nvim-tree/nvim-web-devicons","kdheepak/tabline.nvim" }, - - config = function() - require('lualine').setup { - options = { - icons_enabled = true, - theme = 'auto', - component_separators = '', - section_separators = { left = '', right = '' }, - component_separators = {'', ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - always_show_tabline = true, - globalstatus = false, - refresh = { - statusline = 100, - tabline = 100, - winbar = 100, - } - }, - sections = { - lualine_a = {'mode'}, - lualine_b = {'branch'}, - lualine_c = {}, - lualine_x = {'filetype'}, - lualine_y = {'progress'}, - lualine_z = {'location'} - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = {'filename'}, - lualine_x = {}, - lualine_y = {}, - lualine_z = {} - }, - tabline = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { require'tabline'.tabline_buffers }, - lualine_x = { require'tabline'.tabline_tabs }, - lualine_y = {}, - lualine_z = {}, - }, - winbar = {}, - inactive_winbar = {}, - extensions = {} - } end, -} - - diff --git a/.config/nvim/lua/plugins/markdown.lua b/.config/nvim/lua/plugins/markdown.lua deleted file mode 100644 index d2af8fd..0000000 --- a/.config/nvim/lua/plugins/markdown.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - "OXY2DEV/markview.nvim", - lazy = false -}; diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..2d79b5f --- /dev/null +++ b/.config/nvim/lua/plugins/mason.lua @@ -0,0 +1,28 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- Customize Mason + +---@type LazySpec +return { + -- use mason-tool-installer for automatically installing Mason packages + { + "WhoIsSethDaniel/mason-tool-installer.nvim", + -- overrides `require("mason-tool-installer").setup(...)` + opts = { + -- Make sure to use the names found in `:Mason` + ensure_installed = { + -- install language servers + "lua-language-server", + + -- install formatters + "stylua", + + -- install debuggers + "debugpy", + + -- install any other package + "tree-sitter-cli", + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/neo-tree.lua b/.config/nvim/lua/plugins/neo-tree.lua deleted file mode 100755 index f05cdbb..0000000 --- a/.config/nvim/lua/plugins/neo-tree.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - "nvim-neo-tree/neo-tree.nvim", - branch = "v3.x", - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-tree/nvim-web-devicons", - "MunifTanjim/nui.nvim", - }, - config = function() - vim.keymap.set("n", "", ":Neotree filesystem reveal left") - end, -} diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua new file mode 100644 index 0000000..2b0ed18 --- /dev/null +++ b/.config/nvim/lua/plugins/none-ls.lua @@ -0,0 +1,24 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- Customize None-ls sources + +---@type LazySpec +return { + "nvimtools/none-ls.nvim", + opts = function(_, opts) + -- opts variable is the default configuration table for the setup function call + -- local null_ls = require "null-ls" + + -- Check supported formatters and linters + -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting + -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics + + -- Only insert new sources, do not replace the existing ones + -- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function) + opts.sources = require("astrocore").list_insert_unique(opts.sources, { + -- Set a formatter + -- null_ls.builtins.formatting.stylua, + -- null_ls.builtins.formatting.prettier, + }) + end, +} diff --git a/.config/nvim/lua/plugins/snacks.lua b/.config/nvim/lua/plugins/snacks.lua deleted file mode 100755 index f44b0b1..0000000 --- a/.config/nvim/lua/plugins/snacks.lua +++ /dev/null @@ -1,61 +0,0 @@ -return { - "folke/snacks.nvim", - priority = 1000, - lazy = false, - ---@type snacks.Config - opts = { - bigfile = { enabled = true }, - indent = { enabled = true }, - input = { enabled = true }, - quickfile = { enabled = true }, - scroll = { enabled = true }, - statuscolumn = { enabled = true }, - words = { enabled = true }, - }, - keys = { - { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, - { "s", function() Snacks.scratch() end, desc = "Toggle Scratch Buffer" }, - { "S", function() Snacks.scratch.select() end, desc = "Select Scratch Buffer" }, - { "", function() Snacks.terminal() end, desc = "Toggle Terminal" }, - { "gB", function() Snacks.gitbrowse() end, desc = "Git Browse", mode = { "n", "v" } }, - { "gb", function() Snacks.git.blame_line() end, desc = "Git Blame Line" }, - { "gf", function() Snacks.lazygit.log_file() end, desc = "Lazygit Current File History" }, - { "gg", function() Snacks.lazygit() end, desc = "Lazygit" }, - { "gl", function() Snacks.lazygit.log() end, desc = "Lazygit Log (cwd)" }, - { - "N", - desc = "Neovim News", - function() - Snacks.win({ - file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1], - width = 0.6, - height = 0.8, - wo = { - spell = false, - wrap = false, - signcolumn = "yes", - statuscolumn = " ", - conceallevel = 3, - }, - }) - end, - } - }, - init = function() - vim.api.nvim_create_autocmd("User", { - pattern = "VeryLazy", - callback = function() - _G.dd = function(...) - Snacks.debug.inspect(...) - end - _G.bt = function() - Snacks.debug.backtrace() - end - vim.print = _G.dd - -- Create some toggle mappings - Snacks.toggle.option("spell", { name = "Spelling" }):map("us") - Snacks.toggle.option("wrap", { name = "Wrap" }):map("uw") - end, - }) - end, -} diff --git a/.config/nvim/lua/plugins/tab.lua b/.config/nvim/lua/plugins/tab.lua deleted file mode 100755 index c08ff00..0000000 --- a/.config/nvim/lua/plugins/tab.lua +++ /dev/null @@ -1,20 +0,0 @@ -return { - 'kdheepak/tabline.nvim', - config = function() - require'tabline'.setup { - enable = true, - options = { - section_separators = { '', ''}, - component_separators = {'|', "|"}, - max_bufferline_percent = 80, - show_tabs_always = true, - show_devicons = true, - show_bufnr = false, - show_filename_only = true, - modified_italic = true, - show_tabs_only = false, - } - } - end, - requires = {'hoob3rt/lualine.nvim', 'kyazdani42/nvim-web-devicons'} -} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua deleted file mode 100755 index d64e673..0000000 --- a/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,89 +0,0 @@ -return { - { - "nvim-telescope/telescope.nvim", - tag = "0.1.8", - dependencies = { "nvim-lua/plenary.nvim" }, - config = function() - local builtin = require("telescope.builtin") - vim.keymap.set("n", "", builtin.find_files, {}) - vim.keymap.set("n", "", builtin.live_grep, {}) - - -- Function for searching and scoping into a directory - function search_and_scope_into_directory() - builtin.find_files({ - prompt_title = "Search Directories", - find_command = {"fd", "--type", "d", "--hidden", "--follow"}, - attach_mappings = function(prompt_bufnr, map) - local actions = require("telescope.actions") - actions.select_default:replace(function() - local selection = require("telescope.actions.state").get_selected_entry() - local selected_dir = selection.path - - -- Change the current working directory to the selected directory - vim.cmd("cd " .. selected_dir) - actions.close(prompt_bufnr) - end) - return true - end, - }) - end - - -- Keybinding to trigger directory search and scoping - vim.keymap.set("n", "", search_and_scope_into_directory) - end - }, - { - "nvim-telescope/telescope-ui-select.nvim", - config = function() - require("telescope").setup({ - extensions = { - ["ui-select"] = { - require("telescope.themes").get_dropdown({}), - }, - }, - defaults = { - file_ignore_patterns = { - "node_modules", "build", "dist", "yarn.lock" - }, - vimgrep_arguments = { - "rg", - "--follow", - "--hidden", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - "--smart-case", - "--glob=!**/.git/*", - "--glob=!**/.idea/*", - "--glob=!**/.vscode/*", - "--glob=!**/build/*", - "--glob=!**/dist/*", - "--glob=!**/yarn.lock", - "--glob=!**/package-lock.json", - }, - }, - - pickers = { - find_files = { - hidden = true, - find_command = { - "rg", - "--files", - "--hidden", - "--glob=!**/.git/*", - "--glob=!**/.idea/*", - "--glob=!**/.vscode/*", - "--glob=!**/build/*", - "--glob=!**/dist/*", - "--glob=!**/yarn.lock", - "--glob=!**/package-lock.json", - }, - }, - }, - }) - require("telescope").load_extension("ui-select") - end, - }, -} - diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua old mode 100755 new mode 100644 index 21e8839..94436aa --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -1,12 +1,15 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- Customize Treesitter + +---@type LazySpec return { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - config = function() - local config = require("nvim-treesitter.configs") - config.setup({ - auto_install = true, - highlight = { enable = true }, - indent = { enable = true }, - }) - end, + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "lua", + "vim", + -- add more arguments for adding more treesitter parsers + }, + }, } diff --git a/.config/nvim/lua/plugins/typr.lua b/.config/nvim/lua/plugins/typr.lua deleted file mode 100755 index 7f5bd68..0000000 --- a/.config/nvim/lua/plugins/typr.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - "nvzone/typr", - dependencies = "nvzone/volt", - opts = { - kblayout = { - { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p" }, - { "a", "s", "d", "f", "g", "h", "j", "k", "l", ";" }, - { "z", "x", "c", "v", "b", "n", "m", ",", ".", "/" }, - }, - }, - cmd = { "Typr", "TyprStats" }, -} diff --git a/.config/nvim/lua/plugins/user.lua b/.config/nvim/lua/plugins/user.lua new file mode 100644 index 0000000..b7de6df --- /dev/null +++ b/.config/nvim/lua/plugins/user.lua @@ -0,0 +1,88 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- You can also add or configure plugins by creating files in this `plugins/` folder +-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE +-- Here are some examples: + +---@type LazySpec +return { + + -- == Examples of Adding Plugins == + + "andweeb/presence.nvim", + { + "ray-x/lsp_signature.nvim", + event = "BufRead", + config = function() require("lsp_signature").setup() end, + }, + + -- == Examples of Overriding Plugins == + + -- customize dashboard options + { + "folke/snacks.nvim", + opts = { + dashboard = { + preset = { + header = table.concat({ + " █████ ███████ ████████ ██████ ██████ ", + "██ ██ ██ ██ ██ ██ ██ ██", + "███████ ███████ ██ ██████ ██ ██", + "██ ██ ██ ██ ██ ██ ██ ██", + "██ ██ ███████ ██ ██ ██ ██████ ", + "", + "███  ██ ██  ██ ██ ███  ███", + "████  ██ ██  ██ ██ ████  ████", + "██ ██  ██ ██  ██ ██ ██ ████ ██", + "██  ██ ██  ██  ██  ██ ██  ██  ██", + "██   ████   ████   ██ ██      ██", + }, "\n"), + }, + }, + }, + }, + + -- You can disable default plugins as follows: + { "max397574/better-escape.nvim", enabled = false }, + + -- You can also easily customize additional setup of plugins that is outside of the plugin's setup call + { + "L3MON4D3/LuaSnip", + config = function(plugin, opts) + require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call + -- add more custom luasnip configuration such as filetype extend or custom snippets + local luasnip = require "luasnip" + luasnip.filetype_extend("javascript", { "javascriptreact" }) + end, + }, + + { + "windwp/nvim-autopairs", + config = function(plugin, opts) + require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call + -- add more custom autopairs configuration such as custom rules + local npairs = require "nvim-autopairs" + local Rule = require "nvim-autopairs.rule" + local cond = require "nvim-autopairs.conds" + npairs.add_rules( + { + Rule("$", "$", { "tex", "latex" }) + -- don't add a pair if the next character is % + :with_pair(cond.not_after_regex "%%") + -- don't add a pair if the previous character is xxx + :with_pair( + cond.not_before_regex("xxx", 3) + ) + -- don't move right when repeat character + :with_move(cond.none()) + -- don't delete if the next character is xx + :with_del(cond.not_after_regex "xx") + -- disable adding a newline when you press + :with_cr(cond.none()), + }, + -- disable for .vim files, but it work for another filetypes + Rule("a", "a", "-vim") + ) + end, + }, +} diff --git a/.config/nvim/lua/polish.lua b/.config/nvim/lua/polish.lua new file mode 100644 index 0000000..642719f --- /dev/null +++ b/.config/nvim/lua/polish.lua @@ -0,0 +1,5 @@ +if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- This will run last in the setup process. +-- This is just pure lua so anything that doesn't +-- fit in the normal config locations above can go here diff --git a/.config/nvim/lua/vim-options.lua b/.config/nvim/lua/vim-options.lua deleted file mode 100755 index f670b63..0000000 --- a/.config/nvim/lua/vim-options.lua +++ /dev/null @@ -1,5 +0,0 @@ -vim.cmd("set expandtab") -vim.cmd("set tabstop=4") -vim.cmd("set softtabstop=4") -vim.cmd("set shiftwidth=4") -vim.g.mapleader = " " diff --git a/.config/nvim/neovim.yml b/.config/nvim/neovim.yml new file mode 100644 index 0000000..b9235ab --- /dev/null +++ b/.config/nvim/neovim.yml @@ -0,0 +1,6 @@ +--- +base: lua51 + +globals: + vim: + any: true diff --git a/.config/nvim/selene.toml b/.config/nvim/selene.toml new file mode 100644 index 0000000..e7005c3 --- /dev/null +++ b/.config/nvim/selene.toml @@ -0,0 +1,8 @@ +std = "neovim" + +[rules] +global_usage = "allow" +if_same_then_else = "allow" +incorrect_standard_library_use = "allow" +mixed_table = "allow" +multiple_statements = "allow" diff --git a/.config/wofi/projects b/.config/wofi/projects new file mode 100644 index 0000000..a8b6370 --- /dev/null +++ b/.config/wofi/projects @@ -0,0 +1,8 @@ +[config] +allow_images=true +show=drun +width=800 +height=600 +always_parse_args=true +show_all=true +term=kitty diff --git a/.config/wofi/style-projects.css b/.config/wofi/style-projects.css new file mode 100644 index 0000000..f60729c --- /dev/null +++ b/.config/wofi/style-projects.css @@ -0,0 +1,88 @@ +@import url("/home/eli/.cache/wal/colors-waybar.css"); +@define-color mauve @color9; +@define-color red @color9; +@define-color lavender @color7; +@define-color text @color7; +* { + all: unset; + font-family: "CodeNewRoman Nerd Font Mono", monospace; + font-size: 18px; + outline: none; + border: none; + text-shadow: none; + background-color: transparent; +} + +window { + all: unset; + padding: 20px; + border-radius: 0px; + background-color: alpha(@background, 0.5); +} +#inner-box { + margin: 2px; + padding: 5px; + border: none; +} +#outer-box { + border: none; +} +#scroll { + margin: 0px; + padding: 30px; + border: none; +} +#input { + all: unset; + margin-left: 20px; + margin-right: 20px; + margin-top: 20px; + padding: 20px; + border: none; + outline: none; + color: @text; + box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5); + border-radius: 10; + background-color: alpha(@background, 0.2); +} +#input image { + border: none; + color: @red; + padding-right: 10px; +} +#input * { + border: none; + outline: none; +} + +#input:focus { + outline: none; + border: none; + + border-radius: 10; +} +#text { + margin: 5px; + border: none; + color: @text; + outline: none; +} +#entry { + all: unset; + padding: 20 0 20 45; +} +#entry arrow { + border: none; + color: @lavender; +} +#entry:selected { + border: none; + border-radius: 20px; + background-color: rgba(0, 0, 0, 0.1); +} +#entry:selected #text { + color: @mauve; +} +#entry:drop(active) { + background-color: @lavender !important; +}