{ description = "Flake providing Veloren, a multiplayer voxel RPG written in Rust."; inputs.nci.url = "github:yusdacra/nix-cargo-integration"; outputs = inputs: let lib = inputs.nci.inputs.nixpkgs.lib; outputs = inputs.nci.lib.makeOutputs { root = ./.; defaultOutputs = { package = "veloren-voxygen"; app = "veloren-voxygen"; }; perCrateOverrides = { veloren-voxygen = { packageMetadata = _: { features = rec { release = ["default-publish"]; debug = release; test = release; }; }; }; }; overrides = { cCompiler = common: { cCompiler = common.pkgs.clang; useCCompilerBintools = true; }; crates = common: prev: let pkgs = common.pkgs; lib = pkgs.lib; gitLfsCheckFile = ./assets/voxygen/background/bg_main.jpg; utils = import ./nix/utils.nix {inherit pkgs;}; sourceInfo = if inputs.self.sourceInfo ? rev then inputs.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.9.0; } else (throw "Can't get revision because the git tree is dirty"); prettyRev = with sourceInfo; builtins.substring 0 8 rev + "/" + utils.dateTimeFormat lastModified; tag = if sourceInfo ? tag then sourceInfo.tag else ""; configMoldLinker = '' cat >>$CARGO_HOME/config.toml <