Compare commits

..

3 Commits

Author SHA1 Message Date
nub31
0414ccd80d ... 2026-01-05 16:31:37 +01:00
nub31
d39ee088d0 ... 2025-09-30 12:39:26 +02:00
nub31
999e8e7985 ... 2025-09-26 19:16:40 +02:00
10 changed files with 165 additions and 251 deletions

View File

@@ -11,4 +11,5 @@ if [ "$PS1" ]; then
alias grep="grep --color=auto"
alias ls="ls --color=auto"
alias ll="ls -la"
alias code="code --ozone-platform=wayland"
fi

View File

@@ -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"

1
.config/code-flags.conf Normal file
View File

@@ -0,0 +1 @@
--ozone-platform=wayland

View File

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

View File

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

View File

View File

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

View File

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

View File

@@ -1,36 +0,0 @@
# https://wiki.hyprland.org/Configuring/Window-Rules
# https://wiki.hyprland.org/Configuring/Workspace-Rules
windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Fix odd behaviors in IntelliJ IDEs
windowrulev2 = center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1
windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1
windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1
windowrulev2 = center,class:^(jetbrains-.*)$,title:^( )$,floating:1
windowrulev2 = stayfocused,class:^(jetbrains-.*)$,title:^( )$,floating:1
windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^( )$,floating:1
windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1
# Center vscode prompts
windowrulev2 = center,xwayland:1,floating:1,fullscreen:0,pinned:0,initialClass:Electron
# 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

View File

@@ -1,73 +0,0 @@
add_newline = false
command_timeout = 1000
format = """[╭╴](238) $os$username$hostname$kubernetes$directory$git_branch$git_status\n[╰─](238)[](238) """
# Drop ugly default prompt characters
[character]
success_symbol = ''
error_symbol = ''
[os]
format = '[$symbol](bold white) '
disabled = false
[os.symbols]
Windows = ''
Arch = '󰣇'
Ubuntu = ''
Debian = ''
Macos = '󰀵'
Linux = ''
Pop = " "
# Shows the username
[username]
style_user = 'white bold'
style_root = 'red bold'
format = '[$user]($style) '
disabled = false
show_always = true
# Shows the hostname
[hostname]
ssh_only = false
format = 'on [$hostname](bold yellow) '
disabled = false
# Shows current directory
[directory]
truncation_length = 1
truncation_symbol = '…/'
home_symbol = '󰋜 ~'
read_only_style = '197'
read_only = '  '
format = 'at [$path]($style)[$read_only]($read_only_style) '
# Shows current git branch
[git_branch]
symbol = ' '
format = 'via [$symbol$branch]($style)'
# truncation_length = 4
truncation_symbol = '…/'
style = 'bold green'
# Shows current git status
[git_status]
format = '[$all_status$ahead_behind]($style) '
style = 'bold green'
conflicted = '🏳'
up_to_date = ''
untracked = ' '
ahead = '⇡${count}'
diverged = '⇕⇡${ahead_count}⇣${behind_count}'
behind = '⇣${count}'
stashed = ' '
modified = ' '
staged = '[++\($count\)](green)'
renamed = '襁 '
deleted = ' '
# Shows kubernetes context and namespace
[kubernetes]
format = 'via [󱃾 $context\($namespace\)](bold purple) '
disabled = false