mraow/flake.nix

70 lines
2.1 KiB
Nix

{
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"
];
};
});
}