syndicate-flake/flake.nix

36 lines
1.0 KiB
Nix

{
description = "Syndicate utilities";
inputs.rust.url = "github:oxalica/rust-overlay";
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:
with final; {
lib = prev.lib.extend libOverlay;
syndicate-rs = callPackage ./syndicate-rs {
rust = let pkgs = prev.extend rust.overlay;
in pkgs.rust-bin.nightly.latest.default;
};
};
packages = forEachSystem (system:
let pkgs = nixpkgs.legacyPackages.${system}.extend self.overlay;
in with pkgs; { inherit 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;
};
};
}