From fa35f50edc8c028dca9ca1ee490faaccf5e148bf Mon Sep 17 00:00:00 2001 From: omagdy Date: Wed, 18 Dec 2024 23:17:03 +0200 Subject: Did some stuff. --- alacritty/.config/alacritty/alacritty.toml | 40 +-- aliases/.aliases/aliases | 2 + hypr/.config/hypr/hyprland.conf | 65 +---- hypr/.config/hypr/hyprlandd.conf | 297 +++++++++++++++++++++ hypr/.config/hypr/waybar-alt-5/config.ini | 4 +- hypr/.config/hypr/waybar-alt-5/style.css | 10 +- hypr/.config/hypr/waybar/config.ini | 4 +- hypr/.config/hypr/waybar/style.css | 10 +- kitty/.config/kitty/kitty.conf | 8 +- nvim/.config/nvim/init.lua | 4 + nvim/.config/nvim/lazy-lock.json | 85 +++--- nvim/.config/nvim/lazyvim.json | 5 +- nvim/.config/nvim/lua/config/options.lua | 6 +- .../.config/nvim/lua/plugins/custom-catppuccin.lua | 2 +- nvim/.config/nvim/lua/plugins/disabled.lua | 4 - nvim/.config/nvim/lua/plugins/lualine.lua | 2 +- nvim/.config/nvim/lua/plugins/misc.lua | 21 +- .../lua/plugins/nvim-treesitter-textobjects.lua | 51 ---- nvim/.config/nvim/lua/plugins/snacks.lua | 11 + nvim/.config/nvim/lua/plugins/tailwind-tools.lua | 12 + nvim/.config/nvim/lua/plugins/telescope.lua | 53 +++- scripts/.scripts/: basename | 1 + scripts/.scripts/basename | 1 + scripts/.scripts/config_files.sh | 36 ++- scripts/.scripts/specialworkspace_mover.sh | 52 ++++ scripts/.scripts/tmux-sessionizer.sh | 39 +-- vim/.vim/pack/default/start/gruvbox | 1 + vim/.vim/pack/plugins/start/rosepine | 1 + vim/.vim/vimrc | 53 ++++ vim/.vimrc | 54 ---- zsh/.zshrc | 22 +- 31 files changed, 669 insertions(+), 287 deletions(-) create mode 100644 hypr/.config/hypr/hyprlandd.conf delete mode 100644 nvim/.config/nvim/lua/plugins/nvim-treesitter-textobjects.lua create mode 100644 nvim/.config/nvim/lua/plugins/snacks.lua create mode 100644 nvim/.config/nvim/lua/plugins/tailwind-tools.lua create mode 100644 scripts/.scripts/: basename create mode 100644 scripts/.scripts/basename create mode 100755 scripts/.scripts/specialworkspace_mover.sh create mode 160000 vim/.vim/pack/default/start/gruvbox create mode 160000 vim/.vim/pack/plugins/start/rosepine create mode 100644 vim/.vim/vimrc delete mode 100644 vim/.vimrc diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml index a1d3043..89afb76 100644 --- a/alacritty/.config/alacritty/alacritty.toml +++ b/alacritty/.config/alacritty/alacritty.toml @@ -3,33 +3,28 @@ import = [ "/usr/lib/node_modules/alacritty-themes/themes/Gruvbox-Dark.toml" ] -# [general] -# import = [ -# "/usr/lib/node_modules/alacritty-themes/themes/Ayu-Mirage.toml" -# ] - [colors.primary] -background = "#000000" -foreground = "#B3B1AD" +background = "#0d0e0f" +foreground = "#d4be98" [font] size = 11 - [font.bold] - family = "Monaspace Radon" - style = "Bold" +[font.bold] +family = "MonaspiceRn Nerd Font Mono" +style = "Bold" - [font.bold_italic] - family = "Monaspace Radon" - style = "Bold Italic" +[font.bold_italic] +family = "MonaspiceRn Nerd Font Mono" +style = "Bold Italic" - [font.italic] - family = "Monaspace Radon" - style = "Italic" +[font.italic] +family = "MonaspiceRn Nerd Font Mono" +style = "Italic" - [font.normal] - family = "Monaspace Radon" - style = "Bold" +[font.normal] +family = "MonaspiceRn Nerd Font Mono" +style = "Bold" [[keyboard.bindings]] action = "ToggleFullscreen" @@ -39,4 +34,9 @@ key = "F11" history = 50_000 [window] -opacity = 1.0 +opacity = 0.40 + +[[keyboard.bindings]] +key = ";" +mods = "Control" +chars = "$HOME/.scripts/tmux-sessionizer.sh\r" diff --git a/aliases/.aliases/aliases b/aliases/.aliases/aliases index 52f4c5c..b1da4e2 100644 --- a/aliases/.aliases/aliases +++ b/aliases/.aliases/aliases @@ -7,6 +7,7 @@ alias cleanup='sudo pacman -Rns $(pacman -Qtdq)'# Remove unused packages and dep alias grubup="sudo update-grub" # Update GRUB configuration alias fix-permissions="sudo chown -R $USER:$USER ~/.config ~/.local" # Fix user permissions alias downgrada="sudo downgrade --ala-url https://ant.seedhost.eu/arcolinux/" # Downgrade packages +alias pacman="sudo pacman" # Navigation alias u="cd .." # Move up one directory @@ -39,6 +40,7 @@ alias fix-gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-key alias fix-keyserver="[ -d ~/.gnupg ] || mkdir ~/.gnupg ; cp /etc/pacman.d/gnupg/gpg.conf ~/.gnupg/ ; echo 'done'" # Fix GPG server issues # Git and Version Control +alias gs='git status' # Count installed git packages alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # Count installed git packages alias rg="rg --sort path" # Ripgrep with sorted results alias lg="lazygit" # Launch lazygit diff --git a/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf index 4182457..7a1328b 100644 --- a/hypr/.config/hypr/hyprland.conf +++ b/hypr/.config/hypr/hyprland.conf @@ -34,7 +34,7 @@ $mainMod = SUPER $localBin = $HOME/.local/bin $scriptsDir = $HOME/.config/hypr/scripts $hyprDir = $HOME/.config/hypr -$term = kitty +$term = alacritty $menu = $scriptsDir/menu $fullmenu = $scriptsDir/fullmenu $volume = $scriptsDir/volume @@ -52,17 +52,15 @@ env = XCURSOR_SIZE,24 # Startup exec-once = $scriptsDir/startup -exec-once = swaybg -m fill -i $HOME/Pictures/wallpapers/0390.jpg +exec-once = swaybg -m fill -i $HOME/Pictures/wallpapers/0465.jpg exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = $scriptsDir/portal -exec-once = [workspace 1 silent] brave -exec-once = [workspace 2 silent] alacritty -exec-once = [workspace 3 silent] spotify +exec-once = [workspace 1 silent] $browser +exec-once = [workspace 2 silent] $term exec-once = [workspace 4 silent] ticktick -exec-once = [workspace 5 silent] obsidian # with lock - hyprctl # exec-once = swayidle -w timeout 1200 '$lock' timeout 1200 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep '$lock' @@ -139,8 +137,8 @@ decoration { blur { enabled = true - size = 3 - passes = 1 + size = 1 + passes = 2 } shadow { @@ -231,7 +229,6 @@ bind = $mainMod, E, exec, neovide bind = $mainMod SHIFT, F, fullscreen bind = $mainMod, Return, exec, $term bind = $mainMod, B, exec, $browser -bind = $mainMod, T, exec, $term bind = $mainMod, V, exec, pavucontrol bind = CTRL ALT, A, exec, xfce4-appfinder @@ -311,7 +308,6 @@ bind = $mainMod, X, exec, archlinux-logout bind = ALT, X, exec, nlogout bind = ALT SHIFT, X, exec, nlogout bind = $mainMod SHIFT, X, exec, arcolinux-powermenu -bind = $mainMod, Y, exec, $term --class update -T update -e cava # f to cycle through foreground colors # Mainmod + Function keys bind = $mainMod, F1, exec, $browser @@ -419,18 +415,6 @@ bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 -# Azerty -# Switch workspaces with mainMod + [0-9] -#bind = $mainMod, Ampersand, workspace, 1 -#bind = $mainMod, Eacute, workspace, 2 -#bind = $mainMod, Quotedbl, workspace, 3 -#bind = $mainMod, Apostrophe, workspace, 4 -#bind = $mainMod, Parenleft, workspace, 5 -#bind = $mainMod, Section, workspace, 6 -#bind = $mainMod, Egrave, workspace, 7 -#bind = $mainMod, Exclam, workspace, 8 -#bind = $mainMod, ccedilla, workspace, 9 -#bind = $mainMod, agrave, workspace, 10 # Qwerty # Move active window and follow to workspace @@ -447,21 +431,6 @@ bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod, bracketleft, movetoworkspace, -1 bind = $mainMod, bracketright, movetoworkspace, +1 -# Azerty -# Move active window and follow to workspace -#bind = $mainMod CTRL, Ampersand, movetoworkspace, 1 -#bind = $mainMod CTRL, Eacute, movetoworkspace, 2 -#bind = $mainMod CTRL, Quotedbl, movetoworkspace, 3 -#bind = $mainMod CTRL, Apostrophe, movetoworkspace, 4 -#bind = $mainMod CTRL, Parenleft, movetoworkspace, 5 -#bind = $mainMod CTRL, Section, movetoworkspace, 6 -#bind = $mainMod CTRL, Egrave, movetoworkspace, 7 -#bind = $mainMod CTRL, Exclam, movetoworkspace, 8 -#bind = $mainMod CTRL, ccedilla, movetoworkspace, 9 -#bind = $mainMod CTRL, agrave, movetoworkspace, 10 -#bind = $mainMod CTRL, bracketleft, movetoworkspace, -1 -#bind = $mainMod CTRL, bracketright, movetoworkspace, +1 - # Qwerty # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 @@ -477,22 +446,10 @@ bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 bind = $mainMod SHIFT, bracketleft, movetoworkspacesilent, -1 bind = $mainMod SHIFT, bracketright, movetoworkspacesilent, +1 -# Azerty -# Move active window to a workspace with mainMod + SHIFT + [0-9] -#bind = $mainMod SHIFT, Ampersand, movetoworkspacesilent, 1 -#bind = $mainMod SHIFT, Eacute, movetoworkspacesilent, 2 -#bind = $mainMod SHIFT, Quotedbl, movetoworkspacesilent, 3 -#bind = $mainMod SHIFT, Apostrophe, movetoworkspacesilent, 4 -#bind = $mainMod SHIFT, Parenleft, movetoworkspacesilent, 5 -#bind = $mainMod SHIFT, Section, movetoworkspacesilent, 6 -#bind = $mainMod SHIFT, Egrave, movetoworkspacesilent, 7 -#bind = $mainMod SHIFT, Exclam, movetoworkspacesilent, 8 -#bind = $mainMod SHIFT, ccedilla, movetoworkspacesilent, 9 -#bind = $mainMod SHIFT, agrave, movetoworkspacesilent, 10 -#bind = $mainMod SHIFT, bracketleft, movetoworkspacesilent, -1 -#bind = $mainMod SHIFT, bracketright, movetoworkspacesilent, +1 - +debug:disable_logs = false # Personal scripts -bind = $alt,b,exec,/home/omar/.scripts/books.sh -bind = $mainMod,p,exec, /home/omar/.scripts/toggle_waybar.sh +bind = $alt,b,exec, $HOME/.scripts/books.sh +bind = $mainMod,p,exec, $HOME/.scripts/toggle_waybar.sh +bind = $mainMod,y,exec, $HOME/.scripts/config_files.sh +bind = $mainMod,t,exec, $HOME/.scripts/create_tmp.sh diff --git a/hypr/.config/hypr/hyprlandd.conf b/hypr/.config/hypr/hyprlandd.conf new file mode 100644 index 0000000..9c1e68e --- /dev/null +++ b/hypr/.config/hypr/hyprlandd.conf @@ -0,0 +1,297 @@ + +# ####################################################################################### +# AUTOGENERATED HYPRLAND CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# ####################################################################################### + +autogenerated = 1 # remove this line to remove the warning + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto + + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = wofi --show drun + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: + +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 1.94, almostLinear, fade + animation = workspacesIn, 1, 1.21, almostLinear, fade + animation = workspacesOut, 1, 1.94, almostLinear, fade +} + +# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] +# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] +# windowrulev2 = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = false +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +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%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +# Ignore maximize requests from apps. You'll probably like this. +windowrulev2 = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/hypr/.config/hypr/waybar-alt-5/config.ini b/hypr/.config/hypr/waybar-alt-5/config.ini index 73c57e4..d2ef21f 100755 --- a/hypr/.config/hypr/waybar-alt-5/config.ini +++ b/hypr/.config/hypr/waybar-alt-5/config.ini @@ -1,5 +1,5 @@ { - "layer": "top", // Waybar at top layer + "layer": "bottom", // Waybar at top layer "position": "top", // Waybar position (top|bottom|left|right) "height": 40, "width":1920, @@ -10,7 +10,7 @@ "modules-left": ["hyprland/workspaces"], "modules-center": ["custom/spotify"], - "modules-right": ["custom/weather", "temperature", "cpu", "memory", "pulseaudio", "clock", "tray", "custom/power"], + "modules-right": ["custom/weather", "temperature", "custom-keyboard-layout", "cpu", "memory", "pulseaudio", "clock", "tray", "custom/power"], // Modules configuration // waybar-spotify diff --git a/hypr/.config/hypr/waybar-alt-5/style.css b/hypr/.config/hypr/waybar-alt-5/style.css index b5f1a7e..2736b13 100755 --- a/hypr/.config/hypr/waybar-alt-5/style.css +++ b/hypr/.config/hypr/waybar-alt-5/style.css @@ -61,7 +61,7 @@ window#waybar { #workspaces button { padding: 2px 0px; border-bottom: 2px; - color: #eceff4; + color: #d4be98; border-color: #d8dee9; border-style: solid; margin-top: 2px; @@ -103,7 +103,7 @@ window#waybar { } #clock { - color: #a3be8c; + color: #e78a4e; } #backlight { @@ -136,11 +136,11 @@ window#waybar { } #cpu { - color: #a3be8c; + color: #a9b665; } #memory { - color: #d3869b; + color: #ea6963; } #network.disabled { @@ -156,7 +156,7 @@ window#waybar { } #pulseaudio { - color: #b48ead; + color: #d3869b; } #pulseaudio.muted { diff --git a/hypr/.config/hypr/waybar/config.ini b/hypr/.config/hypr/waybar/config.ini index 73c57e4..d2ef21f 100755 --- a/hypr/.config/hypr/waybar/config.ini +++ b/hypr/.config/hypr/waybar/config.ini @@ -1,5 +1,5 @@ { - "layer": "top", // Waybar at top layer + "layer": "bottom", // Waybar at top layer "position": "top", // Waybar position (top|bottom|left|right) "height": 40, "width":1920, @@ -10,7 +10,7 @@ "modules-left": ["hyprland/workspaces"], "modules-center": ["custom/spotify"], - "modules-right": ["custom/weather", "temperature", "cpu", "memory", "pulseaudio", "clock", "tray", "custom/power"], + "modules-right": ["custom/weather", "temperature", "custom-keyboard-layout", "cpu", "memory", "pulseaudio", "clock", "tray", "custom/power"], // Modules configuration // waybar-spotify diff --git a/hypr/.config/hypr/waybar/style.css b/hypr/.config/hypr/waybar/style.css index b5f1a7e..2736b13 100755 --- a/hypr/.config/hypr/waybar/style.css +++ b/hypr/.config/hypr/waybar/style.css @@ -61,7 +61,7 @@ window#waybar { #workspaces button { padding: 2px 0px; border-bottom: 2px; - color: #eceff4; + color: #d4be98; border-color: #d8dee9; border-style: solid; margin-top: 2px; @@ -103,7 +103,7 @@ window#waybar { } #clock { - color: #a3be8c; + color: #e78a4e; } #backlight { @@ -136,11 +136,11 @@ window#waybar { } #cpu { - color: #a3be8c; + color: #a9b665; } #memory { - color: #d3869b; + color: #ea6963; } #network.disabled { @@ -156,7 +156,7 @@ window#waybar { } #pulseaudio { - color: #b48ead; + color: #d3869b; } #pulseaudio.muted { diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index d099d67..7a9e331 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -10,8 +10,8 @@ # font_family JetBrains Mono Nerd Font # font_family JetBrains Mono Extra Bold Nerd Font # font_family DejaVu Mono - # font_family comic mono bold - font_family Monaspace Radon + font_family comic mono bold + # font_family Monaspace Radon # font_family source code pro # font_family Iosevka Term # font_family Fira Sans Bold @@ -944,9 +944,9 @@ inactive_tab_font_style normal #: The foreground and background colors -# background_opacity 0.9 +background_opacity 0.5 # background_opacity 0.50 -background_opacity 1.00 +# background_opacity 1.00 #: The opacity of the background. A number between 0 and 1, where 1 is #: opaque and 0 is fully transparent. This will only work if diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index e4eee12..7376070 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,6 +1,10 @@ -- bootstrap lazy.nvim, LazyVim and your plugins require("config.lazy") +vim.g.transparent_groups = vim.list_extend(vim.g.transparent_groups or {}, { "ExtraGroup" }) +require("transparent").clear_prefix("NeoTree") +require("transparent").clear_prefix("Trouble") + -- require("notify").setup({ -- background_colour = "#000000", -- }) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 8386812..d3240e9 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,73 +1,78 @@ { - "LazyVim": { "branch": "main", "commit": "adcbfc72fd8d0808d78bdfe0940d98c6432c4ef0" }, - "LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" }, - "SchemaStore.nvim": { "branch": "main", "commit": "291b15c6a03d8f859da8d83f46ed41ae6bb0ea8d" }, - "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, + "LazyVim": { "branch": "main", "commit": "c2175397a7e7d67c31b057c6b84e652688f1d874" }, + "LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f8c2a0f5d51b800ea4625808e243d9e8f7c5e1df" }, + "catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "competitest.nvim": { "branch": "master", "commit": "e397635d212605a3fa0e2d06f3e6209085189e3f" }, "compiler-explorer.nvim": { "branch": "master", "commit": "ee8e7a2808bdad67cd2acb61b5c9ffa7735c7ec9" }, "compiler.nvim": { "branch": "main", "commit": "eb7f82bb8f9e722dd194f638e67ec53c12ce5ac5" }, - "conform.nvim": { "branch": "master", "commit": "62d5accad8b29d6ba9b58d3dff90c43a55621c60" }, + "conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" }, - "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, - "fzf-lua": { "branch": "main", "commit": "9427dc65afaa7972fb20fc52280cd1449f691928" }, - "gitsigns.nvim": { "branch": "main", "commit": "ac5aba6dce8c06ea22bea2c9016f51a2dbf90dc7" }, - "grug-far.nvim": { "branch": "main", "commit": "9a2f78219390b47d67795ab09390d7f092e23976" }, - "gruvbox.nvim": { "branch": "main", "commit": "49d9c0b150ba70efcd831ec7b3cb8ee740067045" }, + "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, + "fzf-lua": { "branch": "main", "commit": "9568a385cb4a682ac20095a39dfcdec357220c07" }, + "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, + "grug-far.nvim": { "branch": "main", "commit": "11d0fbd6fff6f4e394af95319deeaab4ef88ce97" }, + "gruvbox.nvim": { "branch": "main", "commit": "68c3460a5d1d1a362318960035c9f3466d5011f5" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, "hex.nvim": { "branch": "master", "commit": "fcff75fcf43b5a6c5b471eed65b3a06c412d6020" }, - "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, - "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, - "lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" }, + "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, + "lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" }, "litee-calltree.nvim": { "branch": "main", "commit": "b50c809d136ad479caf761a7f030da98c56c7976" }, "litee.nvim": { "branch": "main", "commit": "4efaf373322d9e71eaff31164abb393417cc6f6a" }, - "lspkind.nvim": { "branch": "master", "commit": "a700f1436d4a938b1a1a93c9962dc796afbaef4d" }, + "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, "lualine-so-fancy.nvim": { "branch": "main", "commit": "45197358e5274d301d98638bf079f3437d6eacf8" }, "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, - "luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "material.nvim": { "branch": "main", "commit": "31429eef4b7233ebdae3ddb57b7165ee4f1bd653" }, - "mini.icons": { "branch": "main", "commit": "54686be7d58807906cb2c8c2216e0bf9c044f19a" }, + "mini.ai": { "branch": "main", "commit": "ebb04799794a7f94628153991e6334c3304961b8" }, + "mini.icons": { "branch": "main", "commit": "44c0160526f7ae17ca8e8eab9ab235d047fcf7a6" }, "mini.move": { "branch": "main", "commit": "4caa1c212f5ca3d1633d21cfb184808090ed74b1" }, - "mini.nvim": { "branch": "main", "commit": "ccfc6300a5c17387f2899f979ecc04f942bee2a0" }, + "mini.nvim": { "branch": "main", "commit": "7ebfab26d77a4b9b05aaae565907e7fa4b2ee154" }, "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" }, - "mini.surround": { "branch": "main", "commit": "48a9795c9d352c771e1ab5dedab6063c0a2df037" }, - "neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, - "neogit": { "branch": "master", "commit": "efd2a182024e422a4c4061683b9264c782eb684a" }, - "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, + "mini.surround": { "branch": "main", "commit": "aa5e245829dd12d8ff0c96ef11da28681d6049aa" }, + "neo-tree.nvim": { "branch": "main", "commit": "395ce4675a54828f9fd730d78f7910c114ab0a49" }, + "neogit": { "branch": "master", "commit": "cfea08ebb2fda22f1357e413d4ea45dcda6fcab5" }, + "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, - "nvim-cmp": { "branch": "main", "commit": "be7bd4c5f860c79da97af3a26d489af50babfd4b" }, - "nvim-lint": { "branch": "master", "commit": "8e9562de7261e5b862c631958df616e1a65552cd" }, - "nvim-lspconfig": { "branch": "master", "commit": "c646154d6e4db9b2979eeb517d0b817ad00c9c47" }, + "nvim-cmp": { "branch": "main", "commit": "3403e2e9391ed0a28c3afddd8612701b647c8e26" }, + "nvim-dap": { "branch": "master", "commit": "567da83810dd9da32f9414d941bc6848715fc102" }, + "nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" }, + "nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" }, + "nvim-lspconfig": { "branch": "master", "commit": "3da18150795cd0cf2c0efe3c6fe6e142800c14ef" }, + "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" }, - "nvim-treesitter": { "branch": "master", "commit": "fcd2a5fea91deac818f26a6412a624798af45033" }, + "nvim-treesitter": { "branch": "master", "commit": "cfbbdd5effbde3d47d2d662e67cfcd62a93b783f" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, - "nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, - "nvim-web-devicons": { "branch": "master", "commit": "f09be61d05bebcba85bb47be1931322d51b95644" }, + "nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" }, + "nvim-web-devicons": { "branch": "master", "commit": "1736cb81bdc42e1ee206081a161bdb2af68fb7a1" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, - "oil.nvim": { "branch": "master", "commit": "5fa528f5528bf04a2d255108e59ed9cf53e85ae6" }, + "oil.nvim": { "branch": "master", "commit": "dba037598843973b8c54bc5ce0318db4a0da439d" }, "onedark": { "branch": "master", "commit": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6" }, "overseer.nvim": { "branch": "master", "commit": "6271cab7ccc4ca840faa93f54440ffae3a3918bd" }, "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "render-markdown.nvim": { "branch": "main", "commit": "d6a82d70765aa238b7ea48d257a1d57a92501423" }, - "rose-pine": { "branch": "main", "commit": "07a887a7bef4aacea8c7caebaf8cbf808cdc7a8e" }, - "snacks.nvim": { "branch": "main", "commit": "9462273bf7c0e627da0f412c02daee907947078d" }, + "render-markdown.nvim": { "branch": "main", "commit": "0022a579ac7355966be5ade77699b88c76b6a549" }, + "rose-pine": { "branch": "main", "commit": "91548dca53b36dbb9d36c10f114385f759731be1" }, + "snacks.nvim": { "branch": "main", "commit": "c06f50e8950850c094244b985a45b69acf08992a" }, "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, - "telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, + "tailwind-tools": { "branch": "master", "commit": "3703e162d819a04b128902c508276553dae0dfb8" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" }, + "telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" }, "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, - "tokyonight.nvim": { "branch": "main", "commit": "c2725eb6d086c8c9624456d734bd365194660017" }, - "trouble.nvim": { "branch": "main", "commit": "3dc00c0447c016cd43e03054c3d49436a1f2076d" }, - "ts-comments.nvim": { "branch": "main", "commit": "2002692ad1d3f6518d016550c20c2a890f0cbf0e" }, + "tokyonight.nvim": { "branch": "main", "commit": "45d22cf0e1b93476d3b6d362d720412b3d34465c" }, + "transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" }, + "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, + "ts-comments.nvim": { "branch": "main", "commit": "872dcfa0418f4a33b7437fb4d9f4e89f2f000d74" }, "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, "vim-tmux-navigator": { "branch": "master", "commit": "424b5caa154bff34dc258ee53cec5a8e36cf7ea8" }, - "vimtex": { "branch": "master", "commit": "879f8906a677e2ee77f62f3b66ce7b86aafb0cec" }, - "zen-mode.nvim": { "branch": "main", "commit": "29b292bdc58b76a6c8f294c961a8bf92c5a6ebd6" } + "vimtex": { "branch": "master", "commit": "b8bb79b5fb27e9030ade92e75cd9375416f2c666" } } diff --git a/nvim/.config/nvim/lazyvim.json b/nvim/.config/nvim/lazyvim.json index 96ee7f7..3d79411 100644 --- a/nvim/.config/nvim/lazyvim.json +++ b/nvim/.config/nvim/lazyvim.json @@ -1,9 +1,12 @@ { "extras": [ + "lazyvim.plugins.extras.coding.nvim-cmp", + "lazyvim.plugins.extras.dap.core", + "lazyvim.plugins.extras.editor.telescope", "lazyvim.plugins.extras.lang.tex" ], "news": { - "NEWS.md": "7429" + "NEWS.md": "10960" }, "version": 7 } \ No newline at end of file diff --git a/nvim/.config/nvim/lua/config/options.lua b/nvim/.config/nvim/lua/config/options.lua index d1dec23..fb5d5b6 100644 --- a/nvim/.config/nvim/lua/config/options.lua +++ b/nvim/.config/nvim/lua/config/options.lua @@ -8,11 +8,15 @@ vim.opt.confirm = false vim.o.clipboard = "" vim.o.guifont = "Monaspace Radon:h12:bold" -- text below applies for VimScript +-- Best search settings :) +vim.opt.smartcase = true +vim.opt.ignorecase = true + -- Helper function for transparency formatting local alpha = function() return string.format("%x", math.floor(255 * vim.g.transparency or 0.8)) end -- g:neovide_transparency should be 0 if you want to unify transparency of content and title bar. -vim.g.neovide_transparency = 1.0 +vim.g.neovide_transparency = 0.5 vim.g.transparency = 0.8 vim.g.neovide_background_color = "#0A0E14" .. alpha() diff --git a/nvim/.config/nvim/lua/plugins/custom-catppuccin.lua b/nvim/.config/nvim/lua/plugins/custom-catppuccin.lua index 1795273..5546b1f 100644 --- a/nvim/.config/nvim/lua/plugins/custom-catppuccin.lua +++ b/nvim/.config/nvim/lua/plugins/custom-catppuccin.lua @@ -67,7 +67,7 @@ return { crust = "#141617", }, }, - transparent_background = false, + transparent_background = true, show_end_of_buffer = false, integration_default = false, integrations = { diff --git a/nvim/.config/nvim/lua/plugins/disabled.lua b/nvim/.config/nvim/lua/plugins/disabled.lua index effd24e..f5348eb 100644 --- a/nvim/.config/nvim/lua/plugins/disabled.lua +++ b/nvim/.config/nvim/lua/plugins/disabled.lua @@ -15,10 +15,6 @@ return { "akinsho/bufferline.nvim", enabled = false, }, - { - "echasnovski/mini.ai", - enabled = false, - }, { "nvim-treesitter/nvim-treesitter-context", enabled = false, diff --git a/nvim/.config/nvim/lua/plugins/lualine.lua b/nvim/.config/nvim/lua/plugins/lualine.lua index 638e9d3..7b9209a 100644 --- a/nvim/.config/nvim/lua/plugins/lualine.lua +++ b/nvim/.config/nvim/lua/plugins/lualine.lua @@ -49,7 +49,7 @@ return { "progress", }, lualine_y = {}, - lualine_z = {}, + lualine_z = { "location" }, }, inactive_sections = { lualine_a = {}, diff --git a/nvim/.config/nvim/lua/plugins/misc.lua b/nvim/.config/nvim/lua/plugins/misc.lua index 7064964..7266a01 100644 --- a/nvim/.config/nvim/lua/plugins/misc.lua +++ b/nvim/.config/nvim/lua/plugins/misc.lua @@ -26,13 +26,15 @@ return { init = function() -- VimTeX configuration goes here vim.g.vimtex_view_method = "zathura" + -- Set LuaLaTeX as the default compiler + vim.g.vimtex_compiler_method = "lualatex" end, }, -- tmux navigator { "christoomey/vim-tmux-navigator", - lazy = true, + lazy = false, cmd = { "TmuxNavigateLeft", "TmuxNavigateDown", @@ -44,7 +46,7 @@ return { { "", "TmuxNavigateLeft" }, { "", "TmuxNavigateDown" }, { "", "TmuxNavigateUp" }, - { "", "TmuxNavigateRight" }, + { "", "TmuxNavigateRight" }, { "", "TmuxNavigatePrevious" }, }, }, @@ -67,16 +69,13 @@ return { config = true, }, - -- Lua { - "folke/zen-mode.nvim", - opts = { - window = { - width = 0.9, - }, - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below + lazy = false, + "xiyaowong/transparent.nvim", + extra_groups = { + "TroubleNormal", + "TroubleNormalNC", + "NvimTreeNormal", -- NvimTree }, }, } diff --git a/nvim/.config/nvim/lua/plugins/nvim-treesitter-textobjects.lua b/nvim/.config/nvim/lua/plugins/nvim-treesitter-textobjects.lua deleted file mode 100644 index 726b4ad..0000000 --- a/nvim/.config/nvim/lua/plugins/nvim-treesitter-textobjects.lua +++ /dev/null @@ -1,51 +0,0 @@ -return { - "nvim-treesitter/nvim-treesitter-textobjects", - requires = "nvim-treesitter/nvim-treesitter", - lazy = false, - config = function() - require("nvim-treesitter.configs").setup({ - textobjects = { - select = { - enable = true, - - -- Automatically jump forward to textobj, similar to targets.vim - lookahead = true, - - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ["af"] = "@function.outer", - ["if"] = "@function.inner", - ["ac"] = "@class.outer", - -- You can optionally set descriptions to the mappings (used in the desc parameter of - -- nvim_buf_set_keymap) which plugins like which-key display - ["ic"] = { query = "@class.inner", desc = "Select inner part of a class region" }, - -- You can also use captures from other query groups like `locals.scm` - ["as"] = { query = "@scope", query_group = "locals", desc = "Select language scope" }, - }, - -- You can choose the select mode (default is charwise 'v') - -- - -- Can also be a function which gets passed a table with the keys - -- * query_string: eg '@function.inner' - -- * method: eg 'v' or 'o' - -- and should return the mode ('v', 'V', or '') or a table - -- mapping query_strings to modes. - selection_modes = { - ["@parameter.outer"] = "v", -- charwise - ["@function.outer"] = "V", -- linewise - ["@class.outer"] = "", -- blockwise - }, - -- If you set this to `true` (default is `false`) then any textobject is - -- extended to include preceding or succeeding whitespace. Succeeding - -- whitespace has priority in order to act similarly to eg the built-in - -- `ap`. - -- - -- Can also be a function which gets passed a table with the keys - -- * query_string: eg '@function.inner' - -- * selection_mode: eg 'v' - -- and should return true of false - include_surrounding_whitespace = true, - }, - }, - }) - end, -} diff --git a/nvim/.config/nvim/lua/plugins/snacks.lua b/nvim/.config/nvim/lua/plugins/snacks.lua new file mode 100644 index 0000000..d40f66c --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/snacks.lua @@ -0,0 +1,11 @@ +return { + + "folke/snacks.nvim", + + opts = { + + scroll = { enabled = false }, + + -- other stuff + }, +} diff --git a/nvim/.config/nvim/lua/plugins/tailwind-tools.lua b/nvim/.config/nvim/lua/plugins/tailwind-tools.lua new file mode 100644 index 0000000..d6a466e --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/tailwind-tools.lua @@ -0,0 +1,12 @@ +-- tailwind-tools.lua +return { + "luckasRanarison/tailwind-tools.nvim", + name = "tailwind-tools", + build = ":UpdateRemotePlugins", + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-telescope/telescope.nvim", -- optional + "neovim/nvim-lspconfig", -- optional + }, + opts = {}, -- your configuration +} diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua index 1a54489..55e0201 100644 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ b/nvim/.config/nvim/lua/plugins/telescope.lua @@ -1,12 +1,12 @@ return { "nvim-telescope/telescope.nvim", keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "f", - false - }, + -- add a keymap to browse plugin files + -- stylua: ignore + { + "f", + false + }, { "fe", false, @@ -16,17 +16,34 @@ return { false, }, { - "fp", + "p", function() - require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) + require("telescope.builtin").lsp_document_symbols() end, - desc = "Find Plugin File", + desc = "Find Document Sympols", + }, + { + "fd", + "Telescope find_files", + desc = "Find Buffer", + }, + { + "ff", + "Telescope git_files", + desc = "Find Buffer", }, { "fb", "Telescope buffers", desc = "Find Buffer", }, + { + "fk", + function() + require("telescope.builtin").keymaps() + end, + desc = "Find Keymaps", + }, { "fw", function() @@ -37,12 +54,26 @@ return { { "f/", function() - require("telescope.builtin").live_grep() + require("telescope.builtin").current_buffer_fuzzy_find() end, - desc = "Find words in project", + desc = "Grep current File", }, { "fm", + function() + require("telescope.builtin").marks() + end, + desc = "Find Vim Marks", + }, + { + "ft", + function() + require("telescope.builtin").help_tags() + end, + desc = "Find help tags", + }, + { + "fh", "Telescope harpoon marks", desc = "harpoon marks", }, diff --git a/scripts/.scripts/: basename b/scripts/.scripts/: basename new file mode 100644 index 0000000..d46ba07 --- /dev/null +++ b/scripts/.scripts/: basename @@ -0,0 +1 @@ + "alacritty:$HOME/dotfiles/alacritty/.config/alacritty/alacritty.toml" diff --git a/scripts/.scripts/basename b/scripts/.scripts/basename new file mode 100644 index 0000000..d46ba07 --- /dev/null +++ b/scripts/.scripts/basename @@ -0,0 +1 @@ + "alacritty:$HOME/dotfiles/alacritty/.config/alacritty/alacritty.toml" diff --git a/scripts/.scripts/config_files.sh b/scripts/.scripts/config_files.sh index c4d5451..8642cf4 100755 --- a/scripts/.scripts/config_files.sh +++ b/scripts/.scripts/config_files.sh @@ -1,4 +1,36 @@ #!/usr/bin/sh -file=$(find "$HOME/dotfiles/" -type f | dmenu -l 20 -p "open config file") -kitty -e nvim $file +configs=("aliases:$HOME/dotfiles/aliases/.aliases/aliases" + "alacritty:$HOME/dotfiles/alacritty/.config/alacritty/alacritty.toml" + "awesome:$HOME/dotfiles/awesome/.config/awesome/rc.lua" + "kitty:$HOME/dotfiles/kitty/.config/kitty/kitty.conf" + "hyprland:$HOME/dotfiles/hypr/.config/hypr/hyprland.conf" + "vim:$HOME/dotfiles/vim/.vimrc" + "neovim:$HOME/dotfiles/nvim/.config/nvim/init.lua" + "starship:$HOME/dotfiles/starship/.config/starship.toml" + "tmux:$HOME/dotfiles/tmux/.tmux.conf" + "zathura:$HOME/dotfiles/zathura/.config/zathura/zathurarc" + "zsh:$HOME/dotfiles/zsh/.zshrc") + +configs=$(printf '%s\n' "${configs[@]}") + +# Detect whether we're in a Wayland or X11 session +if [ "$XDG_SESSION_TYPE" = "wayland" ]; then + # Wayland session - use wofi + launcher="wofi --dmenu -i -l 10" +elif [ "$XDG_SESSION_TYPE" = "x11" ]; then + # X11 session - use dmenu + launcher="dmenu -i -l 10 -p 'open config file'" +else + echo "Error: Could not detect display server (Wayland or X11)." + exit 1 +fi + +program_names=$(echo "$configs" | cut -d':' -f1) + +choice=$(echo "$program_names" | $launcher) + +file=$(echo "$configs" | grep -w "$choice" | cut -d':' -f2) + +cwd=$(dirname $file) +kitty -e nvim -c "cd $cwd" $file diff --git a/scripts/.scripts/specialworkspace_mover.sh b/scripts/.scripts/specialworkspace_mover.sh new file mode 100755 index 0000000..7e94d03 --- /dev/null +++ b/scripts/.scripts/specialworkspace_mover.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# Fetch all clients' information using hyprctl +clients_output=$(hyprctl clients) + +# Extract window classes for workspace -99 +special_windows=$(echo "$clients_output" | awk ' + BEGIN { RS="Window "; FS="\n" } + /workspace: -99/ { + for (i=1; i<=NF; i++) { + if ($i ~ /class:/) { + class = $i + sub("class: ", "", class) + print class + } + } + } +') + +# Check if there are any windows in the special workspace +if [[ -z "$special_windows" ]]; then + echo "No windows found in the special workspace." + exit 0 +fi + +# Display the window classes in wofi and get the selected window class +selected_class=$(echo "$special_windows" | wofi --dmenu -p "Select a window to move:" | awk '{$1=$1};1') + +# Exit if no selection was made +if [[ -z "$selected_class" ]]; then + echo "No selection made." + exit 0 +fi + +window_title=$(hyprctl clients | grep -i -E "Window .* $selected_class" | sed "s/Window.*-> \(.*\):/\1/I") + +echo "Special windows: $special_windows" +echo "Selected class: $selected_class" +echo "Window title: $window_title" + +current_workspace=$(hyprctl activeworkspace | head -n1 | cut -d' ' -f3) + +echo "Curspace: $current_workspace" +# hyprctl dispatch movetoworkspacesilent 1,title:"Thinking in Systems - volty - Obsidian v1.7.7" + +# Move the selected window to the current workspace +if [[ -n "$window_title" ]]; then + hyprctl dispatch movetoworkspacesilent "$current_workspace",title:"$window_title" + echo "Moved $selected_class to the current workspace." +else + echo "Failed to find window ID for $selected_class." +fi diff --git a/scripts/.scripts/tmux-sessionizer.sh b/scripts/.scripts/tmux-sessionizer.sh index c536df7..419484a 100755 --- a/scripts/.scripts/tmux-sessionizer.sh +++ b/scripts/.scripts/tmux-sessionizer.sh @@ -1,29 +1,36 @@ #!/bin/sh - if [[ $# -eq 1 ]]; then - selected=$1 + selected=$1 else - selected=$(find ~/programming -mindepth 1 -maxdepth 2 -type d | fzf) + selected=$(fd '^.git$' -a --hidden --no-ignore --type d ./programming --exec dirname | grep -v "thirdparties" | fzf) fi if [[ -z $selected ]]; then - exit 1 + exit 1 fi selected_name=$(basename "$selected" | tr . _) tmux_running=$(pgrep tmux) -if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then - tmux new-session -s $selected_name - tmux send-keys -t $selected_name "cd $selected" Enter - tmux send-keys -t $selected_name "clear" Enter - exit 0 -fi +create_session() { + tmux new-session -d -s $selected_name -n nvim + tmux send-keys -t "$selected_name:1" "cd $selected && clear && nvim ." Enter + # Create second window (shell) + tmux new-window -t $selected_name -n shell + tmux send-keys -t "$selected_name:2" "cd $selected && clear" Enter + # Create third window (git) + tmux new-window -t $selected_name -n git + tmux send-keys -t "$selected_name:3" "cd $selected && clear && lazygit" Enter +} -if ! tmux has-session -t=$selected_name 2> /dev/null; then - tmux new-session -ds $selected_name - tmux send-keys -t $selected_name "cd $selected" Enter - tmux send-keys -t $selected_name "clear" Enter +# If not in tmux, create and attach +if [[ -z $TMUX ]]; then + create_session + tmux attach-session -t $selected_name +else + # If in tmux, create if needed and switch + if ! tmux has-session -t=$selected_name 2>/dev/null; then + create_session + fi + tmux switch-client -t $selected_name fi - -tmux switch-client -t $selected_name diff --git a/vim/.vim/pack/default/start/gruvbox b/vim/.vim/pack/default/start/gruvbox new file mode 160000 index 0000000..f1ecde8 --- /dev/null +++ b/vim/.vim/pack/default/start/gruvbox @@ -0,0 +1 @@ +Subproject commit f1ecde848f0cdba877acb0c740320568252cc482 diff --git a/vim/.vim/pack/plugins/start/rosepine b/vim/.vim/pack/plugins/start/rosepine new file mode 160000 index 0000000..95fb4b5 --- /dev/null +++ b/vim/.vim/pack/plugins/start/rosepine @@ -0,0 +1 @@ +Subproject commit 95fb4b56ce8b913ab5500f6d00ae0b1153917bec diff --git a/vim/.vim/vimrc b/vim/.vim/vimrc new file mode 100644 index 0000000..a6f7ee3 --- /dev/null +++ b/vim/.vim/vimrc @@ -0,0 +1,53 @@ +" You want Vim, not vi. When Vim finds a vimrc, 'nocompatible' is set anyway. +" We set it explicitely to make our position clear! + +set background=dark +colorscheme rosepine + +let g:disable_bg = 1 + +set nocompatible + +filetype plugin indent on " Load plugins according to detected filetype. +syntax on " Enable syntax highlighting. + +set autoindent " Indent according to previous line. +set expandtab " Use spaces instead of tabs. +set softtabstop =2 " Tab key indents by 4 spaces. +set shiftwidth =2 " >> indents by 4 spaces. +set shiftround " >> indents to next multiple of 'shiftwidth'. + +set backspace =indent,eol,start " Make backspace work as you would expect. +set hidden " Switch between buffers without having to save first. +set laststatus =2 " Always show statusline. +set display =lastline " Show as much as possible of the last line. +set number +set relativenumber + +set showmode " Show current mode in command-line. +set showcmd " Show already typed keys when more are expected. + +set incsearch " Highlight while searching with / or ?. + +set ttyfast " Faster redrawing. +set lazyredraw " Only redraw when necessary. + +set splitbelow " Open new windows below the current window. +set splitright " Open new windows right of the current window. + +set wrapscan " Searches wrap around end-of-file. +set report =0 " Always report changed lines. +set synmaxcol =200 " Only highlight the first 200 columns. + +set list " Show non-printable characters. +if has('multi_byte') && &encoding ==# 'utf-8' + let &listchars = 'tab:▸ ,extends:❯,precedes:❮,nbsp:±' +else + let &listchars = 'tab:> ,extends:>,precedes:<,nbsp:.' +endif + +" The fish shell is not very compatible to other shells and unexpectedly +" breaks things that use 'shell'. +if &shell =~# 'fish$' + set shell=/bin/bash +endif diff --git a/vim/.vimrc b/vim/.vimrc deleted file mode 100644 index 1b67dc7..0000000 --- a/vim/.vimrc +++ /dev/null @@ -1,54 +0,0 @@ -" You want Vim, not vi. When Vim finds a vimrc, 'nocompatible' is set anyway. -" We set it explicitely to make our position clear! - -set background=dark -colorscheme rosepine - -let g:disable_bg = 1 - -set nocompatible - -filetype plugin indent on " Load plugins according to detected filetype. -syntax on " Enable syntax highlighting. - -set autoindent " Indent according to previous line. -set expandtab " Use spaces instead of tabs. -set softtabstop =2 " Tab key indents by 4 spaces. -set shiftwidth =2 " >> indents by 4 spaces. -set shiftround " >> indents to next multiple of 'shiftwidth'. - -set backspace =indent,eol,start " Make backspace work as you would expect. -set hidden " Switch between buffers without having to save first. -set laststatus =2 " Always show statusline. -set display =lastline " Show as much as possible of the last line. -set number -set relativenumber - -set showmode " Show current mode in command-line. -set showcmd " Show already typed keys when more are expected. - -set incsearch " Highlight while searching with / or ?. - -set ttyfast " Faster redrawing. -set lazyredraw " Only redraw when necessary. - -set splitbelow " Open new windows below the current window. -set splitright " Open new windows right of the current window. - -set wrapscan " Searches wrap around end-of-file. -set report =0 " Always report changed lines. -set synmaxcol =200 " Only highlight the first 200 columns. - -set list " Show non-printable characters. -if has('multi_byte') && &encoding ==# 'utf-8' - let &listchars = 'tab:▸ ,extends:❯,precedes:❮,nbsp:±' -else - let &listchars = 'tab:> ,extends:>,precedes:<,nbsp:.' -endif - -" The fish shell is not very compatible to other shells and unexpectedly -" breaks things that use 'shell'. -if &shell =~# 'fish$' - set shell=/bin/bash -endif - diff --git a/zsh/.zshrc b/zsh/.zshrc index 970c2eb..5d366cd 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -49,12 +49,20 @@ eval "$(zoxide init zsh)" # Uncomment the following line to display red dots whilst waiting for completion. COMPLETION_WAITING_DOTS="true" + +# I have no idea what this does but it's required by zsh-vi-mode +zinit ice depth=1 + # Add in zsh plugins zinit light zsh-users/zsh-syntax-highlighting +zinit light zsh-users/zsh-syntax-highlighting zinit light zsh-users/zsh-completions zinit light zsh-users/zsh-autosuggestions zinit light Aloxaf/fzf-tab +# Set this before loading the plugin +ZVM_INIT_MODE=sourcing zinit light jeffreytse/zsh-vi-mode + # Add in snippets zinit snippet OMZL::git.zsh zinit snippet OMZP::git @@ -84,7 +92,6 @@ if [ -d "$HOME/.aliases" ] ; fi # Keybindings -bindkey -e bindkey '^p' history-search-backward bindkey '^n' history-search-forward bindkey '^k' up-line-or-beginning-search @@ -127,7 +134,10 @@ export PATH="$PATH:/usr/bin/docker:/usr/local/arm-cross-compiler/install/gcc-arm export PATH="$PATH":"$HOME/.pub-cache/bin" export PATH="$PATH:/opt/usr/bin/" export PATH="$PATH:$HOME/.scripts/" -export PATH="$PATH:/home/omar/.cache/lm-studio/bin" +export PATH="$PATH:$HOME/.cache/lm-studio/bin" +export PATH="$PATH:$HOME/.cargo/bin/" +# export PATH="$PATH:/opt/android-sdk/tools/bin" +export ANDROID_HOME="/opt/android-sdk" # Useful functions @@ -166,3 +176,11 @@ fcd() { cd "$dir" fi } + +# pnpm +export PNPM_HOME="/home/omar/.local/share/pnpm" +case ":$PATH:" in + *":$PNPM_HOME:"*) ;; + *) export PATH="$PNPM_HOME:$PATH" ;; +esac +# pnpm end -- cgit v1.2.3