1
0
mirror of https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles.git synced 2025-09-15 09:45:58 +03:00

feat: added external monitor setup for Hyprland

This commit is contained in:
xnm
2025-01-08 20:08:39 +02:00
parent efd9e85d75
commit c430800cd1
2 changed files with 58 additions and 3 deletions

View File

@@ -115,6 +115,8 @@ And many other useful utilities. The full list can be found in the system config
Failure to configure USBGuard appropriately may result in the inability to connect any USB devices to your machine. If needed, you can also disable USBGuard altogether by setting `services.usbguard.enable` to `false` in the configuration:`services.usbguard.enable = false;`. This step ensures that USBGuard is not actively blocking any USB devices. Failure to configure USBGuard appropriately may result in the inability to connect any USB devices to your machine. If needed, you can also disable USBGuard altogether by setting `services.usbguard.enable` to `false` in the configuration:`services.usbguard.enable = false;`. This step ensures that USBGuard is not actively blocking any USB devices.
🚨 Remember to update the monitor settings in the Hyprland configuration file located at `home/.config/hypr/hyprland.conf`.
🚨 Also, important: If you use disk encryption with LUKS and want to use encrypted swap, you need to enable swap on LUKS. This is usually auto-generated in `/etc/nixos/configuration.nix` as the `boot.initrd.luks.devices."luks-...".device = "/dev/disk/by-uuid/...";` code block, if you set this option up during the NixOS installation process. You can simply copy this snippet to either `nixos/swap.nix`, `nixos/hardware-configuration.nix`, or `nixos/configuration.nix` (Personally, I prefer to copy it to `hardware-configuration.nix`). 🚨 Also, important: If you use disk encryption with LUKS and want to use encrypted swap, you need to enable swap on LUKS. This is usually auto-generated in `/etc/nixos/configuration.nix` as the `boot.initrd.luks.devices."luks-...".device = "/dev/disk/by-uuid/...";` code block, if you set this option up during the NixOS installation process. You can simply copy this snippet to either `nixos/swap.nix`, `nixos/hardware-configuration.nix`, or `nixos/configuration.nix` (Personally, I prefer to copy it to `hardware-configuration.nix`).
Alternatively, you can set it up manually or use [swap encryption with a random key](https://nixos.wiki/wiki/Swap#Encrypt_swap_with_random_key). Alternatively, you can set it up manually or use [swap encryption with a random key](https://nixos.wiki/wiki/Swap#Encrypt_swap_with_random_key).

View File

@@ -6,8 +6,37 @@
#autogenerated = 1 # remove this line to remove the warning #autogenerated = 1 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,1.6 # FIXME: Update the monitor settings below to match your setup
monitor=eDP-1,preferred,auto,1.6 # Settings for the internal monitor
monitor=HDMI-A-1,preferred,auto-up,1.6 # Settings for the external monitor
# If you prefer to use the default settings, comment out the two lines above
# and uncomment the line below
# monitor=,preferred,auto,1 # Default monitor settings
# Bind workspaces to the internal monitor
workspace=1,monitor:eDP-1
workspace=2,monitor:eDP-1
workspace=3,monitor:eDP-1
workspace=4,monitor:eDP-1
workspace=5,monitor:eDP-1
workspace=6,monitor:eDP-1
workspace=7,monitor:eDP-1
workspace=8,monitor:eDP-1
workspace=9,monitor:eDP-1
workspace=10,monitor:eDP-1
# Bind workspaces to the external monitor
workspace=11,monitor:HDMI-A-1
workspace=12,monitor:HDMI-A-1
workspace=13,monitor:HDMI-A-1
workspace=14,monitor:HDMI-A-1
workspace=15,monitor:HDMI-A-1
workspace=16,monitor:HDMI-A-1
workspace=17,monitor:HDMI-A-1
workspace=18,monitor:HDMI-A-1
workspace=19,monitor:HDMI-A-1
workspace=20,monitor:HDMI-A-1
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
@@ -266,7 +295,7 @@ bind = $mainMod, j, movefocus, d
bind = $mainMod, Tab, cyclenext, bind = $mainMod, Tab, cyclenext,
bind = $mainMod, Tab, bringactivetotop, bind = $mainMod, Tab, bringactivetotop,
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9] for the internal monitor
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3 bind = $mainMod, 3, workspace, 3
@@ -278,7 +307,19 @@ bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9 bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10 bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9] # Switch workspaces with mainMod + ALT + [0-9] for the external monitor
bind = $mainMod ALT, 1, workspace, 11
bind = $mainMod ALT, 2, workspace, 12
bind = $mainMod ALT, 3, workspace, 13
bind = $mainMod ALT, 4, workspace, 14
bind = $mainMod ALT, 5, workspace, 15
bind = $mainMod ALT, 6, workspace, 16
bind = $mainMod ALT, 7, workspace, 17
bind = $mainMod ALT, 8, workspace, 18
bind = $mainMod ALT, 9, workspace, 19
bind = $mainMod ALT, 0, workspace, 20
# Move active window to a workspace with mainMod + SHIFT + [0-9] for the internal monitor
bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 3, movetoworkspace, 3
@@ -290,6 +331,18 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Move active window to a workspace with mainMod + ALT + SHIFT + [0-9] for the external monitor
bind = $mainMod ALT SHIFT, 1, movetoworkspace, 11
bind = $mainMod ALT SHIFT, 2, movetoworkspace, 12
bind = $mainMod ALT SHIFT, 3, movetoworkspace, 13
bind = $mainMod ALT SHIFT, 4, movetoworkspace, 14
bind = $mainMod ALT SHIFT, 5, movetoworkspace, 15
bind = $mainMod ALT SHIFT, 6, movetoworkspace, 16
bind = $mainMod ALT SHIFT, 7, movetoworkspace, 17
bind = $mainMod ALT SHIFT, 8, movetoworkspace, 18
bind = $mainMod ALT SHIFT, 9, movetoworkspace, 19
bind = $mainMod ALT SHIFT, 0, movetoworkspace, 20
# Scroll through existing workspaces with mainMod + scroll # Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1 bind = $mainMod, mouse_up, workspace, e-1