{ pkgs, ... }: {

  xdg.portal = {
    enable = true;
    # wlr.enable = true;
    extraPortals = with pkgs; [
      xdg-desktop-portal-hyprland
      xdg-desktop-portal-gtk
    ];
    config.common.default = [ "hyprland" "gtk" ];
  };

  environment.sessionVariables = rec {
    GBM_BACKEND = "amd-drm";
    __GL_GSYNC_ALLOWED = "0";
    __GL_VRR_ALLOWED = "1";
    WLR_DRM_NO_ATOMIC = "1";
    __GLX_VENDOR_LIBRARY_NAME = "amd";
    _JAVA_AWT_WM_NONREPARENTING = "1";
    QT_QPA_PLATFORM = "wayland";
    QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
    GDK_BACKEND = "wayland";
    WLR_NO_HARDWARE_CURSORS = "1";
    MOZ_ENABLE_WAYLAND = "1";
    WLR_BACKEND = "vulkan";
    WLR_RENDERER = "vulkan";
    XCURSOR_SIZE = "24";
    NIXOS_OZONE_WL = "1";
    PATH = [ "$HOME/.local/bin/:$PATH" ];
    XDG_CACHE_HOME = "$HOME/.cache";
    XDG_CONFIG_HOME = "$HOME/.config";
    XDG_DATA_HOME = "$HOME/.local/share";
    XDG_STATE_HOME = "$HOME/.local/state";
    XDG_BIN_HOME = "$HOME/.local/bin";
    XDG_DESKTOP_DIR = "$HOME/desktop";
    XDG_DOCUMENTS_DIR = "$HOME/files";
    XDG_DOWNLOAD_DIR = "$HOME/download";
    XDG_MUSIC_DIR = "$HOME/media/music";
    XDG_PICTURES_DIR = "$HOME/media/photo";
    XDG_PUBLICSHARE_DIR = "$HOME/pub";
    XDG_TEMPLATES_DIR = "$HOME/media/templates";
    XDG_VIDEOS_DIR = "$HOME/media/video";
  };

  environment.etc."xdg/user-dirs.defaults".text = ''
    XDG_CACHE_HOME="$HOME/.cache"
    XDG_CONFIG_HOME="$HOME/.config"
    XDG_DATA_HOME="$HOME/.local/share"
    XDG_STATE_HOME="$HOME/.local/state"
    XDG_BIN_HOME="$HOME/.local/bin"
    XDG_DESKTOP_DIR="$HOME/desktop"
    XDG_DOCUMENTS_DIR="$HOME/files"
    XDG_DOWNLOAD_DIR="$HOME/download"
    XDG_MUSIC_DIR="$HOME/media/music"
    XDG_PICTURES_DIR="$HOME/media/photo"
    XDG_PUBLICSHARE_DIR="$HOME/pub"
    XDG_TEMPLATES_DIR="$HOME/media/templates"
    XDG_VIDEOS_DIR="$HOME/media/video"
  '';
}