{ theme, ... }: {
  home.file = {
    ".config/hypr/hyprland.conf" = {
      enable = true;
      text = ''

      # Monitor specific:
      monitor=,2560x1440,auto,1
      $mainMod = SUPER

      # Start the config:
      exec-once=bash ~/.config/hypr/start.sh
    '';
    };
    # 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 
      '';
    };
  };
}