diff --git a/.config/MangoHud/MangoHud.conf b/.config/MangoHud/MangoHud.conf new file mode 100644 index 0000000..0507948 --- /dev/null +++ b/.config/MangoHud/MangoHud.conf @@ -0,0 +1,40 @@ +# Config Generated by MangoJuice # +legacy_layout=false +gpu_stats +gpu_load_change +gpu_temp +cpu_stats +cpu_load_change +cpu_temp +procmem +procmem_shared +fps +fps_color_change +proc_vram +toggle_logging=Shift_L+F2 +toggle_hud_position=Shift_R+F11 +fps_limit_method=late +toggle_fps_limit=Shift_L+F1 +background_alpha=0.5 +position=top-left +toggle_hud=Shift_R+F12 +gpu_color=2e9762 +cpu_color=2e97cb +fps_value=30,60 +fps_color=cc0000,ffaa7f,92e79a +gpu_load_value=60,90 +gpu_load_color=92e79a,ffaa7f,cc0000 +cpu_load_value=60,90 +cpu_load_color=92e79a,ffaa7f,cc0000 +background_color=000000 +frametime_color=00ff00 +vram_color=ad64c1 +ram_color=c26693 +wine_color=eb5b5b +engine_color=eb5b5b +text_color=ffffff +media_player_color=ffffff +network_color=e07b85 +battery_color=92e79a +horizontal_separator_color=ffffff +media_player_format={title};{artist};{album} diff --git a/.config/OpenTabletDriver/Configurations/CTL-4100.json b/.config/OpenTabletDriver/Configurations/CTL-4100.json new file mode 100644 index 0000000..5d2452b --- /dev/null +++ b/.config/OpenTabletDriver/Configurations/CTL-4100.json @@ -0,0 +1,18 @@ +{ + "Name": "Wacom CTL-4100", + "Specifications": { + "Digitizer": { + "Width": 152, + "Height": 95, + "MaxX": 15200, + "MaxY": 9500 + }, + "Pen": { + "MaxPressure": 4095, + "ButtonCount": 2 + }, + "AuxiliaryButtons": { + "ButtonCount": 4 + } + } +} diff --git a/.config/OpenTabletDriver/settings.json b/.config/OpenTabletDriver/settings.json new file mode 100644 index 0000000..dd9cd10 --- /dev/null +++ b/.config/OpenTabletDriver/settings.json @@ -0,0 +1,185 @@ +{ + "Revision": "0.6.6.2", + "Profiles": [ + { + "Tablet": "Wacom CTL-4100", + "OutputMode": { + "Path": "OpenTabletDriver.Desktop.Output.LinuxArtistMode", + "Settings": [], + "Enable": true + }, + "Filters": [], + "AbsoluteModeSettings": { + "Display": { + "Width": 2560.0, + "Height": 1440.0, + "X": 1280.0, + "Y": 720.0, + "Rotation": 0.0 + }, + "Tablet": { + "Width": 152.0, + "Height": 95.0, + "X": 76.0, + "Y": 47.5, + "Rotation": 0.0 + }, + "EnableClipping": true, + "EnableAreaLimiting": false, + "LockAspectRatio": false + }, + "RelativeModeSettings": { + "XSensitivity": 10.0, + "YSensitivity": 10.0, + "RelativeRotation": 0.0, + "RelativeResetDelay": "00:00:00.1000000" + }, + "Bindings": { + "TipActivationThreshold": 1.0, + "TipButton": { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Tip" + } + ], + "Enable": true + }, + "EraserActivationThreshold": 1.0, + "EraserButton": { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Eraser" + } + ], + "Enable": true + }, + "PenButtons": [ + { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Button 1" + } + ], + "Enable": true + }, + { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Button 2" + } + ], + "Enable": true + } + ], + "AuxButtons": [ + null, + null, + null, + null + ], + "MouseButtons": [], + "MouseScrollUp": null, + "MouseScrollDown": null, + "DisablePressure": false, + "DisableTilt": false + } + }, + { + "Tablet": "Wacom CTL-472", + "OutputMode": { + "Path": "OpenTabletDriver.Desktop.Output.AbsoluteMode", + "Settings": [], + "Enable": true + }, + "Filters": [], + "AbsoluteModeSettings": { + "Display": { + "Width": 2560.0, + "Height": 1440.0, + "X": 1280.0, + "Y": 720.0, + "Rotation": 0.0 + }, + "Tablet": { + "Width": 65.0, + "Height": 36.5625, + "X": 119.499985, + "Y": 76.71875, + "Rotation": 0.0 + }, + "EnableClipping": true, + "EnableAreaLimiting": false, + "LockAspectRatio": true + }, + "RelativeModeSettings": { + "XSensitivity": 10.0, + "YSensitivity": 10.0, + "RelativeRotation": 0.0, + "RelativeResetDelay": "00:00:00.1000000" + }, + "Bindings": { + "TipActivationThreshold": 1.0, + "TipButton": { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Tip" + } + ], + "Enable": true + }, + "EraserActivationThreshold": 1.0, + "EraserButton": { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Eraser" + } + ], + "Enable": true + }, + "PenButtons": [ + { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Button 1" + } + ], + "Enable": true + }, + { + "Path": "OpenTabletDriver.Desktop.Binding.AdaptiveBinding", + "Settings": [ + { + "Property": "Binding", + "Value": "Button 2" + } + ], + "Enable": true + } + ], + "AuxButtons": [], + "MouseButtons": [], + "MouseScrollUp": null, + "MouseScrollDown": null, + "DisablePressure": false, + "DisableTilt": false + } + } + ], + "LockUsableAreaDisplay": true, + "LockUsableAreaTablet": true, + "Tools": [] +} \ No newline at end of file diff --git a/.config/alacritty.toml b/.config/alacritty.toml new file mode 100644 index 0000000..64220ea --- /dev/null +++ b/.config/alacritty.toml @@ -0,0 +1,6 @@ +[terminal] +shell = "/bin/zsh" + +[window] +startup_mode = "maximized" +decorations = "none" diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..d714361 --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,3 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables new file mode 100644 index 0000000..ac3b6ad --- /dev/null +++ b/.config/fish/fish_variables @@ -0,0 +1,39 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:3800 +SETUVAR fish_color_autosuggestion:brblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:normal +SETUVAR fish_color_comment:red +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:green +SETUVAR fish_color_error:brred +SETUVAR fish_color_escape:brcyan +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:brcyan +SETUVAR fish_color_param:cyan +SETUVAR fish_color_quote:yellow +SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold +SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack\x1e\x2d\x2dbold +SETUVAR fish_color_selection:white\x1e\x2d\x2dbackground\x3dbrblack\x1e\x2d\x2dbold +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_background:\x1d +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:yellow\x1e\x2di +SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan\x1e\x2d\x2dbold +SETUVAR fish_pager_color_secondary_background:\x1d +SETUVAR fish_pager_color_secondary_completion:\x1d +SETUVAR fish_pager_color_secondary_description:\x1d +SETUVAR fish_pager_color_secondary_prefix:\x1d +SETUVAR fish_pager_color_selected_background:\x2dr +SETUVAR fish_pager_color_selected_completion:\x1d +SETUVAR fish_pager_color_selected_description:\x1d +SETUVAR fish_pager_color_selected_prefix:\x1d diff --git a/.config/hypr/gamemode.sh b/.config/hypr/gamemode.sh index d52a3d1..4b579e8 100755 --- a/.config/hypr/gamemode.sh +++ b/.config/hypr/gamemode.sh @@ -1,7 +1,7 @@ #!/usr/bin/env sh HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') -if [ "$HYPRGAMEMODE" = 1 ] ; then - hyprctl --batch "\ +if [ "$HYPRGAMEMODE" = 1 ]; then + hyprctl --batch "\ keyword animations:enabled 0;\ keyword animation borderangle,0; \ keyword decoration:shadow:enabled 0;\ @@ -11,11 +11,11 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then keyword general:gaps_out 0;\ keyword general:border_size 1;\ keyword decoration:rounding 0" - hyprctl notify 1 5000 "rgb(40a02b)" "Gamemode [ON]" - exit + hyprctl notify 1 5000 "rgb(40a02b)" "Gamemode [ON]" + exit else - hyprctl notify 1 5000 "rgb(d20f39)" "Gamemode [OFF]" - hyprctl reload - exit 0 + hyprctl notify 1 5000 "rgb(d20f39)" "Gamemode [OFF]" + hyprctl reload + exit 0 fi exit 1 diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index c31d3ed..d08b8dc 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,71 +1,66 @@ -# Setup monitors -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-3, 2560x1440@165, auto, 1, bitdepth, 10 +# monitor=DP-3, 2560x1440@60, 0x0, 1, bitdepth, 10, cm, srgb +monitor=DP-3, 2560x1440@165, 0x0, 1, bitdepth, 10, cm, srgb + +$terminal = kitty +$fileManager = thunar +$menu = rofi -show drun +$lockingTool = hyprlock +$screenshotTool = hyprshot --mode region --output-folder /media/hd/clouds/nextcloud-pudim/home/pictures/screenshots --freeze --silent # --filename -exec-once = ~/.config/hypr/xdg-portal-hyprland -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 = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = waybar -exec-once = blueman-applet -exec-once = nm-applet --indicator -# exec-once = steam -# exec-once = equibop -# exec-once = ayugram -exec = swaybg -m fill -i ~/.config/hypr/moon-over-mondstat.jpg -exec = swaync -exec = wl-gammarelay +exec-once = hyprpaper +exec-once = gammastep -O 4000 -input { - kb_layout = br - kb_variant = abnt2 - kb_options = caps:swapescape +exec-once = [workspace 1 silent] kitty +exec-once = [workspace 2 silent] spotify +exec-once = [workspace 3 silent] equibop +exec-once = [workspace 4 silent] AyuGram +exec-once = [workspace 5 silent] obsidian +exec-once = [workspace 6 silent] keepassxc +exec-once = [workspace 7 silent] steam +exec-once = [workspace 8 silent] chromium --password-store=basic - repeat_rate = 50 - repeat_delay = 300 +# windowrulev2 = workspace 1, class:(kitty) +# windowrulev2 = workspace 2, class:(chromium|spotify) +windowrulev2 = workspace 3 silent, class:(equibop) +# windowrulev2 = workspace 4, class:(com.ayugram.desktop) +# windowrulev2 = workspace 5, class:(obsidian) +# windowrulev2 = workspace 6, class:(org.keepassxc.KeePassXC) +windowrulev2 = workspace 7 silent, class:(steam) +# windowrulev2 = workspace 8, class:(.*chromium) - follow_mouse = false - - sensitivity = 0 - - accel_profile = flat - - touchpad { - natural_scroll = true - } -} +# https://wiki.hypr.land/Configuring/Environment-variables/ +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 +# https://wiki.hypr.land/Configuring/Variables/#general general { gaps_in = 5 - # gaps_out = 20 gaps_out = 10 + border_size = 2 - # border_size = 1 - # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - # col.active_border= rgb(cdd6f4) - # col.inactive_border = rgba(595959aa) - resize_on_border = true + # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) - allow_tearing = true + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on + allow_tearing = false layout = dwindle } -misc { - disable_hyprland_logo = yes -} - +# https://wiki.hypr.land/Configuring/Variables/#decoration decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - rounding = 10 + rounding_power = 2 - blur { - enabled = true - size = 3 - passes = 1 - } + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 shadow { enabled = true @@ -73,94 +68,130 @@ decoration { render_power = 3 color = rgba(1a1a1aee) } + + # https://wiki.hypr.land/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } } +# https://wiki.hypr.land/Configuring/Variables/#animations animations { enabled = yes - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves + # NAME, X0, Y0, X1, Y1 + 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 + bezier = quick, 0.15, 0, 0.1, 1 - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default + # Default animations, see https://wiki.hypr.land/Configuring/Animations/ + # NAME, ONOFF, SPEED, CURVE, [STYLE] + 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 + animation = workspacesIn, 1, 1.21, easeOutQuint, slide + animation = workspacesOut, 1, 1.94, easeOutQuint, slide + animation = zoomFactor, 1, 7, quick } +# Ref https://wiki.hypr.land/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 +# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrule = rounding 0, floating:0, onworkspace:w[tv1] +# windowrule = bordersize 0, floating:0, onworkspace:f[1] +# windowrule = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this + 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.hypr.land/Configuring/Master-Layout/ for more master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = true + new_status = master } -# gestures { -# # See https://wiki.hyprland.org/Configuring/Variables/ for more -# workspace_swipe = true -# workspace_swipe_min_fingers = true -# } -gesture = 3, horizontal, workspace +# https://wiki.hypr.land/Configuring/Variables/#misc +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true -binds { - allow_workspace_cycles = true + vrr = 1 } +############# +### INPUT ### +############# -# Example windowrule v1 -# windowrulev2 = float, class:^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# rules below would make the specific app transparent +# https://wiki.hypr.land/Configuring/Variables/#input +input { + kb_layout = br + kb_variant = abnt2 + # kb_options = caps:swapescape + numlock_by_default = true -# previous windowrule (i have no idea why it caused issues to keep them as v1) -# windowrulev2 = float, class:^(pavucontrol)$ -# windowrulev2 = float, class:^(nm-connection-editor)$ -# windowrulev2 = float, class:^(chromium)$ -# windowrulev2 = float, class:^(thunar)$ -# windowrulev2 = float, title:^(btop)$ -# windowrulev2 = opacity 0.95 0.6, class:^(kitty)$ -# windowrulev2 = animation popin, class:^(kitty)$, title:^(Aggiornamenti)$ -# windowrulev2 = animation popin, class:^(thunar)$ -# windowrulev2 = opacity 0.95 0.8, class:^(thunar)$ -# windowrulev2 = opacity 0.95 0.8, class:^(VSCodium)$ -# windowrulev2 = opacity 0.95 0.6, animation popin, class:^(Chromium)$ -windowrulev2 = move cursor -3% -105%, class:^(rofi)$ -windowrulev2 = noanim, class:^(rofi)$ -windowrulev2 = opacity 0.95 0.8, class:^(rofi)$ + repeat_rate = 25 + repeat_delay = 250 -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER + follow_mouse = 1 -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, alacritty # Open the terminal -bind = $mainMod, W, killactive, # Close the active window -bind = $mainMod ALT, L, exec, swaylock # Lock the screen -bind = $mainMod ALT, K, exec, wlogout -b 6 -T 400 -B 400 --protocol layer-shell # Show the logout window -bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland) -bind = $mainMod, V, togglefloating, # Allow a window to float -bind = $mainMod, R, exec, rofi -show drun # Show the graphicall app launcher -bind = $mainMod, P, pseudo, # Toggle pseudo-split -bind = $mainMod, J, togglesplit, # Toggle split -# bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f -# Take a screenshot -bind = $mainMod, S, exec, grimblast --freeze copysave area /media/hd/clouds/nextcloud-pudim/home/pictures/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png - # Take a screenshot -# bind = $mainMod SHIFT, B, exec, ~/.config/waybar/scripts/launch.sh # Reload waybar -bind = $mainMod SHIFT, B, exec, ~/.config/waybar/scripts/reload-waybar.sh # Reload waybar -bind = $mainMod SHIFT, N, exec, hyprctl reload # Reload waybar + sensitivity = 0 + + accel_profile = flat + + touchpad { + natural_scroll = false + } +} + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hypr.land/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, W, killactive, +# bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, bind = $mainMod, F, fullscreen +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod ALT, L, exec, $lockingTool +bind = $mainMod, S, exec, $screenshotTool -# Changing Screen Temperature with wl-gammarelay -bind= $mainMod CTRL, 0, exec,busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 6500 -bind= $mainMod CTRL, Down, exec,busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n -500 -bind= $mainMod CTRL, Up, exec,busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n +500 +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/scripts/reload-waybar.sh +bind = $mainMod SHIFT, N, exec, hyprctl reload # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l @@ -168,13 +199,12 @@ bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d -# Move focus with mainMod + VIM motions +# Move focus with mainMod + VIM motion keys unbind = $mainMod, J -unbind = $mainMod, K bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r bind = $mainMod, j, movefocus, d bind = $mainMod, k, movefocus, u +bind = $mainMod, l, movefocus, r # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 @@ -188,18 +218,9 @@ bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 -# Move active window to a workspace on the left or on the right of the current workspace -bind = $mainMod SHIFT, right, movetoworkspace, +1 -bind = $mainMod SHIFT, left, movetoworkspace, -1 - -unbind = $mainMod SHIFT, J -unbind = $mainMod SHIFT, K -bind = $mainMod SHIFT, h, movetoworkspace, -1 -bind = $mainMod SHIFT, l, movetoworkspace, +1 - -# Switch current workspace to the workspace on the left or on the right of the current workspace -bind = CTRL ALT, right, workspace, +1 +# Same but with CTRL + ALT + arrow keys bind = CTRL ALT, left, workspace, -1 +bind = CTRL ALT, right, workspace, +1 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 @@ -213,21 +234,50 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 +# Move active window to the workspace on left or right with mainMod + SHIFT + arrow keys +bind = $mainMod SHIFT, left, movetoworkspace, -1 +bind = $mainMod SHIFT, right, movetoworkspace, +1 + +# Same but with mainMod + SHIFT + VIM motion keys +bind = $mainMod SHIFT, h, movetoworkspace, -1 +bind = $mainMod SHIFT, l, movetoworkspace, +1 + # Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod ALT, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, +1 -bind = $mainMod, mouse_up, workspace, -1 +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 -# Customs - -bind = WIN, F1, exec, ~/.config/hypr/gamemode.sh -bind = $mainMod SHIFT, B, exec, ~/.config/waybar/scripts/launch.sh +bind = $mainMod, F1, exec, ~/.config/hypr/gamemode.sh # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow +# 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.hypr.land/Configuring/Window-Rules/ for more +# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule +# windowrule = float,class:^(kitty)$,title:^(kitty)$ + +# Ignore maximize requests from apps. You'll probably like this. windowrule = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 + +# windowrulev2 = immediate yes, class:^(steam_app_.*)$ +# windowrulev2 = immediate yes, class:^(osu!|osu-lazer)$ +# windowrulev2 = immediate yes, class:^(Minecraft|minecraft|java|org.lwjgl.glfw)$ diff --git a/.config/hypr/hyprland.conf.old b/.config/hypr/hyprland.conf.old new file mode 100644 index 0000000..1ef2a39 --- /dev/null +++ b/.config/hypr/hyprland.conf.old @@ -0,0 +1,191 @@ +monitor=DP-3, 2560x1440@165, auto, auto, bitdepth, 10 + +$terminal = alacritty +$fileManager = thunar +$menu = rofi -show drun -sorting-method fzf + +exec-once = $terminal +exec-once = waybar + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + resize_on_border = false + + allow_tearing = false + + layout = dwindle +} + +decoration { + rounding = 10 + rounding_power = 2 + + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +animations { + enabled = yes + + # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves + # NAME, X0, Y0, X1, Y1 + 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 + bezier = quick, 0.15, 0, 0.1, 1 + + # Default animations, see https://wiki.hypr.land/Configuring/Animations/ + # NAME, ONOFF, SPEED, CURVE, [STYLE] + 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 + animation = zoomFactor, 1, 7, quick +} + +dwindle { + pseudotile = false + preserve_split = true +} + +master { + new_status = master +} + +# https://wiki.hypr.land/Configuring/Variables/#misc +misc { + force_default_wallpaper = false + disable_hyprland_logo = true +} + + +input { + kb_layout = br + kb_variant = abnt2 + kb_options = caps:swapescape + + repeat_rate = 30 + repeat_delay = 250 + + follow_mouse = 1 + + sensitivity = 0 + + accel_profile = flat + + touchpad { + natural_scroll = false + } +} + +$mainMod = SUPER + +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, W, killactive, +# bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, F, fullscreen +bind = $mainMod, R, exec, $menu + +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Move focus with mainMod + VIM motions +unbind = $mainMod, J +unbind = $mainMod, K +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, j, movefocus, d +bind = $mainMod, k, movefocus, u + +# 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 on the left or on the right of the current workspace +bind = $mainMod SHIFT, right, movetoworkspace, +1 +bind = $mainMod SHIFT, left, movetoworkspace, -1 + +unbind = $mainMod SHIFT, J +unbind = $mainMod SHIFT, K +bind = $mainMod SHIFT, h, movetoworkspace, -1 +bind = $mainMod SHIFT, l, movetoworkspace, +1 + +# Switch current workspace to the workspace on the left or on the right of the current workspace +bind = CTRL ALT, right, workspace, +1 +bind = CTRL ALT, left, workspace, -1 + +# 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 + +# Customs + +bind = WIN, F1, exec, ~/.config/hypr/gamemode.sh +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/scripts/reload-waybar.sh + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..8b61b56 --- /dev/null +++ b/.config/hypr/hyprlock.conf @@ -0,0 +1,140 @@ +source = /home/justin/.cache/wal/colors-hyprland.conf + +# BACKGROUND +background { + monitor = + #path = screenshot + path = /home/justin/Pictures/wal.png + #color = $background + blur_passes = 2 + contrast = 1 + brightness = 0.5 + vibrancy = 0.2 + vibrancy_darkness = 0.2 +} + +# GENERAL +general { + no_fade_in = true + no_fade_out = true + hide_cursor = false + grace = 0 + disable_loading_bar = true +} + +# INPUT FIELD +input-field { + monitor = + size = 250, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(0, 0, 0, 0.2) + font_color = $foreground + fade_on_empty = false + rounding = -1 + check_color = rgb(204, 136, 34) + placeholder_text = Input Password... + hide_input = false + position = 0, -200 + halign = center + valign = center +} + +# DATE +label { + monitor = + text = cmd[update:1000] date +"%A, %B %d" + color = rgba(242, 243, 244, 0.75) + font_size = 22 + font_family = JetBrains Mono + position = 0, 300 + halign = center + valign = center +} + +# TIME +label { + monitor = + text = cmd[update:1000] echo "$(date +"%-I:%M")" + color = rgba(242, 243, 244, 0.75) + font_size = 95 + font_family = JetBrains Mono Extrabold + position = 0, 200 + halign = center + valign = center +} + + + +# Profile Picture +image { + monitor = + path = /home/justin/Pictures/profile_pictures/justin_square.png + size = 100 + border_size = 2 + border_color = $foreground + position = 0, -100 + halign = center + valign = center +} + +# Desktop Environment +image { + monitor = + path = /home/justin/Pictures/profile_pictures/hypr.png + size = 75 + border_size = 2 + border_color = $foreground + position = -50, 50 + halign = right + valign = bottom +} + +# CURRENT SONG +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/whatsong.sh)" + color = $foreground + #color = rgba(255, 255, 255, 0.6) + font_size = 18 + font_family = Metropolis Light, Font Awesome 6 Free Solid + position = 0, 50 + halign = center + valign = bottom +} + +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/whoami.sh)" + color = $foreground + font_size = 14 + font_family = JetBrains Mono + position = 0, -10 + halign = center + valign = top +} + +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/battery.sh)" + color = $foreground + font_size = 24 + font_family = JetBrains Mono + position = -90, -10 + halign = right + valign = top +} + +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/network-status.sh)" + color = $foreground + font_size = 24 + font_family = JetBrains Mono + position = -20, -10 + halign = right + valign = top +} diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..4b4fb1e --- /dev/null +++ b/.config/hypr/hyprpaper.conf @@ -0,0 +1,12 @@ +$wallpapersFolderPath = /media/hd/clouds/nextcloud-pudim/home/pictures/wallpapers +$yourNameWallpaper = $wallpapersFolderPath/fjhlur2tvml31.png +$snorlaxWallpaperPath = $wallpapersFolderPath/PKMNCC_PlayRoom.png +$viperWallpaperPath = $wallpapersFolderPath/viper wp 2 darker.png +$foolWallpaperPath = $wallpapersFolderPath/wallpapersden.com_a-fool-moon-night-space-traveler-art_1920x1080.jpg + +$wallpaper = $foolWallpaperPath + +wallpaper { + preload = $wallpaper + wallpaper = DP-3, $wallpaper +} diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 0000000..2308443 --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,14 @@ +include ./mocha.conf +font_family fira code font +font_size 15 +bold_font auto +italic_font auto +bold_italic_font auto +mouse_hide_wait 2.0 +cursor_shape block +url_color #0087bd +url_style dotted +#Close the terminal without confirmation +confirm_os_window_close 0 +#background_opacity 0.3 +#background_blur 0 diff --git a/.config/kitty/mocha.conf b/.config/kitty/mocha.conf new file mode 100644 index 0000000..706d0e6 --- /dev/null +++ b/.config/kitty/mocha.conf @@ -0,0 +1,80 @@ +# vim:ft=kitty + +## name: Catppuccin-Mocha +## author: Pocco81 (https://github.com/Pocco81) +## license: MIT +## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf +## blurb: Soothing pastel theme for the high-spirited! + + + +# The basic colors commented values for blur +#foreground #CDD6F4 +#background #1E1E2E +#selection_foreground #1E1E2E +#selection_background #F5E0DC + +# Cursor colors +cursor #F5E0DC +cursor_text_color #1E1E2E + +# URL underline color when hovering with mouse +url_color #F5E0DC + +# Kitty window border colors +active_border_color #B4BEFE +inactive_border_color #6C7086 +bell_border_color #F9E2AF + +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Tab bar colors +# active_tab_foreground #11111B +# active_tab_background #CBA6F7 +# inactive_tab_foreground #CDD6F4 +# inactive_tab_background #181825 +# tab_bar_background #11111B + +# Colors for marks (marked text in the terminal) +# mark1_foreground #1E1E2E +# mark1_background #B4BEFE +# mark2_foreground #1E1E2E +# mark2_background #CBA6F7 +# mark3_foreground #1E1E2E +# mark3_background #74C7EC + +# The 16 terminal colors + +# black +color0 #45475A +color8 #585B70 + +# red +color1 #F38BA8 +color9 #F38BA8 + +# green +color2 #A6E3A1 +color10 #A6E3A1 + +# yellow +color3 #F9E2AF +color11 #F9E2AF + +# blue +color4 #89B4FA +color12 #89B4FA + +# magenta +color5 #F5C2E7 +color13 #F5C2E7 + +# cyan +color6 #94E2D5 +color14 #94E2D5 + +# white +color7 #BAC2DE +color15 #A6ADC8 diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/.config/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/.config/nvim/.neoconf.json b/.config/nvim/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/.config/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/.config/nvim/LICENSE b/.config/nvim/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/.config/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/.config/nvim/README.md b/.config/nvim/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/.config/nvim/README.md @@ -0,0 +1,4 @@ +# đŸ’€ LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..2514f9e --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..91ec7e2 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,37 @@ +{ + "LazyVim": { "branch": "main", "commit": "28db03f958d58dfff3c647ce28fdc1cb88ac158d" }, + "blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "catppuccin": { "branch": "main", "commit": "ce8d176faa4643e026e597ae3c31db59b63cef09" }, + "conform.nvim": { "branch": "master", "commit": "5420c4b5ea0aeb99c09cfbd4fd0b70d257b44f25" }, + "cord.nvim": { "branch": "master", "commit": "7483e9ce335d22a9e52f83804134d621094b5fe7" }, + "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "fzf-lua": { "branch": "main", "commit": "b1d2b0dc146cb9260209da4d7ab754adb0a2653d" }, + "gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" }, + "grug-far.nvim": { "branch": "main", "commit": "74eef260e1142264ab994fb9c88e4f420e9486d7" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "9f9c67795d0795a6e8612f5a899ca64a074a1076" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "mini.ai": { "branch": "main", "commit": "bfb26d9072670c3aaefab0f53024b2f3729c8083" }, + "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" }, + "mini.pairs": { "branch": "main", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" }, + "neo-tree.nvim": { "branch": "main", "commit": "b0b73273b4f5a1f4b4aac8accd6e0c3b4b5a6967" }, + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-lint": { "branch": "master", "commit": "1f19dacd945a7b1a57f29f32b2d7168384df3d36" }, + "nvim-lspconfig": { "branch": "master", "commit": "8973916a3d015d65a8c4614e141f4270a713cf33" }, + "nvim-treesitter": { "branch": "main", "commit": "6e42d823ce0a5a76180c473c119c7677738a09d1" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "f7122acf1bd2c9e4626651ad33bf5944be9d9392" }, + "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, + "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } +} diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json new file mode 100644 index 0000000..3ccd6a7 --- /dev/null +++ b/.config/nvim/lazyvim.json @@ -0,0 +1,10 @@ +{ + "extras": [ + + ], + "install_version": 7, + "news": { + "NEWS.md": "11866" + }, + "version": 8 +} \ No newline at end of file diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..4221e75 --- /dev/null +++ b/.config/nvim/lua/config/autocmds.lua @@ -0,0 +1,8 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- +-- Add any additional autocmds here +-- with `vim.api.nvim_create_autocmd` +-- +-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults) +-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell") diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..d73bfa1 --- /dev/null +++ b/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,53 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { + enabled = true, -- check for plugin updates periodically + notify = false, -- notify on update + }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua new file mode 100644 index 0000000..9cc496a --- /dev/null +++ b/.config/nvim/lua/config/options.lua @@ -0,0 +1,5 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here + +vim.g.snacks_animate = false diff --git a/.config/nvim/lua/plugins/cord.lua b/.config/nvim/lua/plugins/cord.lua new file mode 100644 index 0000000..4d209c7 --- /dev/null +++ b/.config/nvim/lua/plugins/cord.lua @@ -0,0 +1,14 @@ +return { + { + "vyfor/cord.nvim", + build = ":Cord update", + opts = { + -- log_level = "trace", + text = { + editing = function(opts) + return string.format("Editing %s", opts.filename, opts.cursor_line, opts.cursor_char) + end, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..17f53d6 --- /dev/null +++ b/.config/nvim/lua/plugins/example.lua @@ -0,0 +1,197 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + table.insert(opts.sources, { name = "emoji" }) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").lsp.on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, { + function() + return "😄" + end, + }) + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..cb116f7 --- /dev/null +++ b/.config/nvim/lua/plugins/mason.lua @@ -0,0 +1,15 @@ +return { + "mason-org/mason.nvim", + opts = { + opts_extend = { "ensure_installed" }, + ensure_installed = { + "lua-language-server", + "bash-language-server", + "shellcheck", + "shfmt", + "stylua", + "groovy-language-server", + "npm-groovy-lint", + }, + }, +} diff --git a/.config/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/plugins/neotree.lua new file mode 100644 index 0000000..6959f04 --- /dev/null +++ b/.config/nvim/lua/plugins/neotree.lua @@ -0,0 +1,21 @@ +return { + { + "nvim-neo-tree/neo-tree.nvim", + opts = { + filesystem = { + filtered_items = { + visible = true, + show_hidden_count = true, + hide_dotfiles = false, + hide_gitignored = true, + hide_by_name = { + -- '.git', + -- '.DS_Store', + -- 'thumbs.db', + }, + never_show = {}, + }, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/noice.lua b/.config/nvim/lua/plugins/noice.lua new file mode 100644 index 0000000..919ae86 --- /dev/null +++ b/.config/nvim/lua/plugins/noice.lua @@ -0,0 +1,11 @@ +return { + { + "folke/noice.nvim", + opts = { + cmdline = { + enabled = true, + view = "cmdline", + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/snacks.lua b/.config/nvim/lua/plugins/snacks.lua new file mode 100644 index 0000000..bbca05c --- /dev/null +++ b/.config/nvim/lua/plugins/snacks.lua @@ -0,0 +1,18 @@ +return { + "folke/snacks.nvim", + opts = { + bigfile = {}, + picker = { + sources = { + files = { + hidden = true, + ignored = false, + }, + grep = { + hidden = true, + ignored = false, + }, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/which-key.lua b/.config/nvim/lua/plugins/which-key.lua new file mode 100644 index 0000000..c5a571a --- /dev/null +++ b/.config/nvim/lua/plugins/which-key.lua @@ -0,0 +1,9 @@ +return { + "folke/which-key.nvim", + event = "VeryLazy", + opts = { + delay = function(ctx) + return ctx.plugin and 0 or 5 + end, + }, +} diff --git a/.config/nvim/stylua.toml b/.config/nvim/stylua.toml new file mode 100644 index 0000000..5d6c50d --- /dev/null +++ b/.config/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/.config/scopebuddy/AppID/1384160.conf b/.config/scopebuddy/AppID/1384160.conf new file mode 100644 index 0000000..f85d10c --- /dev/null +++ b/.config/scopebuddy/AppID/1384160.conf @@ -0,0 +1,5 @@ +# guilty gear strive +# SCB_GAMESCOPE_ARGS="-f -w 1920 -h 1080 -W 2560 -H 1440 -r 165 --adaptive-sync --force-grab-cursor" +# SCB_GAMESCOPE_ARGS="-f -w 1920 -h 1080 -W 2560 -H 1440 -r 165 --adaptive-sync" +# SCB_GAMESCOPE_ARGS="-f -w 1920 -h 1080 -W 2560 -H 1440 -r 165 --adaptive-sync" +# SCB_GAMESCOPE_ARGS+="-r 60 " diff --git a/.config/scopebuddy/AppID/2357570.conf b/.config/scopebuddy/AppID/2357570.conf new file mode 100644 index 0000000..181fc87 --- /dev/null +++ b/.config/scopebuddy/AppID/2357570.conf @@ -0,0 +1,4 @@ +# overwatch 2 +# SCB_GAMESCOPE_ARGS+="--filter fsr --fsr-sharpness 20" +# SCB_GAMESCOPE_ARGS+="--force-grab-cursor" +# SCB_GAMESCOPE_ARGS="-f -w 1920 -h 1080 -W 2560 -H 1440 --filter fsr --fsr-sharpness 20 -r 165" diff --git a/.config/scopebuddy/AppID/381210.conf b/.config/scopebuddy/AppID/381210.conf new file mode 100644 index 0000000..d2bdd0a --- /dev/null +++ b/.config/scopebuddy/AppID/381210.conf @@ -0,0 +1,2 @@ +# dead by daylight +# SCB_GAMESCOPE_ARGS+="--filter fsr --fsr-sharpness 20" diff --git a/.config/scopebuddy/noscope.conf b/.config/scopebuddy/noscope.conf new file mode 100644 index 0000000..f182123 --- /dev/null +++ b/.config/scopebuddy/noscope.conf @@ -0,0 +1,35 @@ +# This is the config file that let's you assign defaults for gamescope when using the scopebuddy script +# lines starting with # are ignored +# Conf files matching the games Steam AppID stored in ~/.conf/scopebuddy/AppID/ will be sourced after +# ~/.config/scopebuddy/scb.conf or whichever file you specify with SCB_CONF=someotherfile.conf env var in the launch options. +# +# Example for always exporting specific environment variables for gamescope +#export XKB_DEFAULT_LAYOUT=no +#export MANGOHUD_CONFIG=preset=2 +# +# Example for providing default gamescope arguments through scopebuddy if no arguments are given to the scopebuddy script, this does not need to be exported. +# To not use this default set of arguments, just launch scb with SCB_NOSCOPE=1 or just add any gamescope argument before the '-- %command%' then this variable will be ignored +#SCB_GAMESCOPE_ARGS="--mangoapp -f -w 2560 -h 1440 -W 2560 -H 1440 -r 180 --force-grab-cursor --hdr-enabled -e" +# +# To auto-detect display width, height, refresh, VRR and HDR states, you can use SCB_AUTO_* {RES|HDR|VRR} +# These vars will override any previously set values for -W and -H or append --hdr-enabled and --adaptive-sync +# automatically depending on the current settings for your active display, or the display chosen with -O / +# --prefer-output flags in gamescope. This works on both KDE (via kscreen-doctor) and GNOME (via gdctl). +#SCB_AUTO_RES=1 +#SCB_AUTO_HDR=1 +#SCB_AUTO_VRR=1 +# For GNOME users: you can use either gdctl or gnome-randr for auto-detection +# gdctl requires upstream version with --format=json support (will be tested automatically) +# gnome-randr will be used as fallback if gdctl test fails +# To specify a custom gdctl build (must support 'gdctl show --format=json'): +#export GDCTL_COMMAND="$HOME/.local/bin/gdctl-mr4708" +# To debug scopebuddy output, uncomment the following line. After launching games, the executed cmd will be output to ~/.config/scopebuddy/scopebuddy.log +#SCB_DEBUG=1 +### +## FOR ADVANCED USE INSIDE AN APPID CONFIG +### +# The config files are treated as a bash script by scopebuddy, this means you can use bash to do simple tasks before the game runs +# or you can check which mode scopebuddy is running in and apply settings accordingly, below are some handy variables for scripting. +# $SCB_NOSCOPE will be set to 1 if we are running in no gamescope mode +# $SCB_GAMEMODE will be set to 1 if we are running inside steam gamemode (which means SCB_NOSCOPE will also be set to 1 due to nested gamescope not working in gamemode) +# $command will contain everything steam expanded %command% into diff --git a/.config/scopebuddy/scb.conf b/.config/scopebuddy/scb.conf new file mode 100644 index 0000000..902b703 --- /dev/null +++ b/.config/scopebuddy/scb.conf @@ -0,0 +1,11 @@ +# export SCB_AUTO_VRR=1 +# export WINE_FULLSCREEN_FSR=1 # GloriousEggroll/proton-ge-custom +# export PROTON_ENABLE_WAYLAND=1 +# export ENABLE_GAMESCOPE_WSI=0 +# export GAMESCOPE_DISABLE_ASYNC_FLIPS=0 +# export XDG_DEFAULT_LAYOUT=no +export SCB_GAMEMODE=1 + +# SCB_GAMESCOPE_ARGS="-f -w 1920 -h 1080 -W 2560 -H 1440 -F fsr --fsr-sharpness 5 -r 165 " +# SCB_GAMESCOPE_ARGS="-f -w 2560 -h 1440 -r 165 --mangoapp " +# SCB_GAMESCOPE_ARGS="-w 1920 -h 1080 -W 2560 -H 1440 " diff --git a/.config/waybar/modules.jsonc b/.config/waybar/modules.jsonc index 7357abc..759da28 100644 --- a/.config/waybar/modules.jsonc +++ b/.config/waybar/modules.jsonc @@ -5,7 +5,7 @@ "(.*) - Chromium": " $1", "(.*) - Discord": " $1", "(.*) - Thunar": "îȘƒ $1", - "Alacritty": " Alacritty", + "class": " Terminal", "AyuGram": " Telegram", "Steam": " Steam", "WhatsDesk": "ïˆČ WhatsDesk", @@ -27,8 +27,8 @@ }, "window-rewrite": { "WhatsDesk": "ïˆČ ", - "class": " ", - "class": " ", + "class": " ", + "class<.*chromium>": " ", "class": " ", "class": " ", "class": "ï‡ż ", @@ -39,6 +39,7 @@ "class": " ", "class": " ", "class": "󰊗 ", + "class": "󰊗 ", "title": "󰊗 ", "title<.*YouTube Music>": " ", "title<.*YouTube>": "ï…Ș ", diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 36ddc52..8f7d979 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -119,7 +119,7 @@ window#waybar.empty #window { #clock { border-radius: 18px; color: #fab387; - margin-right: 10px; + margin-right: 5px; } /* RIGHT MODULES */ @@ -150,6 +150,6 @@ window#waybar.empty #window { } #custom-swaync { - border-radius: 0px 18px 18px 0px; + border-radius: 18px; margin-right: 5px; } diff --git a/alacritty.toml b/alacritty.toml new file mode 120000 index 0000000..bcc4d11 --- /dev/null +++ b/alacritty.toml @@ -0,0 +1 @@ +.config/alacritty.toml \ No newline at end of file