diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 00000000..09875aed Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/yazi.desktop b/assets/yazi.desktop new file mode 100644 index 00000000..f1fc98a3 --- /dev/null +++ b/assets/yazi.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Yazi +Icon=yazi +Comment=Blazing fast terminal file manager written in Rust, based on async I/O +Terminal=true +TryExec=yazi +Exec=yazi %u +Type=Application +MimeType=inode/directory +Categories=Utility;Core;System;FileTools;FileManager;ConsoleOnly +Keywords=File;Manager;Explorer;Browser;Launcher diff --git a/nix/yazi.nix b/nix/yazi.nix index 178bd70d..b6b72b37 100644 --- a/nix/yazi.nix +++ b/nix/yazi.nix @@ -26,6 +26,7 @@ , fzf , withZoxide ? true , zoxide +, imagemagick }: (makeRustPlatform { cargo = rustToolchain; rustc = rustToolchain; }).buildRustPackage { @@ -37,7 +38,7 @@ cargoLock.lockFile = ../Cargo.lock; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ makeWrapper installShellFiles imagemagick ]; buildInputs = lib.optionals stdenv.isDarwin ( with darwin.apple_sdk.frameworks; [ Foundation ] ); @@ -62,6 +63,15 @@ --bash ./yazi-config/completions/yazi.bash \ --fish ./yazi-config/completions/yazi.fish \ --zsh ./yazi-config/completions/_yazi + + # Resize logo + for RES in 16 24 32 48 64 128 256; do + mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps + convert assets/logo.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/yazi.png + done + + mkdir -p $out/share/applications + install -m644 assets/yazi.desktop $out/share/applications/ ''; meta = with lib; {