mirror of
https://github.com/sxyazi/yazi.git
synced 2024-11-24 01:48:00 +03:00
68 lines
1.9 KiB
Nix
68 lines
1.9 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
rust-overlay = {
|
|
url = "github:oxalica/rust-overlay/b7996075da11a2d441cfbf4e77c2939ce51506fd"; # FIX: pin to a specific commit until cargo-c is updated
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
rust-overlay,
|
|
flake-utils,
|
|
...
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
rust-overlay.overlays.default
|
|
(
|
|
final: prev:
|
|
let
|
|
toolchain = final.rust-bin.stable.latest.default;
|
|
in
|
|
{
|
|
rustPlatform = prev.makeRustPlatform {
|
|
cargo = toolchain;
|
|
rustc = toolchain;
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
rev = self.shortRev or self.dirtyShortRev or "dirty";
|
|
date = self.lastModifiedDate or self.lastModified or "19700101";
|
|
version =
|
|
(builtins.fromTOML (builtins.readFile ./yazi-fm/Cargo.toml)).package.version
|
|
+ "pre${builtins.substring 0 8 date}_${rev}";
|
|
in
|
|
{
|
|
packages = {
|
|
yazi-unwrapped = pkgs.callPackage ./nix/yazi-unwrapped.nix { inherit version rev date; };
|
|
yazi = pkgs.callPackage ./nix/yazi.nix { inherit (self.packages.${system}) yazi-unwrapped; };
|
|
default = self.packages.${system}.yazi;
|
|
};
|
|
|
|
devShells = {
|
|
default = pkgs.callPackage ./nix/shell.nix { };
|
|
};
|
|
|
|
formatter = pkgs.nixfmt-rfc-style;
|
|
}
|
|
)
|
|
// {
|
|
overlays = {
|
|
default = self.overlays.yazi;
|
|
yazi = _: prev: { inherit (self.packages.${prev.stdenv.system}) yazi yazi-unwrapped; };
|
|
};
|
|
};
|
|
}
|