Search Suggest

JaKooLit Hyprland Flatpak Setup & Flathub Fix (2026)

Install Flatpak on JaKooLit Hyprland, fix Flathub not added, XDG_DATA_DIRS app menu issues, and manage permissions with Flatseal.
Flatpak setup on Arch Linux 2026

You checked the xdph option while installing JaKooLit dotfiles, installed Flatpak, and your apps still don't show up in the application menu. Here's the actual fix, plus how to set up Flatpak on JaKooLit Hyprland properly from scratch. The fix is almost always the same: Flathub isn't added as a remote, or Flatpak's export path is missing from XDG_DATA_DIRS, which is why installed apps never show up in your launcher.

This is part of the MusaBase Linux and Hyprland Series. For a complete overview, see the Best Hyprland Dotfiles Best Hyprland Dotfiles for Linux: Compared and Tested and the Arch Linux Roadmap.

Hi folks, welcome back to MusaBase!. In my JaKooLit Hyprland guide, I installed the JaKooLit dotfiles and it completely changed the aesthetics of my Linux desktop into something I could actually play with. But I didn't stick with JaKooLit Hyprland for long, I kept switching back and forth between End-4 dotfiles and Caelestia dotfiles. After about six months of switching, I decided to give JaKooLit Hyprland a proper try this time. For my daily use, I rely on Discord, Bottles, Junction, and Warehouse, all easily installable via Flatpak. I made sure to check the xdph option while installing JaKooLit, but Flatpak still wasn't functioning correctly. Even after installing it manually, I had to configure it further just to get apps installed through Flatpak to show up in the JaKooLit application menu automatically. If you've installed JaKooLit dotfiles and are running into the same issue, this article should help. Let's get started.

In this article, we'll cover how to:

  1. Install Flatpak on JaKooLit Hyprland
  2. Fix "Flathub Not Added" on JaKooLit Hyprland
  3. Install a Flatpak application on JaKooLit Hyprland
  4. Fix Flatpak apps not showing in the JaKooLit Application Menu
  5. And finallty, Manage Flatpak permissions with Flatseal

⚡ TL;DR: Flatpak Setup on JaKooLit Hyprland (2026)

A quick reference for the essential commands to install Flatpak, fix the Flathub not added error, resolve XDG_DATA_DIRS issues so apps show up in the application menu, and manage permissions with Flatseal on JaKooLit Hyprland.

  1. Install Flatpak:
    sudo pacman -S flatpak
  2. Fix "Flathub Not Added" / Flathub Error:
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  3. Install and launch a Flatpak app (example: Discord):
    flatpak install flathub com.discordapp.Discord
    flatpak run com.discordapp.Discord
  4. Fix XDG_DATA_DIRS (apps not showing in the application menu):
    export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share"
  5. Make the XDG_DATA_DIRS fix permanent:
    sudo nano ~/.config/hypr/hyprland.conf
    Add this line, then log out and back in:
    env = XDG_DATA_DIRS,$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/YOUR_USERNAME/.local/share/flatpak/exports/share
  6. Bonus: install Flatseal to manage permissions (e.g., for Bottles):
    flatpak install flathub com.github.tchx84.Flatseal
    # GUI: Launch Flatseal → Select app (e.g., Bottles) → Filesystem → Other files → add folder path → Devices → enable All devices

💡 For the full explanation behind each fix, screenshots, and additional troubleshooting, refer to the FAQ section below. Your Flatpak apps should now install cleanly and show up in the JaKooLit application menu!




Prerequisites

Before continuing, make sure your system is properly set up. This guide assumes you already have a working Arch Linux system with JaKooLit Hyprland dotfiles installed and running.

  • A working Arch Linux installation. If you haven't installed Arch yet, complete my Arch Linux installation guide first, then come back here.
  • JaKooLit Hyprland dotfiles already installed. If you haven't set this up yet, follow my JaKooLit Hyprland installation guide, then return to this article to set up Flatpak.
  • A non-root user with sudo privileges.
  • Basic familiarity with using the terminal.


Step 1: How to Install Flatpak on JaKooLit Hyprland

Installing Flatpak on JaKooLit Hyprland is the same as installing it on Arch Linux. Follow the steps below:

  1. Open the terminal. On JaKooLit Hyprland, the default keybind is META + ENTER or START-KEY + ENTER.
  2. Next, run the following command:
    sudo pacman -S flatpak

With Flatpak installed successfully on JaKooLit Hyprland, let's Fix "Flathub Not Added" on JaKooLit Hyprland in the next step.



Step 2: Fix "Flathub Not Added" on JaKooLit Hyprland

To fix "Flathub Not Added" on JaKooLit Hyprland, we only need to add Flatpak's remote server from Flathub.

  • Open the terminal and run:
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    Adding Flatpak remote server to fix Flathub Not Added on JaKooLit Hyprland

