{ description = "Teaching calendar flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; }; outputs = { self, nixpkgs }: let supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); in { devShells = forEachSupportedSystem ({ pkgs }: { default = pkgs.mkShell rec { name = "calendar"; venvDir = "./.calendar"; packages = with pkgs; [ python3 python3Packages.venvShellHook ]; postVenvCreation = '' pip install -r ${./requirements.txt} ''; shellHook = '' venvShellHook ''; }; }); }; }