veloren/flake.nix

62 lines
1.6 KiB
Nix

{
description = "Flake providing Veloren, a multiplayer voxel RPG written in Rust.";
inputs = {
crate2nix = {
url = "github:kolloch/crate2nix?rev=3701179c8aef0677dab1915457ca0f367f2dc523";
flake = false;
};
flake-utils.url = "github:numtide/flake-utils";
nixpkgsMoz = {
url = "github:mozilla/nixpkgs-mozilla";
flake = false;
};
nixpkgs.url = "github:NixOS/nixpkgs?rev=c00959877fb06b09468562518b408acda886c79e";
};
outputs = inputs: with inputs;
flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
let
sources = {
inherit
crate2nix
nixpkgs
nixpkgsMoz
;
};
veloren = import ./nix/veloren.nix {
inherit
nixpkgs
sources
system
;
sourceInfo =
if self.sourceInfo ? rev then self.sourceInfo // {
# Tag would have to be set manually for stable releases flake
# because there's currently no way to get the tag via the interface.
# tag = v0.8.0;
} else (throw "Can't get revision because the git tree is dirty");
};
in
with flake-utils; rec {
apps = builtins.mapAttrs
(name: value: lib.mkApp { inherit name; drv = value; })
packages;
defaultApp = apps.veloren-voxygen;
packages = veloren;
defaultPackage = packages.veloren-voxygen;
devShell = import ./nix/devShell.nix {
inherit
nixpkgs
sources
system
;
};
}
);
}