sampad/flake.nix

54 lines
1.3 KiB
Nix

{
description = "Sampad server";
inputs = {
utils.url = "github:numtide/flake-utils";
devshell.url = "github:numtide/devshell";
naersk.url = "github:nix-community/naersk";
rust-overlay.url = "github:oxalica/rust-overlay";
};
outputs = {
self,
nixpkgs,
utils,
naersk,
devshell,
rust-overlay,
}:
utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {inherit system;};
naersk-lib = pkgs.callPackage naersk {};
in {
defaultPackage = naersk-lib.buildPackage ./.;
defaultApp = utils.lib.mkApp {
drv = self.defaultPackage."${system}";
};
devShells.default = let
pkgs = import nixpkgs {
inherit system;
overlays = [devshell.overlay (import rust-overlay)];
};
in
pkgs.mkShell {
buildInputs = with pkgs; [
# Dhall (config) stuff
dhall
dhall-json
dhall-lsp-server
# Rust!
(rust-bin.stable.latest.default.override {
extensions = ["rls"];
})
# Build requirements
pkg-config
libusb
openssl
# Utils
mosquitto # So we can poke mqtt
];
};
formatter = pkgs.alejandra;
});
}