{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/release-23.05"; darwin.url = "github:lnl7/nix-darwin"; darwin.inputs.nixpkgs.follows = "nixpkgs"; sile-flake.url = "github:sile-typesetter/sile"; runwhen.url = "github:zaphar/runwhen?ref=v0.0.5"; durnitisp.url = "github:zaphar/durnitisp"; agenix.url = "github:ryantm/agenix"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; jj.url = "github:martinvonz/jj"; }; outputs = {self, nixpkgs, sile-flake, darwin, runwhen, durnitisp, rust-overlay, jj, agenix, }: let forSystem = (system: let pkgs = import nixpkgs { inherit system; }; in darwin.lib.darwinSystem rec { inherit system; modules = [ ./darwin-configuration.nix agenix.nixosModules.default ]; inputs = { runwhen = runwhen.defaultPackage."${system}"; durnitisp = durnitisp.defaultPackage."${system}"; rust-overlay = rust-overlay.overlay; sile = sile-flake.defaultPackage.${system}; jj = jj.packages."${system}".jujutsu; age = agenix.packages."${system}".default; }; }); in { darwinConfigurations."jeremys-mbp" = forSystem "aarch64-darwin"; }; }