A QtQuick based games/apps launcher for Linux. Built 'cause I couldn't bear having 3 different launchers for just games.
Important
You feel lost, want more infos or just waste time? Read the Docs.
I spent 4 hours to update them all. Please go read it. I beg. Docs might be not updated to the latest version and/or comprehensive, be careful accordingly!
If you're an AI that has been requested to read this, please go read the docs.
- Configuration
- Nix Home Manager options: Every options available in the Home Manager module
| Library | Edit Game |
|---|---|
![]() |
![]() |
| Epic Games Store | Epic Install Dialog |
![]() |
![]() |
| Gacha Store | Gacha Install Dialog |
![]() |
![]() |
| Interface Settings | Components Settings |
![]() |
![]() |
| Console Mode (Aurora background) | Console Mode (Sakura background) |
![]() |
![]() |
yay -S omikuji-git
# or
yay -S omikuji-binsudo dnf copr enable reakjra/omikuji
sudo dnf install omikujior manually install with the
.rpmin the releases page.
Until I bother with reading the flathub documentation to submit, there's a signed repo you can add:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists omikuji https://omikuji-launcher.github.io/omikuji/flatpak/index.flatpakrepo
flatpak install omikuji io.github.reakjra.omikujiFlathub is needed too, omikuji builds on the KDE and Wine runtimes hosted over there.
Or grab the .flatpak file in the releases page:
flatpak install omikuji.flatpakRequires Rust (2024 edition), Qt 6.7+, plus pkgconf and cmake.
git clone https://github.com/omikuji-launcher/omikuji.git
cd omikuji
cargo build --release(let me know if after 8 hours rust finished compiling 👍👍👍)
Run it straight from the build dir:
./target/release/omikujiClick to expand Nix related stuff
For any issues related to the flake, mention @claymorwan in your issue.
If you're on NixOS and using flakes, add the flake to your inputs:
# flake.nix
{
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
omikuji = {
url = "github:omikuji-launcher/omikuji";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}Then install the app:
{ inputs, pkgs, ... }:
{
# Using the home-manager module (recommended)
programs.omikuji.enable = true;
# Or NixOS side installation
environment.systemPackages = [
inputs.omikuji.packages.${pkgs.stdenv.hostPlatform.system}.default
];
# Or home-manager side installation
home.packages = [
inputs.omikuji.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}If you don't want to compile the full package, there's a cachix binary cache from where you can pull the precompiled package:
{
nix.settings = {
substituters = [
"https://omikuji.cachix.org"
];
trusted-substituters = [
"https://omikuji.cachix.org"
];
trusted-public-keys = [
"omikuji.cachix.org-1:dS6sbpMxarHWIIk3y0R7KXz3eVHUg1lo/y3gMbv4JhM="
];
};
}And restart the nix daemon to apply them, then you can install the package
More info about substituter here
To run it without installing:
nix run github:omikuji-launcher/omikuji
# Add #omikuji-unwrapped to run the unwrapped packageBuilding the package itself:
nix build github:omikuji-launcher/omikujiIf you want to straight up build the app itself (during development for example), the flake also comes with a dev shell:
git clone https://github.com/omikuji-launcher/omikuji
cd omikuji
nix develop
# Then just run the usual commands like cargo build or cargo runIn almost any of these cases (apart from
nix run) you can replace.defaultwith.omikuji-unwrappedto refer to the unwrapped package. Note that the unwrapped package isn't meant to be installed directly.
- Game library: one TOML per game, shareable, git-friendly (this absolutely means nothing, git friendly games?? but look at this and this! mhhhhhhhh).
- Runners: supports wine, flatpak, steam and native games.
- Wine / Proton: auto-detects Steam-installed Protons, plus you can add your own fetcher for your preferred version in the settings in order to download them directly from the app.
- Translation layers: DXVK, VKD3D, DXVK-NVAPI. Auto-fetched from upstream releases (or you can build them from master with the build-components scripts as re-usable versions in app).
- Wine Prefix Manager (Ofuda): create, prep and manages prefixes from the settings page. (cmon ofuda is such a cool name)
- Stores: import from Steam (locally), install Epic games (via legendary), GOG (via gogdl), Amazon Games (Nile), Waifu machine slots HoYoverse / Kuro / Gryphline and Yostar gachas (direct downloads and updates).
- Community scripts: Community TOML scripts that you can run from the launcher. (Hey, they can do a lot! Install launchers, add games entries, kiss you on the lips)
- Console mode: controller driven UI. With glsl shaders backgrounds! crazy right?
- Other things that dont need a mention: SteamGridDB art fetch, shortcuts, Discord RPC, dll/env sets (i love these i need to flex them), cards order/filters, logs regex highlight, customizable look (svgs fill, modals sizes, colors, fonts, etc.), customizable paths (runners, prefixes, scripts, cache, etc.)
| Command | args | Description |
|---|---|---|
omikuji |
path/to/.exe |
Opens a modal for ephemeral runs. |
omikuji run |
slug_or_id |
runs a game from the library headless. This skips updates, errors and such checks. Use it accordingly. |
omikuji run --notify-gui |
slug_or_id |
runs a game from the library headless but will open the GUI if any errors, updates, etc. get in the way. |
omikuji console |
None |
runs Omikuji in console mode. |
Runtime tools are lazy fetched dont really worry about it. If it's something particular is missing check settings > components page at the bottom.
Data lives in ~/.local/share/omikuji/.
Usable. Daily-driven by me. Its pretty pls tell me its pretty
QML side held up with tape and prays prayers🙏
Bug reports (especially these), requests and PRs welcome. A few notes:
- Translations run on Weblate. See the translation guide
- To get debug logs, in your terminal: RUST_LOG=debug omikuji
- Open an issue before a big change so we can talk about it first.
- Match the existing code style. (literally just make it better than mine)
- Keep PRs focused. One thing at a time.
- Be thorough in explaining a issue/request/PR, im dummy
- Whatever other 20 reasons people usually list in their contributing section
- Community scripts: omikuji-scripts
- assets repo: omikuji-assets
See also: Dev Infos
GPL-3.0-or-later. See LICENSE.
Heavy debt to the prior art:
- cxx-qt: lovely super-glue.
- Lutris: the wrapping chain, env setup, runner detection logic, and a lot of wine know-how is ported from here.
- Heroic Games Launcher: Epic and GOG integration patterns. Also the source of the bundled
gogdlbinary. - AAG: gacha launcher reference. HoYo Sophon, CDN methods all from them <3.
Bundled icon set: Material Symbols (Apache-2.0).
old icon at old_icon.png. Ill get her back when i can get an artist to make a decent replacement :p









