added(build flake): wsl support

This commit is contained in:
2025-10-25 21:30:07 +01:00
parent aea0d5e933
commit 76fbcf518f

View File

@@ -25,7 +25,7 @@
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
pkgs_wsl = import nixpkgs {
overlays = [ (import rust-overlay) ];
localSystem = system;
crossSystem = {
@@ -33,9 +33,10 @@
libc = "msvcrt";
};
};
pkgs = import nixpkgs { inherit system; };
craneLib = crane.mkLib pkgs;
craneLib_wsl = (crane.mkLib pkgs).overrideToolchain (
craneLib_wsl = (crane.mkLib pkgs_wsl).overrideToolchain (
p:
p.rust-bin.stable.latest.default.override {
targets = [ "x86_64-pc-windows-gnu" ];
@@ -52,7 +53,6 @@
# Add additional build inputs here
]
++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
# Additional darwin specific inputs can be set here
pkgs.libiconv
];
};
@@ -60,11 +60,9 @@
my-crate = craneLib.buildPackage (
commonArgs
// {
buildInputs = [
];
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
# Additional environment variables or build phases/hooks can be set
# here *without* rebuilding all dependency crates
# MY_CUSTOM_VAR = "some value";
}
);
my-crate-wsl = craneLib_wsl.buildPackage (
@@ -80,7 +78,9 @@
};
packages.default = my-crate;
packages.default-wsl = my-crate-wsl;
packages.default-wsl = my-crate-wsl.overrideAttrs (
final: prev: { meta.mainProgram = prev.pname + ".exe"; }
);
apps.default = flake-utils.lib.mkApp {
drv = my-crate;
@@ -95,20 +95,9 @@
# Extra inputs can be added here; cargo and rustc are provided by default.
packages = with pkgs; [
# expat
# fontconfig
# freetype
# freetype.dev
# libGL
# pkg-config
# xorg.libX11
# xorg.libXcursor
# xorg.libXi
# xorg.libXrandr
# wayland
# libxkbcommon
wayland
];
# LD_LIBRARY_PATH = "${pkgs.fontconfig}/lib:${pkgs.freetype}/lib:${pkgs.vulkan-loader}/lib:${pkgs.wayland}/lib:${pkgs.xorg.libX11}/lib:${pkgs.libxkbcommon}/lib";
LD_LIBRARY_PATH = "${pkgs.fontconfig}/lib:${pkgs.freetype}/lib:${pkgs.vulkan-loader}/lib:${pkgs.wayland}/lib:${pkgs.xorg.libX11}/lib:${pkgs.libxkbcommon}/lib";
};
}
);