Selaa lähdekoodia

build(nix): add unstable package

This makes it easier for me to and other devs (and powerusers) to test and run
the most bleeding edge of eza.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
Christina Sørensen 2 vuotta sitten
vanhempi
sitoutus
8f0f2c99e5
1 muutettua tiedostoa jossa 45 lisäystä ja 4 poistoa
  1. 45 4
      flake.nix

+ 45 - 4
flake.nix

@@ -40,11 +40,52 @@
         formatter = treefmtEval.config.build.wrapper;
 
         packages = {
-          # For `nix build` & `nix run`:
+          # For `nix build` `nix run`, & `nix profile install`:
           default = naersk'.buildPackage {
+            pname = "eza";
+            version = "latest";
+
             src = ./.;
             doCheck = true; # run `cargo test` on build
-            inherit buildInputs;
+
+            # buildInputs = with pkgs; [ zlib ]
+            #   ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
+            buildInputs = buildInputs ++ (with pkgs; [zlib]);
+
+            nativeBuildInputs = with pkgs; [cmake pkg-config installShellFiles pandoc];
+
+            buildNoDefaultFeatures = true;
+            # buildFeatures = lib.optional gitSupport "git";
+            buildFeatures = "git";
+
+            # outputs = [ "out" "man" ];
+
+            postInstall = ''
+              pandoc --standalone -f markdown -t man man/eza.1.md > man/eza.1
+              pandoc --standalone -f markdown -t man man/eza_colors.5.md > man/eza_colors.5
+              pandoc --standalone -f markdown -t man man/eza_colors-explanation.5.md > man/eza_colors-explanation.5
+              installManPage man/eza.1 man/eza_colors.5 man/eza_colors-explanation.5
+              installShellCompletion \
+                --bash completions/bash/eza \
+                --fish completions/fish/eza.fish \
+                --zsh completions/zsh/_eza
+            '';
+
+            meta = with pkgs.lib; {
+              description = "A modern, maintained replacement for ls";
+              longDescription = ''
+                eza is a modern replacement for ls. It uses colours for information by
+                default, helping you distinguish between many types of files, such as
+                whether you are the owner, or in the owning group. It also has extra
+                features not present in the original ls, such as viewing the Git status
+                for a directory, or recursing into directories with a tree view. eza is
+                written in Rust, so it’s small, fast, and portable.
+              '';
+              homepage = "https://github.com/eza-community/eza";
+              license = licenses.mit;
+              mainProgram = "eza";
+              maintainers = with maintainers; [cafkafk];
+            };
           };
 
           # Run `nix build .#check` to check code
@@ -71,10 +112,10 @@
 
         # For `nix develop`:
         devShells.default = pkgs.mkShell {
-          nativeBuildInputs = with pkgs; [ toolchain just pandoc vhs convco ];
+          nativeBuildInputs = with pkgs; [toolchain just pandoc vhs convco];
         };
 
-        # for `nix flake check`
+        # For `nix flake check`
         checks = {
           formatting = treefmtEval.config.build.check self;
           build = packages.check;