A Nix flake that packages the official Hytale Launcher with automatic updates. New upstream releases are detected hourly and packaged automatically.
Hypixel Studios distributes the Hytale Launcher exclusively as a Flatpak. While Flatpak works, it comes with trade-offs for NixOS users:
| Concern | Flatpak | This Flake |
|---|---|---|
| Integration | Separate runtime, sandbox overhead | Native system integration |
| Declarative config | Requires extra setup | Works with standard Nix patterns |
| Reproducibility | Flatpak-managed updates | Pinnable via flake lock |
| Disk usage | Flatpak runtime + app | Just the launcher (~50MB) |
This flake extracts the launcher from the official Flatpak and repackages it as a native Nix derivation, giving you the best of both worlds: official binaries with Nix's declarative package management.
Try it without installing:
nix run github:JPyke3/hytale-launcher-nixInstall to your profile:
nix profile install github:JPyke3/hytale-launcher-nix{
inputs.hytale-launcher.url = "github:JPyke3/hytale-launcher-nix";
outputs = { nixpkgs, hytale-launcher, ... }: {
nixosConfigurations.yourhost = nixpkgs.lib.nixosSystem {
modules = [{
environment.systemPackages = [
hytale-launcher.packages.x86_64-linux.default
];
}];
};
};
}{ inputs, pkgs, ... }:
{
home.packages = [
inputs.hytale-launcher.packages.${pkgs.system}.default
];
}| Package | Description |
|---|---|
hytale-launcher |
FHS-wrapped launcher (default) - supports self-updates |
hytale-launcher-unwrapped |
Raw binary without FHS wrapper |
The default package uses an FHS environment, allowing the launcher's built-in update mechanism to function normally. When Hytale pushes an update, the launcher can update itself just like it would on a traditional Linux system.
This repository checks for new Hytale Launcher versions every hour:
- Detection: GitHub Actions fetches the latest Flatpak and computes its SHA256 hash
- Comparison: If the hash differs from the current package, an update is available
- PR Creation: A pull request is automatically created with the new hash
- Auto-merge: After CI verifies the build succeeds, the PR merges automatically
Since Hytale doesn't publish semantic versions, we use date-based versioning (YYYY.MM.DD). Multiple same-day releases get a suffix like 2025.01.14.2.
The build process:
- Fetch the official Flatpak from
launcher.hytale.com - Extract using
ostreeto unpack the Flatpak's OSTree repository - Patch ELF binaries with
autoPatchelfHookto use Nix store libraries - Wrap in an FHS environment with all required dependencies (GTK, WebKit, graphics drivers, audio)
The FHS wrapper ensures the launcher can:
- Write to
~/.local/share/Hytalefor game data - Self-update its binary when Hytale pushes updates
- Access system graphics (OpenGL, Vulkan) and audio (PipeWire, PulseAudio)
- NixOS or Nix with flakes enabled
- x86_64-linux (the only platform Hytale supports)
- Graphics drivers configured (Mesa/NVIDIA)
Launcher crashes immediately
- Ensure you have graphics drivers installed (
hardware.opengl.enable = trueon NixOS) - Check if Vulkan is available:
vulkaninfo
No audio
- Verify PipeWire or PulseAudio is running
- The FHS environment includes both; your system just needs one configured
Self-update fails
- This is expected with
hytale-launcher-unwrapped - Use the default
hytale-launcherpackage for self-update support
Issues and PRs welcome. The update mechanism is fully automated, but improvements to the packaging or documentation are appreciated.
- Hypixel Studios for Hytale
- Inspired by claude-code-nix's auto-update approach