{ inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; inputs.systems.url = "github:nix-systems/default-linux"; outputs = { self, nixpkgs, systems, }: let forAllSystems = func: nixpkgs.lib.genAttrs (import systems) (system: func (import nixpkgs { inherit system; })); in { devShells = forAllSystems (pkgs: { default = pkgs.mkShell { packages = with pkgs; [ cargo rustc rust-analyzer rustfmt clippy ]; }; }); packages = forAllSystems (pkgs: { default = self.packages.${pkgs.system}.yoke; yoke = let details = (builtins.fromTOML (builtins.readFile ./Cargo.toml)).package; lib = pkgs.lib; in pkgs.rustPlatform.buildRustPackage (finalAttrs: { pname = details.name; inherit (details) version; src = ./.; cargoLock.lockFile = ./Cargo.lock; meta = { description = "A simple sandboxing tool, similar to bwrap"; homepage = "https://git.atagen.co/atagen/yoke"; license = lib.licenses.gpl3Plus; maintainers = [ lib.maintainers.atagen ]; mainProgram = details.name; }; }); }); }; }