mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-10-10 08:55:18 +02:00
- all hyprlandScripts were migrated to lua functions - hyprland.nix just handles the host specific and replacing the placeholders from hyprland.lua
300 lines
11 KiB
Plaintext
300 lines
11 KiB
Plaintext
exec-once = /nix/store/8kih8alkk4qzgjchg5501r1c3a8a71aw-dbus-1.16.2/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
|
|
$browser=kitty --class "custom-browserprofiles" --name "Select browser profile" --hold custom-browserprofiles
|
|
$editor=nvim
|
|
$file=dolphin
|
|
$mod=SUPER
|
|
$notes=kitty --class "custom-obsidianvaults" --name "Select Obsidian vault" --hold custom-obsidianvaults
|
|
$term=kitty
|
|
animations {
|
|
bezier=wind, 0.05, 0.9, 0.1, 1.05
|
|
bezier=winIn, 0.1, 1.1, 0.1, 1.1
|
|
bezier=winOut, 0.3, -0.3, 0, 1
|
|
bezier=liner, 1, 1, 1, 1
|
|
animation=windows, 1, 6, wind, slide
|
|
animation=windowsIn, 1, 6, winIn, slide
|
|
animation=windowsOut, 1, 5, winOut, slide
|
|
animation=windowsMove, 1, 5, wind, slide
|
|
animation=border, 1, 1, liner
|
|
animation=borderangle, 1, 30, liner, loop
|
|
animation=fade, 1, 10, default
|
|
animation=workspaces, 1, 5, wind
|
|
enabled=true
|
|
}
|
|
|
|
bind=$mod, W, togglefloating
|
|
bind=$mod, G, togglegroup
|
|
bind=Alt, Return, fullscreen
|
|
bind=$mod, Left, movefocus, l
|
|
bind=$mod, Right, movefocus, r
|
|
bind=$mod, Up, movefocus, u
|
|
bind=$mod, Down, movefocus, d
|
|
bind=Alt, Tab, movefocus, d
|
|
bind=$mod, 1, workspace, 1
|
|
bind=$mod, 2, workspace, 2
|
|
bind=$mod, 3, workspace, 3
|
|
bind=$mod, 4, workspace, 4
|
|
bind=$mod, 5, workspace, 5
|
|
bind=$mod, 6, workspace, 6
|
|
bind=$mod, 7, workspace, 7
|
|
bind=$mod, 8, workspace, 8
|
|
bind=$mod, 9, workspace, 9
|
|
bind=$mod, 0, workspace, 10
|
|
bind=$mod+Ctrl, Right, workspace, r+1
|
|
bind=$mod+Ctrl, Left, workspace, r-1
|
|
bind=$mod+Ctrl, Doown, workspace, empty
|
|
bind=$mod+Shift, 1, movetoworkspace, 1
|
|
bind=$mod+Shift, 2, movetoworkspace, 2
|
|
bind=$mod+Shift, 3, movetoworkspace, 3
|
|
bind=$mod+Shift, 4, movetoworkspace, 4
|
|
bind=$mod+Shift, 5, movetoworkspace, 5
|
|
bind=$mod+Shift, 6, movetoworkspace, 6
|
|
bind=$mod+Shift, 7, movetoworkspace, 7
|
|
bind=$mod+Shift, 8, movetoworkspace, 8
|
|
bind=$mod+Shift, 9, movetoworkspace, 9
|
|
bind=$mod+Shift, 0, movetoworkspace, 10
|
|
bind=$mod+Ctrl+Alt, Right, movetoworkspace, r+1
|
|
bind=$mod+Ctrl+Alt, Left, movetoworkspace, r-1
|
|
bind=$mod, Backspace, exec, caelestia shell drawers toggle session
|
|
bind=$mod+Shift+Ctrl, Left, movewindow, l
|
|
bind=$mod+Shift+Ctrl, Right, movewindow, r
|
|
bind=$mod+Shift+Ctrl, Up, movewindow, u
|
|
bind=$mod+Shift+Ctrl, Down, movewindow, d
|
|
bind=$mod, mouse_down, workspace, e+1
|
|
bind=$mod, mouse_up, workspace, e-1
|
|
bind=$mod, V, exec, cliphist list | rofi -dmenu| cliphist decode | wl-copy
|
|
bind=$mod, B, exec, hyprkeys -bkr | rofi -dmenu
|
|
bind=$mod, S, togglespecialworkspace,
|
|
bind=Alt+$mod, S, movetoworkspace, special
|
|
bind=$mod, A, layoutmsg, move -col
|
|
bind=$mod, D, layoutmsg, move +col
|
|
bind=$mod, T, exec, $term
|
|
bind=$mod, E, exec, $file
|
|
bind=$mod, F, exec, $browser
|
|
bind=$mod, N, exec, $notes
|
|
bind=$mod+Shift, A, exec, caelestia shell drawers toggle launcher
|
|
bind=$mod, Q, exec, custom-dontkillsteam
|
|
bind=Ctrl+Alt, W, exec, caelestia shell drawers toggle sidebar
|
|
bind=$mod, L, exec, caelestia shell lock lock
|
|
bind=, F11, exec, caelestia screenshot
|
|
bind=$mod_SHIFT, S, exec, caelestia shell picker open
|
|
bind=Ctrl+$mod, 6, exec, custom-killall
|
|
bind=Ctrl+Alt, 7, exec, custom-performance
|
|
bind=Ctrl+Alt, 1, exec, caelestia shell drawers toggle sidebar
|
|
bind=Ctrl+$mod, 4, exec, caelestia shell notifs toggleDnd
|
|
bind=Ctrl+$mod, 3, exec, pavucontrol
|
|
bind=Ctrl+Shift+Alt, 0, exec, kitty --hold --class "custom-changeAudioOutput" --name "Select audio output" zsh -c "custom-changeAudioOutput"
|
|
bind=Ctrl+$mod, 5, exec, gnome-characters
|
|
bind=Ctrl+Alt, 8, exec, hyprpicker | tee >(wl-copy) | cliphist store
|
|
bind=Ctrl+Alt, 0, exec, custom-tomato
|
|
bind=Ctrl+Alt, 2, exec, custom-bottom
|
|
bind=Ctrl+Alt, 9, exec, anki
|
|
|
|
binde=$mod+Shift, Right, resizeactive, 30 0
|
|
binde=$mod+Shift, Left, resizeactive, -30, 0
|
|
binde=$mod+Shift, Up, resizeactive, 0 -30
|
|
binde=$mod+Shift, Down, resizeactive,m 0 30
|
|
|
|
bindel=, F2, exec, pactl set-sink-volume @DEFAULT_SINK@ -10%
|
|
bindel=, F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +10%
|
|
bindel=, F7, exec, brightnessctl s 10%-
|
|
bindel=, F8, exec, brightnessctl s +10%
|
|
|
|
bindl=, F1, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
bindl=, F5, exec, playerctl play-pause
|
|
bindl=, F4, exec, playerctl previous
|
|
bindl=, F6, exec, playerctl next
|
|
|
|
bindm=$mod, mouse:272, movewindow
|
|
bindm=$mod, mouse:273, resizewindow
|
|
bindm=$mod, Z, movewindow
|
|
bindm=$mod, X, resizewindow
|
|
|
|
decoration {
|
|
blur {
|
|
enabled=true
|
|
ignore_opacity=true
|
|
new_optimizations=true
|
|
passes=2
|
|
size=4
|
|
special=true
|
|
}
|
|
dim_special=0.300000
|
|
rounding=18
|
|
}
|
|
|
|
dwindle {
|
|
preserve_split=true
|
|
}
|
|
|
|
env=PATH, $PATH:$scrPath
|
|
env=XDG_CURRENT_DESKTOP,Hyprland
|
|
env=XDG_SESSION_TYPE,wayland
|
|
env=XDG_SESSION_DESKTOP,Hyprland
|
|
env=QT_QPA_PLATFORM,wayland;xcb
|
|
env=QT_QPAPLATFORMTHEME,qt6ct
|
|
env=QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
|
env=MOZ_ENABLE_WAYLAND,1
|
|
env=GDK_SCALE,1
|
|
|
|
exec-once=qtbatticon
|
|
exec-once=source /run/agenix/ntfy && nixpkgs-notifier listen
|
|
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
exec-once=dbus-update-activation-environment --systemd --all
|
|
exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
exec-once=systemctl --user start xdg-desktop-portal-wlr.service
|
|
exec-once=blueman-applet
|
|
exec-once=udiskie --no-automount --smart-tray
|
|
exec-once=nm-applet --indicator
|
|
exec-once=rm -rf ~/.cache/cliphist/ && wl-paste --type text --watch cliphist store & wl-paste --type image --watch cliphist store
|
|
exec-once=custom-batterynotify
|
|
exec-once=custom-batterywarning
|
|
exec-once=awww img /nix/store/30py8zav0pbsbcvcll5017hwz07fxmr0-wallpaper1.jpg
|
|
exec-once=awww-daemon
|
|
exec-once=sleep 1 && custom-wallpaper
|
|
exec-once=custom-checkKdrive && custom-mountkdrive
|
|
exec-once=custom-gitnotify
|
|
exec-once=sleep 4 & caelestia-shell
|
|
exec-once=sleep 20 && ngcp pull --automatic
|
|
|
|
general {
|
|
border_size=4
|
|
col.active_border=rgba(ca6702ff) rgba(ecd3a0ff) 45deg
|
|
col.inactive_border=rgba(f1dca7d9) rgba(ffe1a8d9) 45deg
|
|
gaps_in=5
|
|
gaps_out=15
|
|
layout=dwindle
|
|
resize_on_border=true
|
|
}
|
|
|
|
gesture=3, right, move, +col
|
|
gesture=3, left, move, -col
|
|
|
|
group {
|
|
col.border_active=rgba(ca6702ff) rgba(ecd3a0ff) 45deg
|
|
col.border_inactive=rgba(f1dca7d9) rgba(ffe1a8d9) 45deg
|
|
col.border_locked_active=rgba(ca6702ff) rgba(ecd3a0ff) 45deg
|
|
col.border_locked_inactive=rgba(f1dca7d9) rgba(ffe1a8d9) 45deg
|
|
}
|
|
|
|
input {
|
|
kb_layout=ch
|
|
follow_mouse=1
|
|
force_no_accel=1
|
|
sensitivity=0
|
|
}
|
|
|
|
layerrule=blur on, ignore_alpha 0, match:namespace rofi
|
|
layerrule=blur on, ignore_alpha 0, match:namespace notifications
|
|
layerrule=blur on, ignore_alpha 0, match:namespace swaync-notification-window
|
|
layerrule=blur on, ignore_alpha 0, match:namespace swaync-control-center
|
|
layerrule=blur on, match:namespace logout_dialog
|
|
|
|
misc {
|
|
force_default_wallpaper=0
|
|
vrr=0
|
|
}
|
|
|
|
monitor=eDP-1, highres@highrr, 0x0, 1
|
|
monitor=HDMI-A-1, highres2highrr, auto-left, 1
|
|
|
|
plugin:dynamic-cursors {
|
|
rotate {
|
|
length=20
|
|
offset=0
|
|
}
|
|
|
|
shake {
|
|
base=4.000000
|
|
effects=true
|
|
enabled=true
|
|
influence=0.000000
|
|
ipc=false
|
|
limit=0.000000
|
|
nearest=true
|
|
speed=4.000000
|
|
threshold=4
|
|
timeout=2000
|
|
}
|
|
enabled=true
|
|
mode=rotate
|
|
threshold=2
|
|
}
|
|
|
|
plugin:overview {
|
|
disableBlur=true
|
|
disableGestures=true
|
|
showEmptyWorkspace=true
|
|
workspaceActiveBorder=rgb(ab7746)
|
|
}
|
|
|
|
scrolling {
|
|
column_width=0.450000
|
|
}
|
|
|
|
windowrule=opacity 0.90 0.90, match:class ^(firefox)$
|
|
windowrule=opacity 0.90 0.90, match:class ^(Brave-browser)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(code-oss)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(Code)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(code-url-handler)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(code-insiders-url-handler)$
|
|
windowrule=opacity 0.75 0.75, match:class ^(kitty)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(org.kde.dolphin)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(org.kde.ark)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(nwg-look)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(qt5ct)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(qt6ct)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(kvantummanager)$
|
|
windowrule=opacity 0.80 0.70, float on, match:class ^(org.pulseaudio.pavucontrol)$
|
|
windowrule=opacity 0.80 0.70, float on, match:class ^(blueman-manager)$
|
|
windowrule=opacity 0.80 0.70, float on, match:class ^(nm-applet)$
|
|
windowrule=opacity 0.80 0.70, float on, match:class ^(nm-connection-editor)$
|
|
windowrule=opacity 0.80 0.70, float on, match:class ^(org.kde.polkit-kde-authentication-agent-1)$
|
|
windowrule=opacity 0.80 0.70, match:class ^(polkit-gnome-authentication-agent-1)$
|
|
windowrule=opacity 0.80 0.70, match:class ^(org.freedesktop.impl.portal.desktop.gtk)$
|
|
windowrule=opacity 0.80 0.70, match:class ^(org.freedesktop.impl.portal.desktop.hyprland)$
|
|
windowrule=opacity 0.70 0.70, match:class ^([Ss]team)$
|
|
windowrule=opacity 0.70 0.70, match:class ^(steamwebhelper)$
|
|
windowrule=opacity 0.70 0.70, match:class ^(Spotify)$
|
|
windowrule=opacity 0.70 0.70, match:initial_title ^(Spotify Free)$
|
|
windowrule=opacity 0.90 0.90, float on, match:class ^(com.github.rafostar.Clapper)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(com.github.tchx84.Flatseal)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(hu.kramo.Cartridges)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(com.obsproject.Studio)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(gnome-boxes)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(discord)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(WebCord)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(ArmCord)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(app.drey.Warp)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(net.davidotek.pupgui2)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(yad)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(Signal)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(io.github.alainm23.planify)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(io.gitlab.theevilskeleton.Upscaler)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(com.github.unrud.VideoDownloader)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(io.gitlab.adhami3310.Impression)$
|
|
windowrule=opacity 0.80 0.80, float on, match:class ^(io.missioncenter.MissionCenter)$
|
|
windowrule=opacity 0.80 0.80, match:class ^(io.github.flattool.Warehouse)$
|
|
windowrule=float on, match:class ^(org.kde.dolphin)$, match:title ^(Progress Dialog — Dolphin)$
|
|
windowrule=float on, match:class ^(org.kde.dolphin)$, match:title ^(Copying — Dolphin)$
|
|
windowrule=float on, match:class ^(firefox)$, match:title ^(Picture-in-Picture)$
|
|
windowrule=float on, match:class ^(firefox)$, match:title ^(Library)$
|
|
windowrule=float on, match:class ^(kitty)$, match:title ^(top)$
|
|
windowrule=float on, match:class ^(kitty)$, match:title ^(btop)$
|
|
windowrule=float on, match:class ^(kitty)$, match:title ^(htop)$
|
|
windowrule=float on, match:class ^(vlc)$
|
|
windowrule=float on, match:class ^(eog)$
|
|
windowrule=float on, size 400 225, match:class ^(custom-browserprofiles)$
|
|
windowrule=float on, size 1050 200, match:class ^(custom-changeAudioOutput)$
|
|
windowrule=float on, size 400 175, match:class ^(custom-obsidianvaults)$
|
|
windowrule=float on, size 600 600, match:initial_class ^(custom-pomodoro)$
|
|
windowrule=float on, size 1500 800, match:initial_class ^(custom-bottom)$
|
|
|
|
workspace=1, layout:master
|
|
workspace=2, layout:scrolling, layoutopt:direction:right
|
|
workspace=name:special, layout:scrolling
|
|
|
|
xwayland {
|
|
force_zero_scaling=true
|
|
}
|
|
splash=true
|