{ theme, ... }: { wayland.windowManager.hyprland = { settings = { monitor = ",highrr,auto,1.175"; bind = [ '', XF86AudioMute, exec, swayosd --output-volume=mute-toggle'' '', XF86AudioPrev, exec, playerctl previous'' '', XF86AudioNext, exec, playerctl next'' ]; binde = [ '', XF86AudioPlay, exec, playerctl play-pause'' '', XF86AudioNext, exec, playerctl next'' '', XF86MonBrightnessDown, exec, swayosd-client --brightness=lower'' '', XF86MonBrightnessUp, exec, swayosd-client --brightness=raise'' '', XF86AudioMute, exec, swayosd-client --output-volume=mute-toggle'' '', XF86AudioLowerVolume, exec, swayosd-client --output-volume=lower'' '', XF86AudioRaiseVolume, exec, swayosd-client --output-volume=raise'' ]; bindl = [ '',switch:on:1241ec0,exec,hyprctl keyword monitor "eDP-1, 2560x1600, 0x0, 1"'' '',switch:off:1241ec0,exec,hyprctl keyword monitor "eDP-1, disable"'' ]; }; }; home.file = { # Set the custom launcher script ".config/hypr/start.sh" = { enable = true; executable = true; text = '' #!/usr/bin/env bash # https://wiki.hyprland.org/FAQ/#some-of-my-apps-take-a-really-long-time-to-open dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP & # Set the wallpaper swww init # Waybar waybar & # Set up the idle management daemon swayidle -w \ timeout 120 'swaylock -f && playerctl pause' \ timeout 180 'hyprctl dispatch dpms off' \ timeout 300 'systemctl suspend-then-hibernate' \ resume 'hyprctl dispatch dpms on' \ before-sleep 'swaylock -f' \ before-sleep 'playerctl pause' & # Automatic device mounting udiskie & DIR=/etc/nixos/git/wallpapers/${theme} IMG=`ls $DIR | shuf -n 1` swww img $DIR/$IMG -t random & # Notification listener mako ''; }; }; }