1{
2 lib,
3 fetchFromGitHub,
4 rustPlatform,
5 installShellFiles,
6 pandoc,
7 testers,
8 lsd,
9 git,
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "lsd";
14 version = "1.1.5";
15
16 src = fetchFromGitHub {
17 owner = "lsd-rs";
18 repo = "lsd";
19 rev = "v${version}";
20 hash = "sha256-LlMcBMb40yN+rlvGVsh7JaC3j9sF60YxitQQXe1q/oI=";
21 };
22
23 cargoHash = "sha256-yOJKXfPtzaYF012YCyW3m+9ffag4En4ZfTaiVh/85dM=";
24
25 nativeBuildInputs = [
26 installShellFiles
27 pandoc
28 ];
29
30 postInstall = ''
31 pandoc --standalone --to man doc/lsd.md -o lsd.1
32 installManPage lsd.1
33
34 installShellCompletion --cmd lsd \
35 --bash $releaseDir/build/lsd-*/out/lsd.bash \
36 --fish $releaseDir/build/lsd-*/out/lsd.fish \
37 --zsh $releaseDir/build/lsd-*/out/_lsd
38 '';
39
40 nativeCheckInputs = [ git ];
41
42 passthru.tests.version = testers.testVersion { package = lsd; };
43
44 meta = {
45 homepage = "https://github.com/lsd-rs/lsd";
46 description = "Next gen ls command";
47 license = lib.licenses.asl20;
48 maintainers = with lib.maintainers; [
49 zowoq
50 SuperSandro2000
51 ];
52 mainProgram = "lsd";
53 };
54}