{
description =
"A flake that contains the devshell, package, and package overlay of river-bsp-layout";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs@{ self, flake-parts, nixpkgs, rust-overlay, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
flake = {
overlays.default = final: prev: {
river-bsp-layout = final.callPackage ./default.nix {
inherit (prev) rustPlatform;
};
};
};
perSystem = { config, system, pkgs, ... }: {
_module.args.pkgs = import nixpkgs {
inherit system;
overlays = [ (import inputs.rust-overlay) self.overlays.default ];
};
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [ rust-bin.stable.latest.default ];
};
packages.river-bsp-layout = pkgs.river-bsp-layout;
packages.default = config.packages.river-bsp-layout;
apps.river-bsp-layout.program = "${config.packages.river-bsp-layout}/bin/river-bsp-layout";
apps.default.program = config.apps.river-bsp-layout.program;
formatter = pkgs.nixpkgs-fmt;
};
};
}