diff --git a/flake.nix b/flake.nix index 07fb4afb..7c10f7c7 100644 --- a/flake.nix +++ b/flake.nix @@ -52,10 +52,13 @@ }; devShells = { - default = pkgs.callPackage ./nix/shell.nix { }; + default = pkgs.callPackage ./nix/shell.nix { + inherit toolchain; + inherit (self.packages.${system}) yazi yazi-unwrapped; + }; }; - formatter = pkgs.nixfmt-rfc-style; + formatter = pkgs.nixfmt-tree; } ) // { diff --git a/nix/shell.nix b/nix/shell.nix index f39538dc..3207d8e3 100644 --- a/nix/shell.nix +++ b/nix/shell.nix @@ -1,14 +1,14 @@ { - callPackage, - rust-bin, + mkShell, + yazi, + toolchain, nodePackages, + yazi-unwrapped, }: -let - mainPkg = callPackage ./yazi.nix { }; -in -mainPkg.overrideAttrs (oa: { - nativeBuildInputs = [ - (rust-bin.nightly.latest.default.override { + +mkShell { + packages = yazi.passthru.runtimePaths ++ [ + (toolchain.override { extensions = [ "rust-src" "rustfmt" @@ -16,10 +16,10 @@ mainPkg.overrideAttrs (oa: { "clippy" ]; }) - nodePackages.cspell - ] - ++ (oa.nativeBuildInputs or [ ]); + ]; + + inputsFrom = [ yazi-unwrapped ]; env.RUST_BACKTRACE = "1"; -}) +} diff --git a/nix/yazi.nix b/nix/yazi.nix index 1eacd22c..5bac0fc7 100644 --- a/nix/yazi.nix +++ b/nix/yazi.nix @@ -96,6 +96,8 @@ runCommand yazi-unwrapped.name inherit (yazi-unwrapped) pname version meta; nativeBuildInputs = [ makeWrapper ]; + + passthru.runtimePaths = runtimePaths; } '' mkdir -p $out/bin