diff --git a/flake.nix b/flake.nix index e745bbd..5695498 100644 --- a/flake.nix +++ b/flake.nix @@ -1,13 +1,18 @@ { inputs.nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; - outputs = {nixpkgs, ...}: let + outputs = { + self, + nixpkgs, + ... + }: let systems = ["x86_64-linux" "aarch64-linux"]; forEachSystem = nixpkgs.lib.genAttrs systems; pkgsForEach = nixpkgs.legacyPackages; in { packages = forEachSystem (system: { - default = pkgsForEach.${system}.callPackage ./nix/package.nix {}; + rogged = pkgsForEach.${system}.callPackage ./nix/package.nix {}; + default = self.packages.${system}.rogged; }); devShells = forEachSystem (system: { diff --git a/nix/package.nix b/nix/package.nix index 8fb5c18..0177a10 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -5,14 +5,23 @@ raylib, pkg-config, }: -stdenv.mkDerivation (finalAttrs: { +stdenv.mkDerivation { pname = "rogged"; version = "0.0.1"; - src = builtins.path { - path = ../.; - name = finalAttrs.pname; - }; + src = let + fs = lib.fileset; + s = ../.; + in + fs.toSource { + root = s; + fileset = fs.unions [ + (s + /assets) + (s + /libs) + (s + /src) + (s + /build.zig) + ]; + }; nativeBuildInputs = [ zig @@ -21,25 +30,9 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [raylib]; - dontConfigure = true; - - buildPhase = '' - runHook preBuild - export ZIG_GLOBAL_CACHE_DIR="$TMPDIR/zig-cache" - zig build --release=fast - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - cp zig-out/bin/roguelike $out/bin/ - runHook postInstall - ''; - meta = { description = "A turn-based roguelike game"; license = lib.licenses.mit; mainProgram = "roguelike"; }; -}) +}