{ description = "Sigfinn - lifecycle manager for spawning tasks"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils, fenix }: (flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default fenix.overlays.default ]; }; rustToolchain = with fenix.packages.${system}; combine [ stable.rustc stable.cargo stable.clippy stable.rust-src stable.rust-std default.rustfmt ]; cargoArgs = [ "--workspace" "--bins" "--examples" "--tests" "--benches" "--all-targets" ]; unitTestArgs = [ "--workspace" ]; in { formatter = pkgs.treefmt; devShells.default = pkgs.callPackage ./devshell { inherit rustToolchain cargoArgs unitTestArgs; }; checks = { format = pkgs.callPackage ./devshell/format.nix { }; }; })) // { overlays.default = final: prev: { }; }; }