diff --git a/.bashrc-path b/.bashrc-path index 1c3d88e..6ec8916 100644 --- a/.bashrc-path +++ b/.bashrc-path @@ -1,5 +1,7 @@ #!/bin/bash +export PATH="$HOME/.local/bin:$PATH" + # bun export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH" @@ -12,3 +14,7 @@ export NVM_DIR="$HOME/.nvm" # dotnet export DOTNET_ROOT="$HOME/.dotnet" export PATH="$DOTNET_ROOT:$PATH" + +export PATH="$HOME/repos/nub-lang/compiler/NubLang.CLI/bin/Debug/net9.0:$PATH" +export PATH="$HOME/repos/nub-lang/compiler/NubLang.LSP/bin/Debug/net9.0:$PATH" + diff --git a/.config/hypr/bindings.conf b/.config/hypr/bindings.conf deleted file mode 100644 index e9bcdb6..0000000 --- a/.config/hypr/bindings.conf +++ /dev/null @@ -1,77 +0,0 @@ -# https://wiki.hyprland.org/Configuring/Binds/ - -$terminal = ghostty -$files = thunar -$menu = rofi -show drun -config ~/.config/rofi/config.rasi -$browser = brave -$code = code -$lock = hyprlock -$color_picker = hyprpicker -a -f hex -r -n -q -$screenshot = slurp | grim -g - - | wl-copy - -$mainMod = SUPER - -# Programs -bind = $mainMod, E, exec, $files -bind = $mainMod, R, exec, $menu -bind = $mainMod, B, exec, $browser -bind = $mainMod, L, exec, $lock -bind = $mainMod, C, exec, $code -bind = $mainMod SHIFT, C, exec, $color_picker -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod SHIFT, E, exit -bind = $mainMod SHIFT, S, exec, $screenshot - -# Window control -bind = $mainMod, Q, killactive, -bind = $mainMod SHIFT, E, exit, -bind = $mainMod, W, togglefloating, -bind = $mainMod, F, fullscreen, - -# 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 - -plugin { - split-monitor-workspaces { - count = 3 - keep_focused = 0 - enable_notifications = 1 - enable_persistent_workspaces = 1 - } -} - -$mainMod = SUPER -# Switch workspaces with mainMod + [0-5] -bind = $mainMod, 1, split-workspace, 1 -bind = $mainMod, 2, split-workspace, 2 -bind = $mainMod, 3, split-workspace, 3 -bind = $mainMod, 4, split-workspace, 4 -bind = $mainMod, 5, split-workspace, 5 - -# Move active window to a workspace with mainMod + SHIFT + [0-5] -bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 -bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 -bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 -bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 -bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 - -# 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 -l 1 @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 \ No newline at end of file diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 1957d74..234da8a 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,49 +1,42 @@ # https://wiki.hyprland.org/Configuring/ -source = bindings.conf -source = input.conf source = monitors.conf -source = rules.conf $scritps = ~/.config/hypr/scripts exec-once = mako & exec-once = nm-applet & exec-once = waybar & -exec-once = hyprpm reload -n exec-once = hyprpaper -exec-once = sleep 1 && $scritps/random_wallpaper.sh exec-once = systemctl --user start hyprpolkitagent +exec-once = hyprpm reload -n +exec-once = sleep 1 && $scritps/random_wallpaper.sh + env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_THEME,Bibata-Modern-Ice general { - # https://wiki.hyprland.org/Configuring/Variables/#general gaps_in = 5 gaps_out = 10 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) - # https://wiki.hyprland.org/Configuring/Tearing allow_tearing = true layout = dwindle } decoration { - # https://wiki.hyprland.org/Configuring/Variables/#decoration rounding = 10 rounding_power = 2 active_opacity = 1.0 inactive_opacity = 1.0 - # https://wiki.hyprland.org/Configuring/Variables/#shadow shadow { enabled = true range = 4 @@ -51,7 +44,6 @@ decoration { color = rgba(1a1a1aee) } - # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = false size = 3 @@ -62,47 +54,165 @@ decoration { } animations { - # https://wiki.hyprland.org/Configuring/Variables/#animations enabled = false - - # https://wiki.hyprland.org/Configuring/Animations - 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 } -# https://wiki.hyprland.org/Configuring/Dwindle-Layout dwindle { pseudotile = true preserve_split = true } -# https://wiki.hyprland.org/Configuring/Master-Layout master { new_status = master } -# https://wiki.hyprland.org/Configuring/Variables/#misc -misc { - force_default_wallpaper = 2 # 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. :( +# https://wiki.hyprland.org/Configuring/Variables/#input + +input { + kb_layout = us,no + kb_options = grp:win_space_toggle + kb_variant = + kb_model = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + accel_profile = flat + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Binds/ + +$terminal = ghostty +$files = thunar +$menu = hyprlauncher +$browser = librewolf +$code = code +$lock = hyprlock +$colorPicker = hyprpicker -a -f hex -r -n -q +$screenshot = slurp | grim -g - - | wl-copy + +$mainMod = SUPER + +# Programs +bind = $mainMod, E, exec, $files +bind = $mainMod, R, exec, $menu +bind = $mainMod, B, exec, $browser +bind = $mainMod, L, exec, $lock +bind = $mainMod, C, exec, $code +bind = $mainMod SHIFT, C, exec, $colorPicker +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod SHIFT, E, exit +bind = $mainMod SHIFT, S, exec, $screenshot + +# Window control +bind = $mainMod, Q, killactive, +bind = $mainMod SHIFT, E, exit, +bind = $mainMod, W, togglefloating, +bind = $mainMod, F, fullscreen, + +# 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 + +plugin { + split-monitor-workspaces { + count = 3 + keep_focused = 0 + enable_notifications = 1 + enable_persistent_workspaces = 1 + } +} + +$mainMod = SUPER +# Switch workspaces with mainMod + [0-5] +bind = $mainMod, 1, split-workspace, 1 +bind = $mainMod, 2, split-workspace, 2 +bind = $mainMod, 3, split-workspace, 3 +bind = $mainMod, 4, split-workspace, 4 +bind = $mainMod, 5, split-workspace, 5 + +# Move active window to a workspace with mainMod + SHIFT + [0-5] +bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 +bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 +bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 +bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 +bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 + +# 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 -l 1 @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 + +workspace = w[tv1], gapsout:0, gapsin:0 +workspace = f[1], gapsout:0, gapsin:0 + +# https://wiki.hypr.land/Configuring/Window-Rules/ + +windowrule { + name = no-gaps-wtv1 + match:float = false + match:workspace = w[tv1] + + border_size = 0 + rounding = 0 +} + +windowrule { + name = no-gaps-f1 + match:float = false + match:workspace = f[1] + + border_size = 0 + rounding = 0 +} + +windowrule { + # Ignore maximize requests from all apps. You'll probably like this. + name = suppress-maximize-events + match:class = .* + + suppress_event = maximize +} + +windowrule { + # Fix some dragging issues with XWayland + name = fix-xwayland-drags + match:class = ^$ + match:title = ^$ + match:xwayland = true + match:float = true + match:fullscreen = false + match:pin = false + + no_focus = true +} + +# Hyprland-run windowrule +windowrule { + name = move-hyprland-run + + match:class = hyprland-run + + move = 20 monitor_h-120 + float = yes } \ No newline at end of file diff --git a/.config/hypr/hyprlauncher.conf b/.config/hypr/hyprlauncher.conf new file mode 100644 index 0000000..e69de29 diff --git a/.config/hypr/input.conf b/.config/hypr/input.conf deleted file mode 100644 index faf0b48..0000000 --- a/.config/hypr/input.conf +++ /dev/null @@ -1,18 +0,0 @@ -# https://wiki.hyprland.org/Configuring/Variables/#input - -input { - kb_layout = us,no - kb_options = grp:win_space_toggle - kb_variant = - kb_model = - kb_rules = - - follow_mouse = 1 - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - accel_profile = flat - - touchpad { - natural_scroll = false - } -} \ No newline at end of file diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf index c8c0a6d..4e729d2 100644 --- a/.config/hypr/monitors.conf +++ b/.config/hypr/monitors.conf @@ -1,6 +1,6 @@ -# Generated by nwg-displays on 2025-04-02 at 12:49:35. Do not edit manually. +# Generated by nwg-displays on 2025-12-05 at 09:58:24. Do not edit manually. -monitor=DP-1,3440x1440@165.0,3440x1080,1.0 -monitor=DP-3,1920x1080@144.0,4960x0,1.0 -monitor=HDMI-A-1,1920x1080@119.98,6880x360,1.0 -monitor=HDMI-A-2,1920x1080@74.99,6880x1440,1.0 +monitor=DP-1,3440x1440@174.96,5360x1080,1.0 +monitor=HDMI-A-1,0x0@60.0,-1x-1,1.0 +monitor=HDMI-A-1,disable +monitor=DP-3,1920x1080@144.0,3440x1080,1.0 diff --git a/.config/hypr/rules.conf b/.config/hypr/rules.conf deleted file mode 100644 index 1ef188d..0000000 --- a/.config/hypr/rules.conf +++ /dev/null @@ -1,39 +0,0 @@ -# https://wiki.hyprland.org/Configuring/Window-Rules -# https://wiki.hyprland.org/Configuring/Workspace-Rules - -# Prevent windows from force-maximizing -windowrulev2 = suppressevent maximize, class:.* - -# Fix some dragging issues with XWayland -windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 - -# Steam friends list -windowrulev2 = float,initialClass:steam,initialTitle:Friends List - -# Smart gaps -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] - -# Prevend idle when using fullscreen app -windowrulev2 = idleinhibit fullscreen, class:^(*)$ -windowrulev2 = idleinhibit fullscreen, title:^(*)$ -windowrulev2 = idleinhibit fullscreen, fullscreen:1 - - -# -- IntelliJ IDEs -- -#! Fix splash screen showing in weird places and prevent annoying focus takeovers -windowrulev2 = center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 -windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 -windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 - -#! Center popups/find windows -windowrulev2 = center,class:^(jetbrains-.*)$,title:^( )$,floating:1 -windowrulev2 = stayfocused,class:^(jetbrains-.*)$,title:^( )$,floating:1 -windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^( )$,floating:1 -#! Disable window flicker when autocomplete or tooltips appear -windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1 -# -- END IntelliJ IDEs --