{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; naersk = { url = "github:nix-community/naersk"; inputs.nixpkgs.follows = "nixpkgs"; }; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, naersk, rust-overlay, self, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; pkgsWithRustOverlay = import nixpkgs { inherit system; overlays = [(import rust-overlay)]; }; in { packages.${system} = { bootler = pkgs.callPackage ./bootler/package.nix {}; bootle = pkgsWithRustOverlay.callPackage ./bootle/package.nix { naersk = naersk; bootler = self.packages.${system}.bootler; }; }; devShells.${system}.default = pkgs.mkShell { inputsFrom = [ self.packages.${system}.bootle self.packages.${system}.bootler ]; }; }; }