Something went wrong. Try again.
a (hacky, wip) multi-tenant oidc-terminating reverse proxy, written in anger on top of pingora
Something went wrong. Try again.
proxy-in-anger flake.nix
1.6 kB · 54 lines
Nix
at wip/primary
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455{ description = "A replacement for the man tool";
# Flake inputs inputs = { nixpkgs.url = "github:NixOS/nixpkgs"; # also valid: "nixpkgs" rust-overlay.url = "github:oxalica/rust-overlay"; # A helper for Rust + Nix };
# Flake outputs outputs = { self, nixpkgs, rust-overlay }: let # Overlays enable you to customize the Nixpkgs attribute set overlays = [ # Makes a `rust-bin` attribute available in Nixpkgs (import rust-overlay) # Provides a `rustToolchain` attribute for Nixpkgs that we can use to # create a Rust environment (self: super: { rustToolchain = super.rust-bin.stable.latest.default.override { extensions = [ "rust-analyzer" "rust-src" "rust-docs" ]; }; }) ];
# Systems supported allSystems = [ "x86_64-linux" # 64-bit Intel/AMD Linux #"aarch64-linux" # 64-bit ARM Linux #"x86_64-darwin" # 64-bit Intel macOS #"aarch64-darwin" # 64-bit ARM macOS ];
# Helper to provide system-specific attributes forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit overlays system; }; }); in { # Development environment output devShells = forAllSystems ({ pkgs }: { default = pkgs.mkShell { # The Nix packages provided in the environment packages = (with pkgs; [ # The package provided by our custom overlay. Includes cargo, Clippy, cargo-fmt, # rustdoc, rustfmt, and other tools. cmake rustToolchain protobuf ]) ++ pkgs.lib.optionals pkgs.stdenv.isDarwin (with pkgs; [ libiconv ]); }; }); };}