From aea0d5e9337109da1e3fa842de2fde94d4048330 Mon Sep 17 00:00:00 2001 From: Doloro1978 Date: Fri, 24 Oct 2025 16:06:50 +0100 Subject: [PATCH] meow --- flake.lock | 23 ++++++++++++++++++++++- flake.nix | 53 +++++++++++++++++++++++++++++++++++++++-------------- src/main.rs | 2 +- 3 files changed, 62 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index a6dc68b..ffe0772 100644 --- a/flake.lock +++ b/flake.lock @@ -53,7 +53,28 @@ "inputs": { "crane": "crane", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761273263, + "narHash": "sha256-6d6ojnu6A6sVxIjig8OL6E1T8Ge9st3YGgVwg5MOY+Q=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "28405834d4fdd458d28e123fae4db148daecec6f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "systems": { diff --git a/flake.nix b/flake.nix index 19799ee..8d631c9 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,10 @@ crane.url = "github:ipetkov/crane"; flake-utils.url = "github:numtide/flake-utils"; + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -15,14 +19,28 @@ nixpkgs, crane, flake-utils, + rust-overlay, ... }: flake-utils.lib.eachDefaultSystem ( system: let - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { + overlays = [ (import rust-overlay) ]; + localSystem = system; + crossSystem = { + config = "x86_64-w64-mingw32"; + libc = "msvcrt"; + }; + }; craneLib = crane.mkLib pkgs; + craneLib_wsl = (crane.mkLib pkgs).overrideToolchain ( + p: + p.rust-bin.stable.latest.default.override { + targets = [ "x86_64-pc-windows-gnu" ]; + } + ); # Common arguments can be set here to avoid repeating them later # Note: changes here will rebuild all dependency crates @@ -49,6 +67,12 @@ # MY_CUSTOM_VAR = "some value"; } ); + my-crate-wsl = craneLib_wsl.buildPackage ( + commonArgs + // { + cargoArtifacts = craneLib.buildDepsOnly commonArgs; + } + ); in { checks = { @@ -56,6 +80,7 @@ }; packages.default = my-crate; + packages.default-wsl = my-crate-wsl; apps.default = flake-utils.lib.mkApp { drv = my-crate; @@ -70,20 +95,20 @@ # 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 + # expat + # fontconfig + # freetype + # freetype.dev + # libGL + # pkg-config + # xorg.libX11 + # xorg.libXcursor + # xorg.libXi + # xorg.libXrandr + # wayland + # libxkbcommon ]; - LD_LIBRARY_PATH = "${pkgs.libGL}/lib:${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"; }; } ); diff --git a/src/main.rs b/src/main.rs index b6ae29a..31985b2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,7 @@ pub enum UpdateMessage { } impl Todo { - pub fn view(&self) -> Column { + pub fn view(&self) -> Column<'_, UpdateMessage> { column![text("meow").size(24)] } pub fn update(&mut self, msg: UpdateMessage) {