Skip to content
Snippets Groups Projects
flake.nix 710 B
Newer Older
Jens Nolte's avatar
Jens Nolte committed
{
  outputs = { self, nixpkgs }:
  let
    lib = nixpkgs.lib;
    systems = lib.platforms.unix;
    forAllSystems = f: lib.genAttrs systems (system: f system);
  in {
    packages = forAllSystems (system: {
      qrpc = import ./. {
        pkgs = nixpkgs.legacyPackages.${system};
      };
    });

    overlay = self: super: {
      haskell = super.haskell // {
        packageOverrides = hself: hsuper: super.haskell.packageOverrides hself hsuper // {
          qrpc = import ./. { pkgs = self; haskellPackages = hself; };
        };
      };
    };

    defaultPackage = forAllSystems (system: self.packages.${system}.qrpc);

    devShell = forAllSystems (system: self.packages.${system}.qrpc.env);
  };
}