{ inputs.nixpkgs.url = "github:nixos/nixpkgs"; outputs = { self, nixpkgs, flake-utils, fenix }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ fenix.overlays.default ]; }; toolchain = pkgs.fenix.stable; flakePkgs = rec { # client = pkgs.callPackage ./client { inherit toolchain; }; NetAsyncHTTPServer = pkgs.perl536Packages.callPackage ./nix/NetAsyncHTTPServer.nix { }; }; in { packages = flake-utils.lib.flattenTree flakePkgs; devShell = pkgs.mkShell { # inputsFrom = with flakePkgs; [ client ]; packages = (with pkgs; [ pkg-config perl openssl protobuf clang-tools ]) ++ (with toolchain; [ rustc cargo # Get the nightly version of rustfmt so we can wrap comments pkgs.fenix.default.rustfmt ]); # ++ (with pkgs.perl536Packages; [ # CPAN # EmailMIME # CryptEd25519 # DigestSHA1 # DigestHMAC # DataDump # EmailAddressXS # FileSlurper # Future # IOAsync # IOAsyncSSL # JSON # ListUtilsBy # ModulePluggable # NetAsyncHTTP # flakePkgs.NetAsyncHTTPServer LIBRARY_PATH = pkgs.lib.concatStringsSep ":" [ "${pkgs.zlib}/lib" ]; PKG_CONFIG_PATH = pkgs.lib.concatStringsSep ":" [ "${pkgs.gnome.libsoup.dev}/lib/pkgconfig" "${pkgs.webkitgtk.dev}/lib/pkgconfig" "${pkgs.gtk3.dev}/lib/pkgconfig" "${pkgs.gtk4.dev}/lib/pkgconfig" "${pkgs.glib.dev}/lib/pkgconfig" "${pkgs.cairo.dev}/lib/pkgconfig" "${pkgs.gdk-pixbuf.dev}/lib/pkgconfig" "${pkgs.pango.dev}/lib/pkgconfig" "${pkgs.harfbuzz.dev}/lib/pkgconfig" "${pkgs.at-spi2-atk.dev}/lib/pkgconfig" "${pkgs.zlib.dev}/lib/pkgconfig" ]; }; }); }