mineschemer/flake.nix
2023-12-24 13:52:05 -05:00

52 lines
1.8 KiB
Nix

# This flake was initially generated by fh, the CLI for FlakeHub (version 0.1.9)
{
inputs = {
flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*.tar.gz";
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*.tar.gz";
};
outputs = { self, flake-schemas, nixpkgs }:
let
supportedSystems = [ "x86_64-linux" ];
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
pkgs = import nixpkgs { inherit system; };
});
in {
schemas = flake-schemas.schemas;
packages = forEachSupportedSystem ({ pkgs }: {
default = pkgs.writeShellScriptBin "mineschemer" ''
LD_LIBRARY_PATH="${pkgs.raylib}/lib" \
${pkgs.chez}/bin/scheme \
--script ${./main.scm} \
${./skins/classic.bmp} \
$@
'';
# get it? GET IT?
gum-wrapper = pkgs.writeShellScriptBin "mineschemer-gum-wrapper" ''
LD_LIBRARY_PATH="${pkgs.raylib}/lib" \
${pkgs.chez}/bin/scheme \
--script ${./main.scm} \
${./skins/classic.bmp} \
$(${pkgs.gum}/bin/gum input --prompt="mines: " --placeholder="must be a natural number") \
$(${pkgs.gum}/bin/gum input --prompt="width: " --placeholder="must be a natural number") \
$(${pkgs.gum}/bin/gum input --prompt="height: " --placeholder="must be a natural number")
'';
});
devShells = forEachSupportedSystem ({ pkgs }: {
default = pkgs.mkShell {
packages = with pkgs; [
nixpkgs-fmt
chez
raylib
];
LD_LIBRARY_PATH="${pkgs.raylib}/lib";
# not necessary
LIBRARY_PATH="${pkgs.raylib}/include";
};
});
};
}