Initial commit

This commit is contained in:
nicholai 2025-09-08 16:15:21 -06:00
commit 29906216f8
4 changed files with 307 additions and 0 deletions

21
README.md Normal file
View File

@ -0,0 +1,21 @@
# Arch Hyprland Configuration
This repository contains my Hyprland configuration files for Arch Linux.
## Files Included
- `hyprland.conf` - Main Hyprland configuration
- `xdg-portal-hyprland` - XDG portal configuration
- `hong-kong-night.jpg` - Background image
## Setup
1. Clone this repository to your home directory
2. Symlink the configuration files to `~/.config/hypr/`
3. Restart Hyprland to apply changes
## Features
- Custom keybindings
- Wallpapers and themes
- Window management settings

BIN
hong-kong-night.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

278
hyprland.conf Normal file
View File

@ -0,0 +1,278 @@
#NICHOLAIS CUSTOM HYPRLAND CONFIG
#------------------------------------------------------------------
# Monitor Setup
#------------------------------------------------------------------
#monitor=,preferred,auto,1
monitor=eDP-1,preferred,auto,1
monitor=HDMI-A-1,3840x2160@60.00,0x0,1
#------------------------------------------------------------------
# AUTOSTART
#------------------------------------------------------------------
#based on the tutorial from My Linux For Work:
#exec-once = swww init
# exec-once = dunst
#exec-once = the updatewal-swww.sh file would go here
#exec-once = the gtk.sh file would go here
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 = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
# exec = swaybg -m fill -i ~/Pictures/GreenPond.jpg
exec-once = wal -R
#------------------------------------------------------------------
# Load Pywal color file
#------------------------------------------------------------------
# Default Source:
# source = ~/.config/hypr/myColors.conf
source = ~/.cache/wal/colors-hyprland.conf
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = yes
}
sensitivity = 0 # 0 0, 0 means no modification.
}
#------------------------------------------------------------------
# GENERAL WINDOW LAYOUT AND COLORS
#------------------------------------------------------------------
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 10
border_size = 1
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.active_border=rgba(cdd6f4ee)
col.inactive_border = $color11
layout = dwindle
}
#------------------------------------------------------------------
# MISC SETTINGS
#------------------------------------------------------------------
misc {
disable_hyprland_logo = yes
}
#------------------------------------------------------------------
# GENERAL WINDOW DECORATION
#------------------------------------------------------------------
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 7
blur {
enabled = true
size = 7
passes = 3
}
active_opacity = 1.0
inactive_opacity = .86
fullscreen_opacity = 1.0
# drop_shadow = yes
# shadow_range = 4
# shadow_render_power = 3
# col.shadow = rgba(1a1a1aee)
}
layerrule = blur, wofi
layerrule = ignorealpha 0.05, wofi
layerrule = blur, wlogout
layerrule = ignorealpha 0.05, wlogout
#------------------------------------------------------------------
# ANIMATIONS
#------------------------------------------------------------------
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 1, myBezier
animation = windowsOut, 1, 1, default, popin 80%
animation = border, 1, 1, default
animation = fade, 1, 1, default
animation = workspaces, 1, 1, default
}
#------------------------------------------------------------------
# LAYOUTS
#------------------------------------------------------------------
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
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
# new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic mouse V1 {
# sensitivity = -0.5
#}
# Example windowrule v1
# windowrule = float, ^(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
windowrulev2 = opacity 0.8 0.8,class:^(kitty)$
windowrulev2 = opacity 0.9 0.9,class:^(thunar)$
# windowrulev2 = opacity 0.8 0.8,class:^(chromium)$
# windowrulev2 = opacity 0.85 0.85,class:^(code-oss)$
windowrulev2 = opacity 0.8 0.8,class:^(marktext)$
windowrulev2 = opacity 0.8 0.8,class:^(nextcloud)$
windowrulev2 = opacity 0.8 0.8,class:^(nsxiv)$
windowrulev2 = opacity 0.9 0.9,class:^(vesktop)$
windowrulev2 = opacity 0.8 0.8,class:^(wofi)$
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
#-----------------------------------------------------------------
#__ ___ _ _ ____ _ ____ _____ ____ ____
#\ \ / / \ | | | | | _ \ / \ | _ \| ____| _ \/ ___|
# \ \ /\ / / _ \ | | | | | |_) / _ \ | |_) | _| | |_) \___ \
# \ V V / ___ \| |___| |___| __/ ___ \| __/| |___| _ < ___) |
# \_/\_/_/ \_\_____|_____|_| /_/ \_\_| |_____|_| \_\____/
#
#Wallpaper Menu
bind = $mainMod, W, exec, ~/scripts/pywal/wallpapermenu.sh
#Resort Wallpapers and sync to nextcloud
bind = $mainMod SHIFT, W, exec, ~/scripts/wallpapersync.sh
#-----------------------------------------------------------------
# ____ _____ _____
#/ ___|_ _|_ _|
#\___ \ | | | |
# ___) || | | |
#|____/ |_| |_| alsa_input.pci-0000_00_1f.3.analog-stereo
#Start Transcription
bind = $mainMod, Y, exec, nerd-dictation begin --input PW-CAT --pulse-device-name alsa_input.pci-0000_00_1f.3.analog-stereo --vosk-model-dir ~/.config/nerd-dictation/model --sample-rate 48000 --simulate-input-tool WTYPE --output SIMULATE_INPUT --full-sentence --numbers-as-digits --numbers-use-separator --idle-time 0.05 --timeout 4 --delay-exit 0.7
#Cliphistory
bind = $mainMod SHIFT, H, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
#Firefox
bind = $mainMod, B, exec, firefox
#open virtual machines
bind = $mainMod, T, exec, virt-manager
#NukeX
bind = $mainMod, N, exec, ~/foundry-nuke/Nuke15.2v4/Nuke15.2 --nukex >/dev/null 2>&1 &
#Waybar Start
# bind = $mainMod SHIFT, W, exec, waybar
#Waybar Kill
bind = $mainMod SHIFT, R, exec, killall -SIGUSR2 waybar
#Launch Minecraft
bind = $mainMod SHIFT, G, exec, prime-run minecraft-launcher
#Launch Discord
bind = $mainMod SHIFT, V, exec, vesktop
#launch parsec
bind = $mainMod, P, exec, parsecd
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, kitty #open the terminal
bind = $mainMod SHIFT, X, killactive, # close the active window
bind = $mainMod, L, exec, swaylock # Lock the screen
bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window
bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland)
bind = $mainMod, E, exec, thunar # Show the graphical file browser
bind = $mainMod, V, togglefloating, # Allow a window to float
bind = $mainMod, SPACE, exec, wofi --color
# ~/.cache/wal/colors.css # Show the graphicall app launcher
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot
# ROG G15 Strix (2021) Specific binds
bind = ,156, exec, rog-control-center # ASUS Armory crate key
bind = ,211, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar # Fan Profile key switch between power profiles
bind = ,121, exec, pamixer -t # Speaker Mute FN+F1
bind = ,122, exec, pamixer -d 5 # Volume lower key
bind = ,123, exec, pamixer -i 5 # Volume Higher key
bind = ,256, exec, pamixer --default-source -t # Mic mute key
bind = ,232, exec, brightnessctl set 10%- # Screen brightness down FN+F7
bind = ,233, exec, brightnessctl set 10%+ # Screen brightness up FN+F8
bind = ,237, exec, brightnessctl -d asus::kbd_backlight set 33%- # Keyboard brightness down FN+F2
bind = ,238, exec, brightnessctl -d asus::kbd_backlight set 33%+ # Keyboard brightnes up FN+F3
bind = ,210, exec, asusctl led-mode -n # Switch keyboard RGB profile FN+F4
# 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
# 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 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
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

8
xdg-portal-hyprland Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
sleep 1
killall xdg-desktop-portal-hyprland
killall xdg-desktop-portal-wlr
killall xdg-desktop-portal
/usr/lib/xdg-desktop-portal-hyprland &
sleep 2
/usr/lib/xdg-desktop-portal &