flake.nix 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. {
  2. description = "GTK4 Minesweeper game";
  3. inputs = {
  4. nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
  5. flake-utils.url = "github:numtide/flake-utils";
  6. };
  7. outputs = { self, nixpkgs, flake-utils }:
  8. flake-utils.lib.eachDefaultSystem (system:
  9. let
  10. pkgs = import nixpkgs { inherit system; };
  11. in {
  12. # Main package
  13. packages.default = pkgs.stdenv.mkDerivation rec {
  14. pname = "minesweeper";
  15. version = "0.1";
  16. src = self;
  17. nativeBuildInputs = [ pkgs.meson pkgs.ninja pkgs.pkg-config ];
  18. buildInputs = [ pkgs.gtkmm4 pkgs.libsigcxx30 pkgs.glibmm pkgs.librsvg ];
  19. meta = with pkgs.lib; {
  20. description = "A simple GTKmm4 Minesweeper game";
  21. homepage = "https://example.org/minesweeper";
  22. license = licenses.gpl3Plus;
  23. platforms = platforms.linux;
  24. };
  25. };
  26. # Dev shell for hacking
  27. devShells.default = pkgs.mkShell {
  28. nativeBuildInputs = [ pkgs.meson pkgs.ninja pkgs.pkg-config ];
  29. buildInputs = [ pkgs.gtkmm4 pkgs.libsigcxx30 pkgs.glibmm pkgs.librsvg ];
  30. };
  31. });
  32. }