From 29a3208461efe8303cc9ea1702ceb637f6d755ff Mon Sep 17 00:00:00 2001 From: Matthew Binning Date: Sun, 8 Mar 2026 15:37:20 -0700 Subject: [PATCH 1/2] feat: Manage hypr --- .config/hypr/circuit_board.png | Bin 0 -> 14677 bytes .config/hypr/hyprland.conf | 174 +++++++++++++++++++++++++++++++++ .config/hypr/hyprpaper.conf | 6 ++ install.sh | 3 + 4 files changed, 183 insertions(+) create mode 100644 .config/hypr/circuit_board.png create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/hyprpaper.conf diff --git a/.config/hypr/circuit_board.png b/.config/hypr/circuit_board.png new file mode 100644 index 0000000000000000000000000000000000000000..c561bb89f092b5cefafa478dbc918c600efcfb95 GIT binary patch literal 14677 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 literal 0 HcmV?d00001 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 From 3b3b511cf49340e3eb7459ea8b3d7419c711e320 Mon Sep 17 00:00:00 2001 From: Matthew Binning Date: Sun, 8 Mar 2026 15:16:25 -0700 Subject: [PATCH 2/2] feat: Enhance gitconfig --- .gitconfig | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.gitconfig b/.gitconfig index c4e8f4c..963c963 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,5 +1,20 @@ [user] - email = matthewbinning@pm.me - name = Matthew Binning -[core] - editor = vi + email = matthewbinning@pm.me + name = Matthew Binning + username = matthew.binning + editor = vi + autocrlf = input +[init] + defaultBranch = main +[pull] + rebase = true +[push] + autoSetupRemote = true +[alias] + br = branch + rb = rebase + st = status + sw = switch + l = log --oneline --graph --decorate +[credential] + helper = /usr/lib/git-core/git-credential-libsecret