ranger-like terminal file manager written in Rust.
- cargo >= 1.55
- rustc >= 1.55
- xsel/xclip/wl-clipboard (optional, for clipboard support)
- fzf (optional)
- zoxide (optional)
Also see Cargo.toml
~$ cargo build
~$ cargo install --path=. --force
~$ cargo install --git https://github.com/kamiyaa/joshuto.git --force
~# cargo install --path=. --force --root=/usr/local # /usr also works
Fedora (COPR)
sudo dnf copr enable atim/joshuto -y
sudo dnf install joshuto
Arch (AUR)
[yay/paru] -S joshuto
[yay/paru] -S joshuto-git
Gentoo (gentoo-zh)
sudo eselect repository enable gentoo-zh
sudo emerge -av app-misc/joshuto
Here's an example of using it in a nixos configuration
{
description = "My configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
joshuto.url = "github:kamiyaa/joshuto";
};
outputs = { nixpkgs, joshuto, ... }:
{
nixosConfigurations = {
hostname = nixpkgs.lib.nixosSystem
{
system = "x86_64-linux";
modules = [
{
nixpkgs.overlays = [ joshuto.overlays.default ];
environment.systemPackages = with pkgs;[
joshuto
];
}
];
};
};
};
}
Temporary run, not installed on the system
nix run github:kamiyaa/joshuto
MacOS (MacPorts)
sudo port install joshuto
~ $ joshuto
See docs#quit for exiting into current directory and other usages
Check out docs for details and config for examples
- general configurations
- for keybindings
- for opening files with applications
- color customizations
- bookmarks
See docs
Please create an issue :)
- Tabs
- Devicons
- Fuzzy search via fzf
- Ctrl/Shift/Alt support
- Bulk rename
- File previews
- See Image previews for more details
- Exit to current directory
- Asynch File IO (cut/copy/paste)
- Custom colors/theme
- Line numbers
- Jump to number
- File chooser
- Trash support
- Built-in command line
- Mostly working
- Currently implementation is kind of janky
- Tab autocomplete (in progress)