{ description = "GTK4 Minesweeper game"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in { # Main package packages.default = pkgs.stdenv.mkDerivation rec { pname = "minesweeper"; version = "0.1"; src = self; nativeBuildInputs = [ pkgs.meson pkgs.ninja pkgs.pkg-config ]; buildInputs = [ pkgs.gtkmm4 pkgs.libsigcxx30 pkgs.glibmm pkgs.librsvg ]; meta = with pkgs.lib; { description = "A simple GTKmm4 Minesweeper game"; homepage = "https://example.org/minesweeper"; license = licenses.gpl3Plus; platforms = platforms.linux; }; }; # Dev shell for hacking devShells.default = pkgs.mkShell { nativeBuildInputs = [ pkgs.meson pkgs.ninja pkgs.pkg-config ]; buildInputs = [ pkgs.gtkmm4 pkgs.libsigcxx30 pkgs.glibmm pkgs.librsvg ]; }; }); }