feat: add home manager hyprland module to enable hyprland plugins

This commit is contained in:
DACHXY 2024-12-30 18:15:09 +08:00
parent 6997c5a968
commit 64499a5e90
30 changed files with 456 additions and 365 deletions

View file

@ -1,87 +0,0 @@
$mainMod = SUPER
$scripts = ~/.config/scripts/
$terminal = ghostty
$filemanager = thunar
$browser = firefox
bind = CTRL ALT, T, exec, $terminal
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exec, wlogout --protocol layer-shell
bind = $mainMod, E, exec, $filemanager
bind = $mainMod, V, togglefloating,
bind = ALT, SPACE, exec, rofi -config ~/.config/rofi/apps.rasi -show drun
bind = $mainMod ALT, W, exec, $scripts/waybarRestart.sh
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, S, togglesplit, # dwindle
bind = CTRL&$mainMod&SHIFT, L, exec, swaylock
bind = $mainMod SHIFT, s, exec, hyprshot -m region --clipboard-only --freeze
bind = CTRL SHIFT, s, exec, hyprshot -m window --clipboard-only --freeze
bind = CTRL SHIFT $mainMod, s, exec, hyprshot -m output --clipboard-only --freeze
bind = $mainMod, PERIOD, exec, flatpak run it.mijorus.smile
bind = $mainMod, X, exec, sleep 0.1 && swaync-client -t -sw
bind = $mainMod SHIFT, C, centerwindow
bind = ,F11, fullscreen
bind = $mainMod, F, exec, $browser
bind = $mainMod, C, exec, NIXOS_OZONE_WL=1 code
# Cycle windows
bind = ALT, TAB, cyclenext
bind = ALT, TAB, bringactivetotop
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d
# Workspace Scroll
bind = $mainMod, mouse_down, workspace, e-1
bind = $mainMod, mouse_up, workspace, e+1
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
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
bind = $mainMod CTRL, l, resizeactive, 10 0
bind = $mainMod CTRL, h, resizeactive, -10 0
bind = $mainMod CTRL, k, resizeactive, 0 -10
bind = $mainMod CTRL, j, resizeactive, 0 10
bind = $mainMod SHIFT, l, movewindow, r
bind = $mainMod SHIFT, h, movewindow, l
bind = $mainMod SHIFT, k, movewindow, u
bind = $mainMod SHIFT, j, movewindow, d
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Media
bind = ,XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_SINK@ 0 && wpctl set-volume @DEFAULT_SINK@ 2%+
bind = ,XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_SINK@ 0 && wpctl set-volume @DEFAULT_SINK@ 2%-
bind = ,XF86MonBrightnessDown, exec, brightnessctl set 10%-
bind = ,XF86MonBrightnessUp, exec, brightnessctl set 10%+
bind = ,XF86AudioPrev, exec, playerctl previous
bind = ,XF86AudioNext, exec, playerctl next
bind = ,XF86AudioPlay, exec, playerctl play-pause
bind = ,XF86AudioStop, exec, playerctl stop
bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle

View file

@ -1,14 +0,0 @@
$scripts = ~/.config/scripts/
exec-once = swaync -s ~/.config/swaync/style.css -c ~/.config/swaync/config.json
exec-once = dbus-update-activation-environment --systemd --all
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 -c ~/.config/waybar/config.json -s ~/.config/waybar/style.css
exec-once = hyprpaper
exec-once = swayidle -w
exec-once = sway-audio-idle-inhibit
exec-once = nwg-look -a
exec-once = [silent] fcitx5 -d -r &
exec-once = [silent] fcitx5-remote -r &
exec = hyprsunset -t 3000k &

View file

@ -1,8 +0,0 @@
debug:disable_logs = false
source = ~/.config/hypr/monitor.conf
source = ~/.config/hypr/exec.conf
source = ~/.config/hypr/bind.conf
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/window.conf
source = ~/.config/hypr/windowrule.conf

View file

@ -1,4 +0,0 @@
preload = ~/.config/wallpapers/wall.png
wallpaper = , ~/.config/wallpapers/wall.png
splash = false
ipc = on

View file

@ -1,20 +0,0 @@
input {
kb_layout = us
kb_variant =
kb_model =
kb_rules =
follow_mouse = 1
accel_profile = flat
touchpad {
natural_scroll = true
}
sensitivity = -0.1 # -1.0 - 1.0, 0 means no modification.
}
cursor {
no_hardware_cursors = true
}

View file

@ -1,3 +0,0 @@
monitor=desc:ASUSTek COMPUTER INC ASUS VG32VQ1B 0x00002271,2560x1440@165, 0x0, 1
monitor=desc:Acer Technologies XV272U V3 7422007E54222, 2560x1440@144, -1440x-540, 1, transform, 1
monitor=desc:LG Display 0x0665, preferred, 0x0, 1.25

View file