With Flatpak installed and Flathub added to our JaKooLit Hyprland, let's test it by installing an app from Flatpak on JaKooLit Hyprland in the next step.



Step 3: Install and Launch Discord from Flatpak on JaKooLit Hyprland

Now that Flatpak is installed and the Flathub remote server is added, I'm going to install Discord from Flatpak on my JaKooLit Hyprland, because this is the first app I use after logging in.

  1. Run:
    flatpak install flathub com.discordapp.Discord
  2. After running the search and looking for the Discord app, Flatpak will prompt "Do you want to install it? [Y/n]:". Type Y and press ENTER, or simply press ENTER.
  3. Next, Flatpak will display what "permissions" the app being installed requires, and what packages or additional dependencies will be installed with this app. Press ENTER and your Flatpak application installation will begin.
  4. To launch Discord, we simply run:
    flatpak run com.discordapp.Discord
    Discord on JaKooLit Hyprland installed from Flatpak

Although Discord is successfully installed and running on JaKooLit Hyprland, its entry is not showing in the JaKooLit Hyprland application menu. We are going to fix this exact "XDG_DATA_DIRS" issue in the next step.



Step 4: Flatpak Apps Not Showing in the Application Menu? Fix XDG_DATA_DIRS

First, there was no entry added to the application menu for the Discord app on JaKooLit Hyprland:

No entry for Discord app on JaKooLit Hyprland application menu

Second, when I ran flatpak run com.discordapp.Discord, it launched the Discord app, but it also gave us the following warning:

'/var/lib/flatpak/exports/share'
'/home/musabase/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so applications installed by Flatpak may not appear on your desktop until the session is restarted
Flatpak error XDG_DATA_DIRS on JaKooLit Hyprland

The simple and quick fix is to just reboot the system, but in my experience it only fixes the issue temporarily. So now, I had to find a way to fix this permanently. Luckily, Flatpak is already telling us what we need to do in the warning message. Here's how we can easily fix this. Do the following:

  1. In the terminal, run:
    export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share"
  2. To confirm it actually worked, run:
    echo $XDG_DATA_DIRS
    # Should return:
    /home/Username/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/flatpak/exports/share:/home/musabase/.local/share/flatpak/exports/share
    Fixing and verifying XDG_DATA_DIRS fixed for Flatpak on JaKooLit Hyprland
  3. The export command above only lasts for this terminal session, close it or reboot, and you're back to square one. To make it stick permanently, open your Hyprland config:
    nano ~/.config/hypr/hyprland.conf
    Add this line anywhere near the top, alongside your other env = entries:
    env = XDG_DATA_DIRS,$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/YOUR_USERNAME/.local/share/flatpak/exports/share
    Save, log out, and log back in. Since Hyprland's env = directive applies to the whole graphical session, not just terminal windows, this fixes it for good, including apps launched from your app launcher, not just ones you start manually from a terminal.
  4. Now, if you open the application menu with SUPER + D, and type your Flatpak app name, you will see the entry for that app now exists: Entry for Discord app installed via Flatpak on JaKooLit Hyprland is now showing in the application menu after fixing XDG_DATA_DIRS issue

Now, every known issue is fixed. Next, let's try installing more apps via Flatpak, which also need certain permissions to access files or directories. Next, we are going to do exactly the Managing Flatpak Permissions with Flatseal in the next step.



Bonus: Manage Flatpak Permissions with Flatseal

Install Flatseal to Handle Permissions for Bottles

When I first installed Bottles on Arch Linux, I ran into a confusing issue while trying to run my Windows games and applications on Linux. If the game files were stored outside my Linux root partition, for example on a separate drive, Bottles simply wouldn't launch them.

At first, I assumed this was a Linux limitation. After digging deeper, I realized the real reason: Bottles was running inside a Flatpak sandbox. By design, it cannot access system drives or folders unless explicit permission is granted.

There are two ways to solve this. The hard way means running commands like flatpak override --filesystem=/mnt/games com.usebottles.bottles for every single drive and folder. Do this for three drives? That's three commands. Ten games? More complexity. It works, but it's tedious and error-prone.

The easier and more practical solution is to use Flatseal, a graphical tool that lets you manage these permissions without touching the command line.

  • Install Flatseal to manage Flatpak permissions:
    flatpak install flathub com.github.tchx84.Flatseal

Why Flatpak Needs Permissions

Flatpak applications run inside a sandboxed environment. This means they are isolated from the rest of your system for security and stability reasons. By default, a Flatpak app cannot access external drives, custom game directories, or system folders unless you explicitly allow it.

This design improves security, but when running Windows games and applications on Linux, especially those stored on separate partitions or secondary drives, you must manually grant access. Without proper filesystem permissions, Bottles will not see or launch those game files.


Handling Permissions for Bottles via Flatseal

