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 ( flake-utils.lib.eachDefaultSystem (
system: system:
let let
pkgs = import nixpkgs { pkgs_wsl = import nixpkgs {
overlays = [ (import rust-overlay) ]; overlays = [ (import rust-overlay) ];
localSystem = system; localSystem = system;
crossSystem = { crossSystem = {
@@ -33,9 +33,10 @@
libc = "msvcrt"; libc = "msvcrt";
}; };
}; };
pkgs = import nixpkgs { inherit system; };
craneLib = crane.mkLib pkgs; craneLib = crane.mkLib pkgs;
craneLib_wsl = (crane.mkLib pkgs).overrideToolchain ( craneLib_wsl = (crane.mkLib pkgs_wsl).overrideToolchain (
p: p:
p.rust-bin.stable.latest.default.override { p.rust-bin.stable.latest.default.override {
targets = [ "x86_64-pc-windows-gnu" ]; targets = [ "x86_64-pc-windows-gnu" ];
@@ -52,7 +53,6 @@
# Add additional build inputs here # Add additional build inputs here
] ]
++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
# Additional darwin specific inputs can be set here
pkgs.libiconv pkgs.libiconv
]; ];
}; };
@@ -60,11 +60,9 @@
my-crate = craneLib.buildPackage ( my-crate = craneLib.buildPackage (
commonArgs commonArgs
// { // {
buildInputs = [
];
cargoArtifacts = craneLib.buildDepsOnly commonArgs; 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 ( my-crate-wsl = craneLib_wsl.buildPackage (
@@ -80,7 +78,9 @@
}; };
packages.default = my-crate; 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 { apps.default = flake-utils.lib.mkApp {
drv = my-crate; drv = my-crate;
@@ -95,20 +95,9 @@
# Extra inputs can be added here; cargo and rustc are provided by default. # Extra inputs can be added here; cargo and rustc are provided by default.
packages = with pkgs; [ packages = with pkgs; [
# expat wayland
# fontconfig
# freetype
# freetype.dev
# libGL
# pkg-config
# xorg.libX11
# xorg.libXcursor
# xorg.libXi
# xorg.libXrandr
# wayland
# libxkbcommon
]; ];
# 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";
}; };
} }
); );