2021-09-02 10:16:35 +00:00
|
|
|
{
|
2021-09-03 08:57:05 +00:00
|
|
|
description = "Syndicate utilities";
|
2021-09-02 10:16:35 +00:00
|
|
|
|
|
|
|
inputs.rust.url = "github:oxalica/rust-overlay";
|
|
|
|
|
|
|
|
outputs = { self, nixpkgs, rust }:
|
2021-09-02 20:12:54 +00:00
|
|
|
let
|
|
|
|
forEachSystem = nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ];
|
|
|
|
libOverlay = import ./lib.nix;
|
2021-09-02 10:16:35 +00:00
|
|
|
in {
|
2021-09-02 20:12:54 +00:00
|
|
|
lib = nixpkgs.lib.extend libOverlay;
|
2021-09-02 10:16:35 +00:00
|
|
|
|
|
|
|
overlay = final: prev:
|
2021-09-03 11:48:28 +00:00
|
|
|
let rust' = (prev.extend rust.overlay).rust-bin.nightly.latest.default;
|
|
|
|
in {
|
2021-09-02 20:12:54 +00:00
|
|
|
lib = prev.lib.extend libOverlay;
|
2021-09-03 16:37:39 +00:00
|
|
|
preserves-nim = final.callPackage ./preserves-nim { };
|
|
|
|
preserves-tools =
|
|
|
|
final.callPackage ./preserves-tools { rust = rust'; };
|
2021-09-03 11:48:28 +00:00
|
|
|
syndicate-rs = final.callPackage ./syndicate-rs { rust = rust'; };
|
2021-09-02 10:16:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
packages = forEachSystem (system:
|
2021-09-03 08:57:05 +00:00
|
|
|
let pkgs = nixpkgs.legacyPackages.${system}.extend self.overlay;
|
2021-09-03 16:37:39 +00:00
|
|
|
in with pkgs; { inherit preserves-nim preserves-tools syndicate-rs; });
|
2021-09-02 10:16:35 +00:00
|
|
|
|
2021-09-03 08:57:05 +00:00
|
|
|
nixosModules.syndicate-server =
|
|
|
|
# A little hack to apply our overlay to this module only.
|
|
|
|
let f = import ./nixos/syndicate-server.nix;
|
|
|
|
in { config, lib, pkgs, ... }:
|
|
|
|
f {
|
|
|
|
inherit config lib;
|
|
|
|
pkgs = pkgs.extend self.overlay;
|
|
|
|
};
|
2021-09-02 10:16:35 +00:00
|
|
|
};
|
|
|
|
}
|