gw2buttplug-rs/flake.nix
2025-09-15 07:11:49 -07:00

65 lines
1.7 KiB
Nix

{
description = "nexus-rs addon fo yo hole";
inputs = {
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils = {
url = "github:numtide/flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
};
crane.url = "github:ipetkov/crane";
};
outputs = { self, fenix, flake-utils, crane, nixpkgs, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = (import nixpkgs) {
inherit system;
crossSystem.config = "x86_64-w64-mingw32";
};
packageToolchain = with fenix.packages.${system};
combine [
minimal.rustc
minimal.cargo
targets.x86_64-pc-windows-gnu.latest.rust-std
];
packageCraneLib = (crane.mkLib pkgs).overrideToolchain (p: packageToolchain);
example = pkgs.callPackage ./package.nix {
craneLib = packageCraneLib;
};
shellToolchain = with fenix.packages.${system};
combine [
complete
rust-analyzer
targets.x86_64-pc-windows-gnu.latest.rust-std
];
shellCraneLib = (crane.mkLib pkgs).overrideToolchain (p: shellToolchain);
exampleShell = import ./shell.nix {
inherit fenix pkgs system;
};
in
rec {
defaultPackage = packages.x86_64-pc-windows-gnu;
inherit pkgs;
devShells.default = exampleShell;
packages = {
inherit example;
default = example;
};
});
}