added(build flake): wsl support
This commit is contained in:
31
flake.nix
31
flake.nix
@@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user