https://github.com/mj41/minecraft-fedora-installer
A simple binary (Go application) to install the Minecraft launcher per-user on Fedora Linux. Downloads, extracts, and configures the official Minecraft launcher with desktop integration.
https://github.com/mj41/minecraft-fedora-installer
fedora minecraft
Last synced: 22 days ago
JSON representation
A simple binary (Go application) to install the Minecraft launcher per-user on Fedora Linux. Downloads, extracts, and configures the official Minecraft launcher with desktop integration.
- Host: GitHub
- URL: https://github.com/mj41/minecraft-fedora-installer
- Owner: mj41
- License: apache-2.0
- Created: 2025-12-31T09:26:00.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2025-12-31T12:48:54.000Z (27 days ago)
- Last Synced: 2026-01-04T14:27:26.802Z (23 days ago)
- Topics: fedora, minecraft
- Language: Go
- Homepage: https://github.com/mj41/minecraft-fedora-installer/blob/main/readme.md#quick-install-recommended
- Size: 111 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Minecraft Launcher Installer for Fedora Linux
A simple Go application to install the Minecraft launcher per-user on Fedora Linux. Downloads, extracts, and configures the official Minecraft launcher with desktop integration.

## Features
- **No root required**: Per-user installation to standard XDG directories
- **Automatic download**: Fetches the latest launcher from Mojang
- **Desktop integration**: Adds launcher to application menu with icon
- **Auto GPU detection**: Automatically configures for AMD/Intel/NVIDIA GPUs
- **Idempotent**: Skips already completed steps unless `--force` is used
- **Self-contained binary**: Icon and desktop template embedded at build time
- **Multi-architecture**: Pre-built binaries for AMD64 and ARM64
## GPU Compatibility
The installer **automatically detects your GPU** and configures the desktop file accordingly:
- ✅ **AMD GPUs** (Radeon) - Configured with Mesa
- ✅ **Intel GPUs** - Configured with Mesa
- ✅ **NVIDIA proprietary drivers** - Configured without Mesa override
- ✅ **NVIDIA Nouveau** (open source) - Configured with Mesa
No manual configuration needed! The installer uses `lspci` to detect your GPU type.
## Per-User Installation Locations
| Item | Path |
|------|------|
| Application | `~/opt/minecraft-launcher/` |
| Desktop file | `~/.local/share/applications/minecraft.desktop` |
| Icon | `~/.local/share/icons/minecraft.png` |
These are the standard XDG Base Directory locations for per-user installations.
## Download Pre-built Binary
### Quick Install (Recommended)
One-line install - downloads and runs the installer automatically:
```bash
curl -fsSL https://raw.githubusercontent.com/mj41/minecraft-fedora-installer/refs/heads/main/install.sh | bash
```
For force reinstall:
```bash
curl -fsSL https://raw.githubusercontent.com/mj41/minecraft-fedora-installer/refs/heads/main/install.sh | bash -s -- --force
```
### Manual Download
Download the latest release from GitHub:
```bash
# For AMD64/x86_64 systems (most common)
wget https://github.com/mj41/minecraft-fedora-installer/releases/latest/download/mc-installer-amd64
chmod +x mc-installer-amd64
./mc-installer-amd64
# For ARM64 systems
wget https://github.com/mj41/minecraft-fedora-installer/releases/latest/download/mc-installer-arm64
chmod +x mc-installer-arm64
./mc-installer-arm64
```
Binaries are built with Go 1.23 as static executables - compatible with all Linux distributions including Fedora 43+.
## Build and Run
First, save the Minecraft icon as `minecraft-icon.png` in this directory. The icon and desktop template will be embedded directly into the binary.
```bash
# Build (icon and template are embedded into the binary)
go build -o mc-installer main.go
# Or use make
make build
# Show help
./mc-installer --help
# Run installer
./mc-installer
# Force reinstall (even if already installed)
./mc-installer --force
# Using make
make run
make run-force
```
The compiled binary is fully self-contained with the icon and desktop template embedded. You can distribute just the `mc-installer` executable.
## Command-Line Options
- `--help` - Show help message and installation paths
- `--version` - Show version information
- `--force` - Force reinstallation even if already installed
## What it does
1. Detects your GPU type (AMD/Intel/NVIDIA)
2. Creates the necessary directories (`~/opt/minecraft-launcher/`, `~/.local/share/applications/`, `~/.local/share/icons/`)
3. Downloads from https://launcher.mojang.com/download/Minecraft.tar.gz to `/tmp/` (skipped if already present)
4. Extracts the launcher to `~/opt/minecraft-launcher/` (strips top-level directory from archive)
5. Installs the embedded icon to `~/.local/share/icons/minecraft.png`
6. Creates a `.desktop` file with GPU-specific configuration
7. Cleans up temporary download file
8. After installation, Minecraft will appear in your application menu
The installer will skip steps if already completed, unless `--force` is specified.
## Running Minecraft
After installation:
- Find "Minecraft" in your application menu
- Or run directly: `~/opt/minecraft-launcher/minecraft-launcher`
## Uninstallation
```bash
rm -rf ~/opt/minecraft-launcher
rm ~/.local/share/applications/minecraft.desktop
rm ~/.local/share/icons/minecraft.png
```
## Documentation
- [Release Process](docs/dev/release.md) - How to create new releases
- [Man Page](docs/mc-installer.1) - Manual page (can be viewed with `man docs/mc-installer.1`)
- [Changelog](CHANGELOG.md) - Version history and changes
## Contributing
Contributions are welcome! Please ensure:
- Desktop file passes validation: `desktop-file-validate minecraft.desktop.tmpl`
- CHANGELOG.md is updated for notable changes
- Follow existing code style