crystal-gauntlet/flake.nix

51 lines
1.3 KiB
Nix
Raw Normal View History

{
description = "Geometry Dash server reimplementation in Crystal";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
2023-01-03 15:50:05 +01:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05";
crystal-flake.url = "github:manveru/crystal-flake";
};
2023-01-03 15:50:05 +01:00
outputs = { self, nixpkgs, flake-utils, crystal-flake }:
(with flake-utils.lib; eachSystem defaultSystems) (system:
let
pkgs = nixpkgs.legacyPackages.${system};
2023-01-03 15:50:05 +01:00
inherit (crystal-flake.packages.${system}) crystal shards;
in
rec {
packages = flake-utils.lib.flattenTree rec {
crystal-gauntlet = pkgs.crystal.buildCrystalPackage {
pname = "crystal-gauntlet";
version = "0.1.0";
src = ./.;
format = "shards";
lockFile = ./shard.lock;
shardsFile = ./shards.nix;
2023-01-03 15:50:05 +01:00
buildInputs = with pkgs; [ openssl sqlite pkg-config ] ++ [ crystal ];
nativeBuildInputs = with pkgs; [ openssl pkg-config yt-dlp ffmpeg ] ++ [ crystal ];
2023-01-03 15:50:05 +01:00
crystal = crystal;
};
};
defaultPackage = packages.crystal-gauntlet;
devShell = pkgs.mkShell {
buildInputs = with pkgs; [
openssl
];
nativeBuildInputs = with pkgs; [
pkgconfig
crystal
shards
];
};
});
}