{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs =
{ self, nixpkgs }:
let
lib = nixpkgs.lib;
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
in
{
packages = lib.genAttrs supportedSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.rustPlatform.buildRustPackage {
pname = "mcserver";
version = "0.2.7";
cargoLock.lockFile = ./Cargo.lock;
src = lib.cleanSource ./.;
nativeBuildInputs = with pkgs; [
pkg-config
];
buildInputs = with pkgs; [
openssl
mcrcon
];
};
}
);
devShells = lib.genAttrs supportedSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.mkShell {
# A recent stable rust toolchain will be added
inputsFrom = [ self.packages.${system}.default ];
nativeBuildInputs = with pkgs; [
rust-analyzer
];
};
}
);
};
}