{ description = "Scraper that can parse all of Victoria University of Wellington's courses, and output them in a computer-readable JSON file."; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nix2container.url = "github:nlewo/nix2container"; nix2container.inputs.nixpkgs.follows = "nixpkgs"; mk-shell-bin.url = "github:rrbutani/nix-mk-shell-bin"; devenv.url = "github:cachix/devenv"; }; outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} { imports = [inputs.devenv.flakeModule]; systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"]; perSystem = { lib, pkgs, ... }: { packages.default = pkgs.callPackage ./nix/package.nix {}; devenv.shells.default = { env = { LD_LIBRARY_PATH = lib.makeLibraryPath [pkgs.openssl]; PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig"; }; languages = { nix.enable = true; rust.enable = true; }; packages = let inherit (pkgs) cargo-nextest openssl pkg-config; in [cargo-nextest openssl openssl.dev pkg-config]; pre-commit.hooks.alejandra.enable = true; }; }; }; }