bawa

Crates.iobawa
lib.rsbawa
version0.1.0
created_at2025-07-02 19:54:53.62739+00
updated_at2025-07-02 19:54:53.62739+00
descriptionA TUI game save organizer
homepage
repositoryhttps://github.com/sarowish/bawa
max_upload_size
id1735530
size286,906
(sarowish)

documentation

README

bawa

bawa is a tui game save organizer.

demo

Features

  • Import and load save files.
  • Group save files using profiles.
  • Quickly search and jump using fuzzy finder.
  • Presets for Dark Souls Remastered, Dark Souls II, Dark Souls III, Sekiro and Elden Ring.
  • Custom games can be added given that they use a single file for save data.
  • Command line interface with shell completion, which can be used for setting global key bindings.
  • Customizable key bindings and theme through config.toml file

Dependencies

bawa needs Nerd Fonts for icons. If you don't want to use it, you can configure the icons in config.toml.

Installation

Cargo

bawa can be installed from crates.io.

cargo install bawa

Usage

Run bawa to launch the TUI.

Usage: bawa [OPTIONS] [COMMAND]

Commands:
  list     list save files
  load     load save file
  import   import save file
  rename   rename save file
  delete   delete save file
  game     manage games
  profile  manage profiles
  help     Print this message or the help of the given subcommand(s)

Options:
  -c, --config <FILE>  Path to configuration file
      --no-config      Ignore configuration file
  -h, --help           Print help
  -V, --version        Print version

For default key bindings, press ctrl-h or F1 in the app, or refer to the example config.toml file.

Shell Completion

bawa supports dynamic shell completions for bash, zsh, fish, elvish and powershell.

Bash

Add the following line to your .bashrc:

source <(COMPLETE=bash bawa)

Zsh

Add the following line to your .zshrc:

source <(COMPLETE=zsh bawa)

Fish

Create ~/.config/fish/completions/bawa.fish with the following line as the content:

source (COMPLETE=fish bawa | psub)

Elvish

Add the following line to ~/.config/elvish/rc.elv:

eval (env COMPLETE=elvish bawa | slurp)

Powershell

Add the following line to $PROFILE:

env COMPLETE=powershell bawa | Out-String | Invoke-Expression

Configuration

Options, key bindings and theme can be configured with a configuration file in TOML format. By default, the platform specific path listed in the following table will be checked for the configuration file:

Platform Path
Linux $XDG_CONFIG_HOME/bawa/config.toml
MacOS $HOME/Library/Application Support/bawa/config.toml
Windows %AppData%\bawa\config.toml

A different path can be specified with the --config flag. Configuration files can be ignored with the --no-config flag to launch the app with the default settings.

A sample configuration file with the default settings can be found in example/config.toml.

Commit count: 0

cargo fmt