39 lines
1.3 KiB
Nix
39 lines
1.3 KiB
Nix
{
|
|
description = "Syndicate utilities";
|
|
|
|
inputs.rust.url = "github:oxalica/rust-overlay";
|
|
|
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/50a1ef0f59752623af884f5085e3d5e8bd806c77";
|
|
|
|
outputs = { self, nixpkgs, rust }:
|
|
let
|
|
forEachSystem = nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ];
|
|
libOverlay = import ./lib.nix;
|
|
in {
|
|
lib = nixpkgs.lib.extend libOverlay;
|
|
|
|
overlay = final: prev:
|
|
let rust' = (prev.extend rust.overlay).rust-bin.nightly.latest.default;
|
|
in {
|
|
lib = prev.lib.extend libOverlay;
|
|
preserves-nim = final.callPackage ./preserves-nim { };
|
|
preserves-tools =
|
|
final.callPackage ./preserves-tools { rust = rust'; };
|
|
syndicate-rs = final.callPackage ./syndicate-rs { rust = rust'; };
|
|
};
|
|
|
|
packages = forEachSystem (system:
|
|
let pkgs = nixpkgs.legacyPackages.${system}.extend self.overlay;
|
|
in with pkgs; { inherit preserves-nim preserves-tools syndicate-rs; });
|
|
|
|
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;
|
|
};
|
|
};
|
|
}
|