
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.
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:
- Install Flatpak on JaKooLit Hyprland
- Fix "Flathub Not Added" on JaKooLit Hyprland
- Install a Flatpak application on JaKooLit Hyprland
- Fix Flatpak apps not showing in the JaKooLit Application Menu
- 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.
-
Install Flatpak:
sudo pacman -S flatpak -
Fix "Flathub Not Added" / Flathub Error:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -
Install and launch a Flatpak app (example: Discord):
flatpak install flathub com.discordapp.Discord flatpak run com.discordapp.Discord -
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" -
Make the XDG_DATA_DIRS fix permanent:
Add this line, then log out and back in:sudo nano ~/.config/hypr/hyprland.confenv = XDG_DATA_DIRS,$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/YOUR_USERNAME/.local/share/flatpak/exports/share -
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:
- Open the terminal. On JaKooLit Hyprland, the default keybind is META + ENTER or START-KEY + ENTER.
- 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
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.
- Run:
flatpak install flathub com.discordapp.Discord - 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.
- 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.
- To launch Discord, we simply run:
flatpak run com.discordapp.Discord
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.
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
- Open Flatseal from your application menu or launch it from the terminal:
flatpak run com.github.tchx84.Flatseal
- Select Bottles from the sidebar.
- Scroll down to the Filesystem section.
- 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.
- 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.
- Click the folder or + icon from the Other files option.
- 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.
- 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.
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! 🚀



