diff --git a/hypr/.config/hypr/host/laptop.conf b/hypr/.config/hypr/host/laptop.conf new file mode 100644 index 0000000..4ff813e --- /dev/null +++ b/hypr/.config/hypr/host/laptop.conf @@ -0,0 +1,48 @@ +# Laptop (Ingenuity/Valkyrie) — NVIDIA + external monitors + +################ +### MONITORS ### +################ + +$LAPTOP=eDP-1 +$EXTERNAL_L1=DP-4 +$EXTERNAL_R1=DP-5 +$EXTERNAL_L2=DP-6 +$EXTERNAL_R2=DP-7 + +monitor=$LAPTOP, 1920x1080, 0x0, 1 +monitor=DP-3, 1920x1080, 1920x0, 1 + +monitor=$EXTERNAL_L1, 1920x1080, 0x-1080, 1, transform, 0 +monitor=$EXTERNAL_L2, 1920x1080,0x-1080,1,transform,0 +monitor=$EXTERNAL_R1, 1920x1080, 1920x-1480, 1, transform, 1 +monitor=$EXTERNAL_R2, 1920x1080,1920x-1480,1,transform,1 + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = WLR_NO_HARDWARE_CURSOR,1 +env = GBM_BACKEND,nvidia-drm +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + +#################### +### WORKSPACES ### +#################### + +workspace = 1, name:short-1, monitor:DP-4 +workspace = 2, name:short-2, monitor:DP-4 +workspace = 3, name:long-1, monitor:DP-5 +workspace = 4, name:long-2, monitor:DP-5 +workspace = 5, name:smoll, monitor:eDP-1 +workspace = special:tools, layout:dwindle, gapsin:0 + +### WALLPAPER ### + +exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs $LAPTOP +exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs $EXTERNAL_L1 +exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs $EXTERNAL_L2 +exec-once = swww img ~/.config/wallpapers/buck_head.jpg --outputs $EXTERNAL_R1 +exec-once = swww img ~/.config/wallpapers/buck_head.jpg --outputs $EXTERNAL_R2 diff --git a/hypr/.config/hypr/host/uconsole.conf b/hypr/.config/hypr/host/uconsole.conf new file mode 100644 index 0000000..96f39f4 --- /dev/null +++ b/hypr/.config/hypr/host/uconsole.conf @@ -0,0 +1,27 @@ +# uConsole CM5 — DSI display + +################ +### MONITORS ### +################ + +monitor=DSI-2, 720x1280, 0x0, 1 + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +env = WLR_NO_HARDWARE_CURSOR,1 + +#################### +### WORKSPACES ### +#################### + +workspace = 1, name:short-1, monitor:DSI-2 +workspace = 2, name:short-2, monitor:DSI-2 +workspace = 3, name:long-1, monitor:DSI-2 + +#################### +### AUTOSTART ### +#################### + +exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs DSI-2 diff --git a/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf index 9684de1..47d01bc 100755 --- a/hypr/.config/hypr/hyprland.conf +++ b/hypr/.config/hypr/hyprland.conf @@ -1,53 +1,14 @@ -# This is an example Hyprland config file. -# Refer to the wiki for more information. -# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ +# Common Hyprland configuration — shared across all hosts +# Host-specific settings (monitors, env, workspaces) in host/monitors.conf -# Please note not all available settings / options are set here. -# For a full list, see the wiki - -# You can split this configuration into multiple files -# Create your files separately and then link them to this file like this: -# source = ~/.config/hypr/myColors.conf source = mocha.conf source = ~/.cache/wal/colors-hyprland.conf - -################ -### MONITORS ### -################ - -$LAPTOP=eDP-1 -$EXTERNAL_L1=DP-4 -$EXTERNAL_R1=DP-5 -$EXTERNAL_L2=DP-6 -$EXTERNAL_R2=DP-7 - -# See https://wiki.hyprland.org/Configuring/Monitors/ -# Useful command: -# hyprctl monitors all -## Valkyrie setup -# monitor=eDP-1,highres,auto,2 #3200x1800,0x0,2 -# monitor=HDMI-A-2,2560x1600,auto,1 #1600x0,1 #x-370,1,transform,1 -## Ingenuity setup -monitor=$LAPTOP, 1920x1080, 0x0, 1 -monitor=DP-3, 1920x1080, 1920x0, 1 # HDMI screen -# Horizontal setup -#monitor=DP-4,1920x1080,-960x-1080,1 # Left screen -#monitor=DP-6,1920x1080,-960x-1080,1 # Left screen -#monitor=DP-5,1920x1080,960x-1080,1 # Right screen -#monitor=DP-7,1920x1080,960x-1080,1 # Right screen -# Vertical setup -monitor=$EXTERNAL_L1, 1920x1080, 0x-1080, 1, transform, 0 # Left screen -monitor=$EXTERNAL_L2, 1920x1080,0x-1080,1,transform,0 # Left screen -monitor=$EXTERNAL_R1, 1920x1080, 1920x-1480, 1, transform, 1 # Right screen -monitor=$EXTERNAL_R2, 1920x1080,1920x-1480,1,transform,1 # Right screen +source = host/monitors.conf ################### ### MY PROGRAMS ### ################### -# See https://wiki.hyprland.org/Configuring/Keywords/ - -# Set programs that you use $terminal = kitty $editor = emacsclient -c -a emacs $menu = wofi --show drun @@ -59,20 +20,10 @@ $monitoring = kitty btop ### AUTOSTART ### ################# -# Autostart necessary processes (like notifications daemons, status bars, etc.) -# Or execute your favorite apps at launch like this: - -# exec-once = $terminal -# exec-once = nm-applet & exec = hyprshade auto exec-once = udiskie exec-once = waybar exec-once = swww-daemon -exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs $LAPTOP -exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs $EXTERNAL_L1 -exec-once = swww img ~/.config/wallpapers/green_yellow_forest.jpg --outputs $EXTERNAL_L2 -exec-once = swww img ~/.config/wallpapers/buck_head.jpg --outputs $EXTERNAL_R1 -exec-once = swww img ~/.config/wallpapers/buck_head.jpg --outputs $EXTERNAL_R2 exec-once = swaync exec-once = hypridle exec-once = hyprlock @@ -83,60 +34,34 @@ exec-once = dbus-update-activation-environment --systemd HYPRLAND_INSTANCE_SIGNA ### ENVIRONMENT VARIABLES ### ############################# -# See https://wiki.hyprland.org/Configuring/Environment-variables/ - env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 -env = LIBVA_DRIVER_NAME,nvidia -env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = WLR_NO_HARDWARE_CURSOR,1 env = XDG_SESSION_TYPE,wayland -env = GBM_BACKEND,nvidia-drm -env = WLR_RENDERER_ALLOW_SOFTWARE,1 ##################### ### LOOK AND FEEL ### ##################### -# Refer to https://wiki.hyprland.org/Configuring/Variables/ - -# https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 7.5 gaps_out = 15 - border_size = 2 - - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = $color1 $color1 $color2 45deg col.inactive_border = $background - - # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false - layout = dwindle } -# https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 4 - - # Change transparency of focused and unfocused windows active_opacity = 0.9 inactive_opacity = 0.75 } -# https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true - - # 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.6, myBezier animation = windowsOut, 1, 1.6, default, popin 80% animation = border, 1, 1.6, default @@ -146,59 +71,37 @@ animations { animation = specialWorkspace, 1, 1.6, myBezier, slidefadevert -10% } -# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { - # Note: pseudotile variable removed in 0.55+. Use `pseudo` dispatcher to toggle per-window. - # Bound to $mainMod + P below. - - # This prevents the layout from collapsing if you close one window - preserve_split = true # You probably want this - - # 0 -> follow mouse, 1 -> always left/top, 2 -> always right/bottom + preserve_split = true force_split = 2 } -# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_status = master } -# https://wiki.hyprland.org/Configuring/Variables/#misc misc { - force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( + force_default_wallpaper = 0 + disable_hyprland_logo = true } - ############# ### INPUT ### ############# -# https://wiki.hyprland.org/Configuring/Variables/#input input { - kb_layout = us,ca #,halmak + kb_layout = us,ca kb_options = grp:win_space_toggle, ctrl:nocaps - # kb_variant = - # kb_model = - # kb_rules = - follow_mouse = 1 - - sensitivity = 0.5 # -1.0 - 1.0, 0 means no modification. - + sensitivity = 0.5 touchpad { natural_scroll = true disable_while_typing = true } } -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - # workspace_swipe = false -} +gestures {} -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 @@ -208,10 +111,8 @@ device { ### KEYBINDINGS ### ################### -# See https://wiki.hyprland.org/Configuring/Keywords/ -$mainMod = SUPER # Sets "Windows" key as main modifier +$mainMod = SUPER -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, T, exec, $terminal bind = $mainMod, D, killactive, bind = $mainMod SHIFT, Q, exit, @@ -221,56 +122,43 @@ bind = $mainMod, E, exec, $editor bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, $menu bind = $mainMod, Z, exec, $zen -# togglesplit removed as standalone dispatcher in 0.55+; use `layoutmsg togglesplit` instead -bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, P, pseudo, bind = $mainMod, N, movecurrentworkspacetomonitor, -1 bind = $mainMod SHIFT, N, movecurrentworkspacetomonitor, +1 bind = $mainMod, X, swapwindow bind = $mainMod, B, exec, python /home/tpouplier/ExoKortex/4-Automata/recordntrans/record_transcribe.py -# bind = $mainMod, G, exec, nerd-dictation end bind = $mainMod, A, exec, $music bind = $mainMod, C, exec, emacsclient -n -c -e '(gortium/hermes-vterm)' -# Full screen -bind = SUPER, F, fullscreen - -# Screenshot +bind = SUPER, F, fullscreen bind = , PRINT, exec, hyprshot -m output bind = $mainMod, PRINT, exec, hyprshot -m window bind = shift, PRINT, exec, hyprshot -m region - -# hyprlock bind = $mainMod, o, exec, hyprlock -# Move focus with mainMod + arrow keys bind = $mainMod, h, movefocus, l bind = $mainMod, j, movefocus, d bind = $mainMod, k, movefocus, u bind = $mainMod, l, movefocus, r -# Forward and reverse cycle (to focus floating) bind = $mainMod, Tab, cyclenext bind = $mainMod SHIFT, Tab, cyclenext, prev -# Resize windows bind = $mainMod CTRL, l, resizeactive, 20 0 bind = $mainMod CTRL, h, resizeactive, -20 0 bind = $mainMod CTRL, k, resizeactive, 0 -20 bind = $mainMod CTRL, j, resizeactive, 0 20 -# Swap window position bind = $mainMod SHIFT, h, swapwindow, l bind = $mainMod SHIFT, j, swapwindow, d bind = $mainMod SHIFT, k, swapwindow, u bind = $mainMod SHIFT, l, swapwindow, r -# Move floating window bind = $mainMod SHIFT, l, moveactive, 100 0 bind = $mainMod SHIFT, h, moveactive, -100 0 bind = $mainMod SHIFT, k, moveactive, 0 -100 bind = $mainMod SHIFT, j, moveactive, 0 100 -# Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 @@ -282,7 +170,6 @@ 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 @@ -294,19 +181,15 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 -# Example special workspace (scratchpad) bind = $mainMod, S, togglespecialworkspace, tools bind = $mainMod SHIFT, S, movetoworkspace, special:tools -# 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 -# Laptop multimedia keys for volume and LCD brightness bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle @@ -314,13 +197,11 @@ bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- -# Requires playerctl bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous -# Emacs-everywhere bind = $mainMod, W, exec, emacsclient --eval '(thanos/type)' windowrule { name = float-emacs @@ -328,45 +209,16 @@ windowrule { float = true } -# Play/Pause -# bind = $mainMod, P, exec, playerctl play-pause - -# Next Track -# bind = $mainmod SHIFT, L, exec, playerctl next - -# Previous Track -# bind = $mainmod SHIFT, H, exec, playerctl previous - -# Volume Up (player volume) -# bind = $mainmod , U, exec, playerctl volume 0.05+ - -# Volume Down (player volume) -# bind = $mainmod, D, exec, playerctl volume 0.05- - -# Stop Playback -# bind = $mainmod, S, exec, playerctl stop - ############################## ### WINDOWS AND WORKSPACES ### ############################## -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ - -# Example windowrule v2 -# windowrule = float,class:^(kitty)$,title:^(kitty)$ - -# Ignore maximize requests from apps. You'll probably like this. windowrule { name = suppress-maximize-events match:class = .* suppress_event = maximize } -# Fix some dragging issues with XWayland windowrule { name = nofocus-xwayland-float match:class = ^$ @@ -378,15 +230,7 @@ windowrule { no_focus = true } -workspace = 1, name:short-1, monitor:DP-4 # Left screen -workspace = 2, name:short-2, monitor:DP-4 # Left screen -workspace = 3, name:long-1, monitor:DP-5 # Right screen -workspace = 4, name:long-2, monitor:DP-5 # Right screen -workspace = 5, name:smoll, monitor:eDP-1 # Laptop screen -#workspace = 4, name:windows, monitor:DP-4, on-created-empty:VBoxManage startvm "Windows 11" -workspace = special:tools, layout:dwindle, gapsin:0 - -# Top Left: btop +# Dashboard windows for special workspace windowrule { name = dashboard-btop match:class = ^(btop)$ @@ -394,7 +238,6 @@ windowrule { workspace = special:tools } -# Top Right: ncspot windowrule { name = dashboard-ncspot match:class = ^(ncspot)$ @@ -402,7 +245,6 @@ windowrule { workspace = special:tools } -# Bottom Left: ncpamixer windowrule { name = dashboard-ncpamixer match:class = ^(ncpamixer)$ @@ -410,7 +252,6 @@ windowrule { workspace = special:tools } -# Bottom Right: bluetuith windowrule { name = dashboard-bluetuith match:class = ^(bluetuith)$ @@ -418,7 +259,6 @@ windowrule { workspace = special:tools } -# Bind to launch the suite (Run this once) bind = $mainMod, grave, exec, kitty --class btop btop bind = $mainMod, grave, exec, kitty --class ncspot ncspot bind = $mainMod, grave, exec, kitty --class ncpamixer ncpamixer