{ pkgs, lib, ... }:

let

  viu = pkgs.rustPlatform.buildRustPackage {
    pname = "viu";
    version = "23-10-2022";

    src = pkgs.fetchFromGitHub {
      owner = "atanunq";
      repo = "viu";
      rev = "d377402ab0e29e890779071e2454b51bea8605c1";
      sha256 = "sha256-pvEuafwgHORwAjYGSB/m2BcdCCJ/UfLEgSUIgkyBrtI=";
    };

    # tests need an interactive terminal
    doCheck = false;

    cargoSha256 = "sha256-WZfQgCAe/vvGQohCJPB4XxKidWwS+m6GxBQ0nBxo8P4=";
  };
in
{
  home.packages = [
    pkgs.vifm
    viu # terminal image viewer
    pkgs.libarchive
    pkgs.zip
    pkgs.unzip
  ];

  xdg.configFile = {
    "vifm/vifmrc".source = ./vifmrc;
    "vifm/colors/catppuccin".source = ./vifm_catppuccin.vifm;
  };
}