@ -1,70 +0,0 @@
xwayland {
force_zero_scaling = true
}
general {
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgb(EBDBB2) rgb(24273A) rgb(24273A) rgb(EBDBB2) 45deg
col.inactive_border= rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg
layout = dwindle
allow_tearing = false
}
decoration {
rounding = 10
blur {
enabled = true
size = 5
passes = 3
new_optimizations = true
ignore_opacity = on
xray = false
}
active_opacity = 0.8
inactive_opacity = 0.8
fullscreen_opacity = 1.0
}
animations {
enabled = true
bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = menu_decel, 0.1, 1, 0, 1
bezier = menu_accel, 0.38, 0.04, 1, 0.07
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
bezier = md2, 0.4, 0, 0.2, 1
animation = windows, 1, 3, md3_decel, popin 60%
animation = windowsIn, 1, 3, md3_decel, popin 60%
animation = windowsOut, 1, 3, md3_accel, popin 60%
animation = border, 1, 10, default
animation = fade, 1, 3, md3_decel
animation = workspaces, 1, 7, menu_decel, slide
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}
dwindle {
pseudotile = yes
preserve_split = yes
}
master {
new_on_top = true
}
gestures {
workspace_swipe = true
}
misc {
force_default_wallpaper = 0
}

View file

@ -1,58 +0,0 @@
windowrule = pseudo, fcitx
windowrule = float, file_progress
windowrule = float, confirm
windowrule = float, dialog
windowrule = float, download
windowrule = float, notification
windowrule = float, error
windowrule = float, splash
windowrule = float, confirmreset
windowrule = float, title:Open File
windowrule = float, title:branchdialog
windowrule = float, viewnior
windowrule = float, pavucontrol-qt
windowrule = float, pavucontrol
windowrule = float, file-roller
windowrule = fullscreen, wlogout
windowrule = float, title:wlogout
windowrule = fullscreen, title:wlogout
windowrule = idleinhibit stayfocused, mpv
windowrulev2 = float, title:^(Media viewer)$
windowrulev2 = float, title:^(File Operation Progress)$
windowrulev2 = float, class:^(it.mijorus.smile)
windowrulev2 = float, class:^(xdg-desktop-portal-gtk)$
windowrulev2 = float, title:^(Steam Settings)$
# Picture in picture windows
windowrulev2 = float, title:^(Picture-in-Picture)$
windowrulev2 = pin, title:^(Picture-in-Picture)$
windowrulev2 = float, class:^(vesktop)$,title:^(Discord Popout)$
windowrulev2 = pin, class:^(vesktop)$,title:^(Discord Popout)$
windowrulev2 = float, class:^(steam)$,title:^(Friends List)$
# Workspace assign
windowrulev2 = workspace: 5, class:^(steam)$
# Line
windowrulev2 = workspace: 2, initialTitle:^(LINE)$
windowrulev2 = float, initialTitle:^(LINE)$
# VLC
windowrulev2 = workspace: 3, initialClass: ^(vlc)
layerrule = blur, waybar
layerrule = blur, logout_dialog
layerrule = unset, rofi
layerrule = blur, rofi
layerrule = ignorezero, rofi
layerrule = unset, swaync-control-center
layerrule = unset, swaync-notification-window
layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window
layerrule = ignorealpha 0.1, swaync-control-center
layerrule = ignorealpha 0.1, swaync-notification-window

View file

@ -5,4 +5,4 @@
killall .waybar-wrapped
killall .swaync-wrapped
waybar -c ~/.config/waybar/config.json -s ~/.config/waybar/style.css &
swaync -s ~/.config/swaync/style.css -c ~/.config/swaync/config.json &
swaync -c ~/.config/swaync/config.json -s ~/.config/swaync/style.css &

View file

@ -7,13 +7,13 @@
font-weight: bold;
font-size: 15px;
border-width: 3px;
border-color: #ebdbb2
border-color: #ebdbb2;
}
.control-center .notification-row:focus,
.control-center .notification-row:hover {
opacity: 1;
background: @bgc
background: @bgc;
}
.notification-row {
@ -50,8 +50,8 @@
box-shadow: none;
background: @borderc;
color: @textc;
transition: all .15s ease-in-out;
border: none
transition: all 0.15s ease-in-out;
border: none;
}
.notification-action {
@ -68,7 +68,7 @@
.time {
font-size: 11px;
color: @borderc;
margin-right: 40px
margin-right: 40px;
}
.body {
@ -86,15 +86,15 @@
}
.control-center-list-placeholder {
opacity: .5
opacity: 0.5;
}
.floating-notifications {
background: transparent
background: transparent;
}
.blank-window {
background: alpha(black, 0.1)
background: alpha(black, 0.1);
}
.widget-title {
@ -104,7 +104,7 @@
font-size: 1.5rem;
}
.widget-title>button {
.widget-title > button {
font-size: 1rem;
color: @borderc;
padding: 10px;
@ -114,7 +114,7 @@
border-radius: 5px;
}
.widget-title>button:hover {
.widget-title > button:hover {
background: @borderc;
color: #282828;
}
@ -123,7 +123,7 @@
margin: 10px 10px 10px 10px;
}
.widget-label>label {
.widget-label > label {
font-size: 1rem;
color: @textc;
}
@ -135,11 +135,11 @@
border-radius: 20px;
}
.widget-mpris>box>button {
.widget-mpris > box > button {
border-radius: 20px;
}
.widget-mpris-player {
padding: 5px 5px;
margin: 10px
margin: 10px;
}