diff --git a/.config/hypr/circuit_board.png b/.config/hypr/circuit_board.png new file mode 100644 index 0000000..c561bb8 Binary files /dev/null and b/.config/hypr/circuit_board.png differ diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..98a1c21 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,174 @@ +# Hyprland Configuration +# Red, Black, and Silver Theme + +# Monitor configuration +monitor=,preferred,auto,1.25 + +# Startup applications +exec-once = waybar +exec-once = hyprpaper +exec-once = dunst +exec-once = /usr/lib/polkit-kde-authentication-agent-1 +exec-once = nm-applet --indicator + +# Environment variables +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct + +# Input configuration +input { + kb_layout = us + follow_mouse = 1 + touchpad { + natural_scroll = false + } + sensitivity = 0 +} + +# General settings +general { + gaps_in = 5 + gaps_out = 10 + border_size = 2 + + # Theme colors: Red, Black, Silver + col.active_border = rgba(cc0000ee) rgba(c0c0c0ee) 45deg # Red to Silver gradient + col.inactive_border = rgba(1a1a1aaa) # Dark black/gray + + layout = dwindle + allow_tearing = false +} + +# Decoration settings +decoration { + rounding = 8 + + blur { + enabled = true + size = 3 + passes = 1 + vibrancy = 0.1696 + } + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } +} + +# Animation settings +animations { + enabled = true + 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 = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +# Layout settings +dwindle { + pseudotile = true + preserve_split = true +} + +master { + new_status = master +} + +# Gestures +gestures { + #workspace_swipe = false +} + +# Misc settings +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true +} + +# Window rules +windowrule[suppress-maximize] { + match:class = .* + suppress_event = maximize +} + +# Key bindings +$mainMod = SUPER + +# Application shortcuts +bind = $mainMod, Return, exec, kitty +bind = $mainMod, Q, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, nautilus +bind = $mainMod, V, togglefloating, +bind = $mainMod, D, exec, wofi --show drun +bind = $mainMod, P, pseudo, +bind = $mainMod, J, togglesplit, +bind = $mainMod, F, fullscreen, +bind = $mainMod, L, exec, hyprlock + +# Move focus +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Workspace switching +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 window to workspace +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 + +# Scroll through workspaces +bind = $mainMod SHIFT, right, workspace, e+1 +bind = $mainMod SHIFT, left, workspace, e-1 +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Screenshot +bind = , Print, exec, grim -g "$(slurp)" - | wl-copy + +# Media keys +bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bind = , XF86MonBrightnessUp, exec, brightnessctl set 5%+ +bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%- + +# Workspace assignments +windowrule = workspace 1 silent, match:class ^(firefox)$ +windowrule = workspace 2 silent, match:class ^(code)$ +windowrule = workspace 9 silent, match:class ^(keepassxc)$ + +# Launch on boot +exec-once = firefox +exec-once = code +exec-once = keepassxc diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..61782d3 --- /dev/null +++ b/.config/hypr/hyprpaper.conf @@ -0,0 +1,6 @@ +preload = /home/brimlock/.config/hypr/circuit_board.png +wallpaper = ,/home/brimlock/.config/hypr/circuit_board.png + +# Optional: Scale the wallpaper to fill the screen +splash = false +ipc = off diff --git a/install.sh b/install.sh index 9d7d9b4..3a66674 100755 --- a/install.sh +++ b/install.sh @@ -1,3 +1,6 @@ #!/usr/bin/env sh ln -si "$HOME"/dotfiles/.gitconfig ~/.gitconfig printf '. ~/dotfiles/.profile' > ~/.bashrc + +mkdir -p ~/.config +ln -si "$HOME"/dotfiles/.config/hypr ~/.config/hypr