{ inputs = { flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachSystem ["x86_64-linux"] (system: let pkgs = nixpkgs.legacyPackages.${system}; garbageProj = import ./Cargo.nix { inherit pkgs; }; garbageProjDebug = import ./Cargo.nix { inherit pkgs; release = false; }; garbage = pkgs.lib.recursiveUpdate garbageProj.rootCrate.build { meta = { description = "CLI tool to interact with the FreeDesktop trash API."; mainProgram = "garbage"; }; }; flakePkgs = { inherit garbage; tests = pkgs.callPackage ./tests { garbage = garbageProjDebug.rootCrate.build; }; }; in rec { packages = flake-utils.lib.flattenTree flakePkgs; checks = { tests = packages.tests; }; defaultPackage = flakePkgs.garbage; }); }