mirror of
https://github.com/sayanarijit/xplr
synced 2024-11-10 07:10:45 +00:00
64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
{
|
|
description = "xplr - A hackable, minimal, fast TUI file explorer";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs";
|
|
nix.url = "github:domenkozar/nix/relaxed-flakes";
|
|
flake-compat = {
|
|
url = "github:edolstra/flake-compat";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, nix, ... }:
|
|
let
|
|
systems = [
|
|
"x86_64-linux"
|
|
"i686-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-linux"
|
|
"aarch64-darwin"
|
|
];
|
|
forAllSystems = f: builtins.listToAttrs (map (name: { inherit name; value = f name; }) systems);
|
|
in
|
|
{
|
|
packages = forAllSystems (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
in
|
|
{
|
|
xplr = pkgs.rustPlatform.buildRustPackage rec {
|
|
name = "xplr";
|
|
src = ./.;
|
|
cargoLock = {
|
|
lockFile = ./Cargo.lock;
|
|
};
|
|
};
|
|
}
|
|
);
|
|
defaultPackage = forAllSystems (system: self.packages.${system}.xplr);
|
|
devShells = forAllSystems (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
devRequirements = with pkgs; [
|
|
gcc
|
|
gnumake
|
|
clippy
|
|
rustc
|
|
cargo
|
|
rustfmt
|
|
rust-analyzer
|
|
];
|
|
in
|
|
{
|
|
default = pkgs.mkShell {
|
|
RUST_BACKTRACE = 1;
|
|
|
|
buildInputs = devRequirements;
|
|
packages = devRequirements;
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|