{
  pkgs,
  config,
  ...
}: {
  home.packages = with pkgs; [
    psmisc
  ];
  wayland.windowManager.hyprland.settings = {
    exec = [
      # "pkill -x hyprpaper; uwsm app -- hyprpaper"
      # "matugen image ${config.home.homeDirectory}/.cache/current_wallpaper"
    ];
    exec-once = [
      # essentials
      "hyprpm reload -n"
      "vicinae server"
      "systemctl --user start hyprpolkitagent"
      "hyprsunset -t 4500" # TODO: must be optional

      # apps
      "fcitx5 -d --replace" # TODO: find a way to implement this line on fcitx5 app instead

      "[workspace special:preload silent] uwsm app -- xdg-terminal-exec"
      "[workspace 1] uwsm app -- ghostty -e bash -c 'fastfetch; exec $SHELL'" # TODO: must be xdg-terminal-exec, or default user terminal
      "[workspace special:steam silent] uwsm app -- steam"
    ];
  };
}