If you installed Bottles via Flatpak, remember that it runs inside an isolated sandbox environment. This means it cannot access files, services, or external drives outside its sandbox unless you explicitly allow it to.

If your game library is stored on a separate storage drive, Bottles will not be able to launch those Windows applications or games by default. To fix this, grant the correct filesystem permissions using Flatseal.

Allow Bottles to Access Game/Application Folder

  1. Open Flatseal from your application menu or launch it from the terminal:
    flatpak run com.github.tchx84.Flatseal
    Flatseal graphical interface on Arch Linux used to manage Flatpak permissions for Bottles
  2. Select Bottles from the sidebar.
  3. Scroll down to the Filesystem section. Navigating to the Filesystem section in Flatseal to allow Bottles access to external drives on Arch Linux
  4. Next, in the Filesystem section, you can allow Bottles to access All System Files (filesystem=host), which gives it access to all connected storage devices, including USB drives and SD cards. However, this effectively removes the entire "sandbox" principle. If you accidentally run a malicious application or game, it would have access to all your data.
  5. The safer and more recommended approach is to grant access only to the specific folder where your Windows applications and games are stored, using the Other files option inside the Filesystem section.
  6. Click the folder or + icon from the Other files option.
  7. Copy your folder path and paste it into the input field under Other files. That's it. Bottles will now have access to your Windows games and application folder.
  8. One last thing to check: in the Devices section, make sure All devices is enabled. To properly run games, Bottles needs access to GPU acceleration, shared memory, and input devices.


Frequently Asked Questions: Flatpak on JaKooLit Hyprland

Why does JaKooLit Hyprland say "Flathub not added" or show a Flathub error?

This means the Flathub remote was never registered on your system, either it wasn't added automatically during the JaKooLit install, or you're setting up Flatpak manually for the first time. Run flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo, covered in Step 2 above, to fix it.

Does the XDG_DATA_DIRS fix persist after a reboot?

Not with just the export command from Step 4, that only lasts for your current terminal session. To make it permanent across reboots and GUI-launched apps, add it as an environment variable directly in Hyprland's own config instead. Open ~/.config/hypr/hyprland.conf and add:

env = XDG_DATA_DIRS,$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/YOUR_USERNAME/.local/share/flatpak/exports/share

Then log out and back in. Since this is set through Hyprland's env = directive, it applies to the whole graphical session, including apps launched from your app launcher, not just terminal windows.

What's the difference between "All System Files" and "Other files" in Flatseal?

All System Files (filesystem=host) gives the app full access to every connected drive, removing Flatpak's sandbox protection entirely. Other files lets you grant access to one specific folder only, keeping the sandbox intact everywhere else. Unless you have a specific reason not to, use Other files and point it directly at your games/apps folder.

Do I need Flatseal for every Flatpak app, or just ones like Bottles?

Only apps that need access to files or folders outside their own sandbox, typically anything managing external programs or game libraries, like Bottles. Apps like Discord that only need internet access and don't touch your filesystem generally work fine with Flatpak's default permissions, no Flatseal required.

Can I name the Flathub remote something other than "flathub"?

Yes, the name in flatpak remote-add --if-not-exists flathub ... is just a local identifier you choose, it has no effect on how Flatpak actually works. If you rename it, remember to use that same name in later commands, like flatpak install <your-name> com.discordapp.Discord, instead of flathub.



🚀 Flatpak on JaKooLit Hyprland: Fully Set Up!

Flatpak is now installed on your JaKooLit Hyprland setup, Flathub is added, your apps show up in the application menu, and you know how to hand out permissions with Flatseal when something like Bottles needs access outside its sandbox. If you run into any other Flatpak app that misbehaves, the same Flatseal approach from this guide almost always solves it, just point it at the right folder or permission and you're set.

Put Flatpak to Work: Gaming on Arch Linux

🍷 Run Non-Steam Games with Bottles: Now that Bottles has the filesystem access it needs, see my full guide to running non-Steam Windows games on Arch Linux with Bottles.

🎮 Steam, Proton & ProtonUp-Qt: If Steam is more your speed, check out Part 1 of my gaming series, Windows Games on Arch Linux: Complete Steam and Proton Setup.

📈 GPU Overclocking & Monitoring: Coming from Windows and missing MSI Afterburner? Try my CoreCtrl + MangoHud setup guide for AMD GPUs on Linux.

Haven't installed JaKooLit yet? If you landed here first, start with my JaKooLit Hyprland installation guide before coming back to set up Flatpak.

🛠️ Support & Troubleshooting: Running into a Flatpak error this guide doesn't cover, or something specific to your setup? Drop a comment below and I'll help you sort it out.

If this fixed your Flatpak headaches, stick around, MusaBase has plenty more Arch and Hyprland guides where this came from.
101 out, I'll see you in the next one! 🚀

Hello World

Post a Comment