2dbf64a2e8c9bf828d69a4fc27f2af1bbfa780f2
- Rename app/binary/app-id to nomines (io.github.bemagri.nomines), config dir moves to ~/.config/nomines with legacy path fallback - Add persistent best-time leaderboard (Glib::KeyFile) - Theme-aware board following system light/dark preference - Beveled 3D cells, confetti win animation, keyboard shortcuts, right-click chording, per-difficulty window sizing - Add AppStream metainfo, validate desktop file and metainfo via meson tests - Fix license metadata to GPL-3.0-or-later and real homepage
NoMines
A modern GTK4/gtkmm implementation of the classic Minesweeper game with multiple difficulty levels, a persistent leaderboard, keyboard shortcuts, and light/dark theme support.
Features
- Multiple difficulty levels: Beginner, Intermediate, Expert, and Master
- Persistent leaderboard tracking the best time per difficulty
- Follows the system light/dark theme
- Win/lose animations, including a confetti win celebration
- Keyboard shortcuts:
R/Ctrl+Nnew game,1–4difficulty,Lleaderboard - Right-click chording on revealed cells
- Modern GTK4 user interface with client-side decorations
- Modern C++20 implementation
Building from Source
Dependencies
- GTK 4.0 or later
- gtkmm 4.0 or later
- sigc++ 3.0 or later
- Meson build system
- Ninja build system
Ubuntu/Debian
Install dependencies:
sudo apt install build-essential meson ninja-build libgtkmm-4.0-dev libsigc++-3.0-dev
Fedora
Install dependencies:
sudo dnf install gcc-c++ meson ninja-build gtkmm4.0-devel libsigc++3-devel
Arch Linux
Install dependencies:
sudo pacman -S base-devel meson ninja gtkmm-4.0 libsigc++-3.0
Building the Project
Clone the repository:
git clone https://github.com/bemagri/nomines
cd nomines
Configure and build with Meson:
meson setup build
meson compile -C build
Run the game:
./build/nomines
Installing
To install system-wide:
meson install -C build
Using Nix
If you use the Nix package manager, you can build and run the application with:
nix build
./result/bin/nomines
Or run it directly from the flake:
nix run
The Nix flake also provides a development shell with all dependencies:
nix develop
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Languages
C++
89.9%
Nix
6.1%
Meson
4%
