62 lines
1.4 KiB
Nix
62 lines
1.4 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
};
|
|
outputs = {
|
|
nixpkgs,
|
|
self,
|
|
...
|
|
}: let
|
|
systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
|
forAllSystems = f:
|
|
nixpkgs.lib.genAttrs systems (system: let
|
|
pkgs = import nixpkgs {inherit system;};
|
|
in
|
|
f {
|
|
inherit pkgs;
|
|
inherit (pkgs) lib;
|
|
});
|
|
in {
|
|
devShells = forAllSystems ({
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
default = pkgs.mkShell {
|
|
shellHook = ''
|
|
set -a
|
|
source .env
|
|
set +a
|
|
'';
|
|
buildInputs = with pkgs; [
|
|
deno
|
|
gnumake
|
|
jq
|
|
zip
|
|
];
|
|
};
|
|
});
|
|
packages = forAllSystems ({pkgs, ...}: {
|
|
sixsides-easter-eggs = pkgs.callPackage ({
|
|
lib,
|
|
gnumake,
|
|
jq,
|
|
stdenv,
|
|
zip,
|
|
}:
|
|
stdenv.mkDerivation {
|
|
name = "sixsides-easter-eggs";
|
|
version = builtins.readFile ./VERSION;
|
|
buildInputs = [gnumake jq zip];
|
|
src = lib.cleanSource ./.;
|
|
dontBuild = true;
|
|
installPhase = ''
|
|
make release/src
|
|
cp "$(find -type f -name '*.zip' | head -n 1)" $out
|
|
'';
|
|
}) {};
|
|
default = self.packages.${pkgs.stdenv.hostPlatform.system}.sixsides-easter-eggs;
|
|
});
|
|
};
|
|
}
|