Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ cd ~/.config/hypr/
- ------------------------------------------------------------------------------
- $ cat hyprland.conf
- # Source a file (multi-file configs)
- source = ~/.config/hypr/exec.conf
- source = ~/.config/hypr/system.conf
- source = ~/.config/hypr/windowrules.conf
- source = ~/.config/hypr/binds.conf
- source = ~/.config/hypr/monitors.conf
- ------------------------------------------------------------------------------
- $ cat exec.conf
- # Execute your favorite apps at launch
- exec-once = ~/.config/hypr/scripts/xdg-portal-hyprland # Make sure the correct portal is running
- exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Wayland magic (screen sharing etc.)
- exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # More wayland magic (screen sharing etc.)
- exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # used for user sudo graphical elevation
- # exec-once = pulseaudio --start # Start the correct audio client
- exec-once = waybar # The top bar
- exec-once = polychromatic-tray-applet # polychromatic app
- exec-once = blueman-applet # Systray app for BT
- exec-once = nm-applet --indicator # Systray app for Network/Wifi
- exec-once = /usr/bin/greenclip daemon # Rofi Clipboard app
- exec-once = swww-daemon # Background images daemon
- exec-once = ~/.scripts/change_bg.sh # Run random background script
- # exec-once = ~/.config/hypr/scripts/bgaction # Sets the background based on theme
- exec = ~/.scripts/random_bg.sh # Changes the background to a random bg
- exec = ~/.config/hypr/scripts/set-monitor-conf # Set link to correct monitor conf file sourced at bottom
- ------------------------------------------------------------------------------
- $ cat system.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 = no
- }
- sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
- }
- general {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
- gaps_in = 5
- gaps_out = 10
- border_size = 2
- #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
- col.active_border=rgb(cdd6f4)
- col.inactive_border = rgba(595959aa)
- layout = dwindle
- }
- misc {
- disable_hyprland_logo = yes
- }
- decoration {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
- rounding = 5
- blur {
- enabled = true
- size = 7
- passes = 4
- new_optimizations = true
- }
- active_opacity = 0.9
- inactive_opacity = 0.8
- blurls = lockscreen
- drop_shadow = yes
- shadow_range = 4
- shadow_render_power = 3
- col.shadow = rgba(1a1a1aee)
- }
- animations {
- enabled = yes
- # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
- bezier = myBezier, 0.10, 0.9, 0.1, 1.05
- animation = windows, 1, 10, myBezier, slide
- animation = windowsOut, 1, 7, myBezier, slide
- animation = border, 1, 10, default
- animation = fade, 1, 7, default
- animation = workspaces, 1, 6, default
- }
- 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 = on
- workspace_swipe_fingers = 3
- }
- group {
- groupbar {
- #gradients = false
- #height = 20
- }
- }
- # Example per-device config
- # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
- device {
- name = elan0688:00-04f3:320b-touchpad
- sensitivity = 0.2
- }
- ------------------------------------------------------------------------------
- $ cat windowrules.conf
- # Example windowrule v1
- windowrule = float, ^(kitty)$
- windowrule = float,^(pavucontrol)$
- windowrule = float,^(blueman-manager)$
- windowrule = float,^(nm-connection-editor)$
- windowrule = float,^(thunar)$
- windowrule = float, title:^(btop)$
- windowrule = float, title:^(update-sys)$
- windowrule = float, title:^(eureka)$
- windowrule = tile, class:^(Google-chrome)$
- # 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 = move 25% 25%,class:^(kitty)$
- windowrulev2 = size 50% 50%,class:^(kitty)$
- windowrulev2 = move 42% 40%,class:^(VirtualBoxVM)$ # VirtualBox pop-up windows
- windowrulev2 = animation popin,class:^(kitty)$ #,title:^(update-sys)$
- windowrulev2 = animation popin,class:^(thunar)$
- windowrulev2 = opacity 0.8 0.8,class:^(thunar)$
- windowrulev2 = opacity 0.8 0.8,class:^(Code)$
- windowrulev2 = opacity 0.85 override 0.85 override,class:^(Spotify)$
- windowrulev2 = opacity 1 override 1 override,class:^(Google-chrome)$
- windowrulev2 = opacity 1 override 1 override,class:^(Chromium)$
- windowrulev2 = animation popin,class:^(Google-chrome)$
- windowrulev2 = animation slide,class:^(wofi)$
- windowrulev2 = move 100%-433 53,class:^(wofi)$,title:^(clippick)$
- windowrulev2 = workspace 3,class:^(Spotify)$
- windowrulev2 = workspace 4,class:^(Google-chrome)$,title:^(Microsoft Teams)$
- windowrulev2 = workspace 4,class:^(Google-chrome)$,title:^(Outlook)$ #class:^(Chromium)$,
- windowrulev2 = workspace 5,class:^(Google-chrome)$
- windowrulev2 = workspace 8,class:^(Code)$
- windowrulev2 = workspace 8,class:^(Eclipse)$
- windowrulev2 = workspace 8,class:^(VirtualBox Manager)$
- windowrulev2 = workspace 9,class:^(VirtualBox Machine)$
- windowrulev2 = workspace special:special,class:^(kitty)$,title:^(update-sys)$
- windowrulev2 = workspace special:scratchpad,class:^(kitty)$,title:^(eureka)$
- windowrulev2 = workspace special:scratchpad,class:^(kitty)$,title:^(open_work_notes.sh)$
- ------------------------------------------------------------------------------
- $ cat binds.conf
- # See https://wiki.hyprland.org/Configuring/Keywords/ for more
- $mainMod = SUPER
- # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
- # -- APPS -- #
- bind = $mainMod, RETURN, exec, kitty # open the terminal
- bind = $mainMod CTRL, RETURN, exec, alacritty # open second terminal
- #bind = $mainMod, B, exec, firefox # Open browser
- bind = $mainMod, B, exec, google-chrome-stable # Open chrome browser
- bind = $mainMod, C, exec, code # Open VSCode
- bind = $mainMod, I, exec, kitty eureka
- bind = $mainMod, N, exec, thunar # Show the graphical file browser
- bind = $mainMod, S, exec, spotify # Open spotify
- bind = $mainMod, SPACE, exec, pkill wofi || wofi -n # Show the graphical app launcher
- bind = $mainMod CTRL, SPACE, exec, rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' # rofi clipboard manager
- bind = ALT, SPACE, exec, killall rofi || sh $HOME/.config/rofi/bin/launcher
- bind = , Print, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot
- # -- SCRIPTS -- #
- bind = $mainMod SHIFT, I, exec, kitty $HOME/.scripts/open_work_notes.sh
- bind = $mainMod CTRL, W, exec, pkill waybar && waybar # restart waybar
- bind = $mainMod CTRL SHIFT, W, exec, pkill waybar || waybar # kill or start waybar
- bind = $mainMod ALT, W, exec, ~/.scripts/toggle_img_waybar.sh && pkill waybar && waybar # toggle image module waybar & restart
- bind = $mainMod CTRL, B, exec, ~/.scripts/change_bg.sh
- bind = $mainMod CTRL SHIFT, S, exec, xdg-open "https://search.nixos.org/packages"
- # -- HYPRLAND -- #
- bind = $mainMod, L, exec, ~/.scripts/lock_screen.sh # Lock the screen
- bind = $mainMod CTRL, L, exit # Exit Hyprland
- 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 CTRL, H, exec, ~/.config/hypr/hyprland.editor
- bind = $mainMod CTRL, S, exec, rm /run/user/1001/swww.socket && swww-daemon
- # -- WINDOWS -- #
- bind = $mainMod, Q, killactive, # close the active window
- bind = $mainMod, V, togglefloating, # Allow a window to float
- bind = $mainMod, P, pseudo, # dwindle
- bind = $mainMod SHIFT, P, pin, # pin window to all workspaces
- bind = $mainMod, J, togglesplit, # dwindle
- bind = $mainMod SHIFT, A, movetoworkspace, special:special # move window to scratchpad workspace
- bind = $mainMod SHIFT, E, movetoworkspace, special:scratchpad # move window to scratchpad workspace
- bind = $mainMod, F, fullscreen, 1
- bind = $mainMod SHIFT, F, fullscreen, 0
- bind = $mainMod, G, togglegroup
- bind = $mainMod SHIFT, G, moveoutofgroup
- # -- SYSTEM -- #
- bind = , XF86AudioMute, exec, pamixer --toggle-mute
- bind = CTRL, XF86AudioMute, exec, playerctl play-pause
- bind = , XF86AudioPause, exec, playerctl pause
- bind = , XF86AudioPlay, exec, playerctl play
- bind = , XF86AudioNext, exec, playerctl next
- bind = , XF86AudioPrev, exec, playerctl previous
- binde = $mainMod, XF86AudioLowerVolume, exec, pamixer --default-source --decrease 5
- binde = $mainMod, XF86AudioRaiseVolume, exec, pamixer --default-source --increase 5
- binde = CTRL, XF86AudioLowerVolume, exec, playerctl previous
- binde = CTRL, XF86AudioRaiseVolume, exec, playerctl next
- binde = , XF86AudioLowerVolume, exec, pamixer --decrease 5
- binde = , XF86AudioRaiseVolume, exec, pamixer --increase 5
- binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
- binde = , xF86MonBrightnessUp, exec, brightnessctl set 5%+
- binde = $mainMod, XF86MonBrightnessDown, exec, brightnessctl set 1- -d tpacpi::kbd_backlight
- binde = $mainMod, xF86MonBrightnessUp, exec, brightnessctl set 1+ -d tpacpi::kbd_backlight
- # Move focus with mainMod + arrow keys
- bind = $mainMod, left, changegroupactive, b
- bind = $mainMod, right, changegroupactive, f
- # Swap windows around
- bind = $mainMod CTRL SHIFT, left, swapwindow, l
- bind = $mainMod CTRL SHIFT, right, swapwindow, r
- bind = $mainMod CTRL SHIFT, up, swapwindow, u
- bind = $mainMod CTRL SHIFT, down, swapwindow, d
- # 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
- bind = $mainMod, A, togglespecialworkspace, special
- bind = $mainMod, E, togglespecialworkspace, scratchpad
- # Move to next or previous workspace
- bind = $mainMod CTRL, left, workspace, e-1
- bind = $mainMod CTRL, right, workspace, e+1
- bind = $mainMod SHIFT, left, movetoworkspace, e-1
- bind = $mainMod SHIFT, right, movetoworkspace, e+1
- # 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
- # Alt - Tab to next/previous windows
- bind = ALT, Tab, exec, ~/.scripts/alttab.sh
- #bind = ALT SHIFT, Tab, cyclenext, prev
- # Move/resize windows with mainMod + LMB/RMB and dragging
- bindm = $mainMod, mouse:272, movewindow
- bindm = $mainMod, mouse:273, resizewindow
- # Move current workspace to monitor
- bind = ALT SHIFT, left, movecurrentworkspacetomonitor, l
- bind = ALT SHIFT, right, movecurrentworkspacetomonitor, r
- bind = ALT SHIFT, up, movecurrentworkspacetomonitor, u
- bind = ALT SHIFT, down, movecurrentworkspacetomonitor, d
- # Submaps
- bind = ALT, R, submap, move
- # will start a submap called "move"
- submap = move
- bind = , C, centerwindow,
- # sets repeatable binds for moving the active window
- binde = , right, moveactive, 10 0
- binde = , left, moveactive, -10 0
- binde = , up, moveactive, 0 -10
- binde = , down, moveactive, 0 10
- # sets repeatable binds for resizing the active window
- binde = SHIFT, right, resizeactive, 10 0
- binde = SHIFT, left, resizeactive, -10 0
- binde = SHIFT, up, resizeactive, 0 -10
- binde = SHIFT, down, resizeactive, 0 10
- # sets repeatable binds for resizing the split ratio
- binde = ALT, left, splitratio, -0.02
- binde = ALT, up, splitratio, -0.02
- binde = ALT, right, splitratio, +0.02
- binde = ALT, down, splitratio, +0.02
- # use reset to go back to the global submap
- bind = , escape, submap, reset
- # will reset the submap, meaning end the current one and return to the global one
- submap = reset
- ------------------------------------------------------------------------------
- $ cat monitors.conf
- monitor=eDP-1,1920x1200@60,900x1080,1
- monitor=DP-10,1920x1080@240,0x0,1
- monitor=DP-7,2560x1080@60,1920x0,1
- workspace = 1, monitor:eDP-1
- workspace = 2, monitor:eDP-1
- workspace = 3, monitor:eDP-1
- workspace = 4, monitor:eDP-1
- workspace = 5, monitor:DP-10
- workspace = 6, monitor:DP-10
- workspace = 7, monitor:DP-10
- workspace = 8, monitor:DP-7
- workspace = 9, monitor:DP-7
- workspace = 10, monitor:DP-7
Advertisement
Add Comment
Please, Sign In to add comment