syndicate-flake/flake.nix

37 lines
1.2 KiB
Nix
Raw Permalink Normal View History

2021-09-02 10:16:35 +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 {
lib = prev.lib.extend libOverlay;
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:
let pkgs = nixpkgs.legacyPackages.${system}.extend self.overlay;
in with pkgs; { inherit preserves-nim preserves-tools syndicate-rs; });
2021-09-02 10:16:35 +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
};
}