2021-02-13 05:55:53 -07:00
|
|
|
<h1 align="center">
|
2021-04-25 11:21:52 -06:00
|
|
|
Atuin
|
2021-02-13 05:55:53 -07:00
|
|
|
</h1>
|
2021-04-25 11:21:52 -06:00
|
|
|
<em align="center">Magical shell history</em>
|
2021-02-14 09:23:08 -07:00
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
<a href="https://github.com/ellie/atuin/actions?query=workflow%3ARust"><img src="https://img.shields.io/github/workflow/status/ellie/atuin/Rust?style=flat-square" /></a>
|
|
|
|
<a href="https://crates.io/crates/atuin"><img src="https://img.shields.io/crates/v/atuin.svg?style=flat-square" /></a>
|
|
|
|
<a href="https://crates.io/crates/atuin"><img src="https://img.shields.io/crates/d/atuin.svg?style=flat-square" /></a>
|
|
|
|
<a href="https://github.com/ellie/atuin/blob/main/LICENSE"><img src="https://img.shields.io/crates/l/atuin.svg?style=flat-square" /></a>
|
|
|
|
</p>
|
2021-02-13 05:55:53 -07:00
|
|
|
|
2021-04-25 11:21:52 -06:00
|
|
|
- store shell history in a sqlite database
|
|
|
|
- back up e2e encrypted history to the cloud, and synchronize between machines
|
|
|
|
- log exit code, cwd, hostname, session, command duration, etc
|
|
|
|
- smart interactive history search to replace ctrl-r
|
|
|
|
- calculate statistics such as "most used command"
|
|
|
|
- old history file is not replaced
|
|
|
|
|
|
|
|
## Documentation
|
|
|
|
|
|
|
|
- [Quickstart](#quickstart)
|
|
|
|
- [Install](#install)
|
|
|
|
- [Import](docs/import.md)
|
|
|
|
- [Configuration](docs/config.md)
|
|
|
|
- [Searching history](docs/search.md)
|
|
|
|
- [Cloud history sync](docs/sync.md)
|
|
|
|
- [History stats](docs/stats.md)
|
2021-02-13 13:54:35 -07:00
|
|
|
|
2021-02-15 16:33:30 -07:00
|
|
|
## Supported Shells
|
|
|
|
|
|
|
|
- zsh
|
|
|
|
|
2021-04-25 11:21:52 -06:00
|
|
|
# Quickstart
|
|
|
|
|
|
|
|
```
|
|
|
|
curl https://github.com/ellie/atuin/blob/main/install.sh | bash
|
|
|
|
|
|
|
|
atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>
|
|
|
|
atuin import auto
|
|
|
|
atuin sync
|
|
|
|
```
|
|
|
|
|
2021-02-13 13:54:35 -07:00
|
|
|
## Install
|
|
|
|
|
2021-02-14 16:33:14 -07:00
|
|
|
### AUR
|
2021-02-15 16:33:30 -07:00
|
|
|
|
2021-04-25 11:21:52 -06:00
|
|
|
Atuin is available on the [AUR](https://aur.archlinux.org/packages/atuin/)
|
2021-02-15 16:33:30 -07:00
|
|
|
|
2021-02-14 16:33:14 -07:00
|
|
|
```
|
|
|
|
yay -S atuin # or your AUR helper of choice
|
|
|
|
```
|
|
|
|
|
|
|
|
### With cargo
|
2021-02-15 16:33:30 -07:00
|
|
|
|
2021-04-25 11:21:52 -06:00
|
|
|
It's best to use [rustup](https://rustup.rs/) to get setup with a Rust
|
|
|
|
toolchain, then you can run:
|
2021-02-13 13:54:35 -07:00
|
|
|
|
2021-02-14 11:20:18 -07:00
|
|
|
```
|
2021-02-14 16:33:14 -07:00
|
|
|
cargo install atuin
|
2021-02-14 11:20:18 -07:00
|
|
|
```
|
|
|
|
|
2021-02-14 16:33:14 -07:00
|
|
|
### From source
|
2021-02-15 16:33:30 -07:00
|
|
|
|
2021-02-13 13:54:35 -07:00
|
|
|
```
|
2021-02-14 16:33:14 -07:00
|
|
|
git clone https://github.com/ellie/atuin.git
|
|
|
|
cd atuin
|
|
|
|
cargo install --path .
|
2021-02-13 13:54:35 -07:00
|
|
|
```
|
|
|
|
|
2021-02-14 16:33:14 -07:00
|
|
|
### Shell plugin
|
2021-02-13 13:54:35 -07:00
|
|
|
|
2021-02-15 16:33:30 -07:00
|
|
|
Once the binary is installed, the shell plugin requires installing. Add
|
2021-02-13 13:54:35 -07:00
|
|
|
|
2021-02-13 14:21:00 -07:00
|
|
|
```
|
2021-02-15 16:33:30 -07:00
|
|
|
eval "$(atuin init)"
|
2021-02-13 14:21:00 -07:00
|
|
|
```
|
2021-02-13 13:54:35 -07:00
|
|
|
|
2021-04-25 11:21:52 -06:00
|
|
|
to your `.zshrc`
|
2021-03-10 14:24:08 -07:00
|
|
|
|
2021-02-13 14:21:00 -07:00
|
|
|
## ...what's with the name?
|
|
|
|
|
2021-04-25 11:21:52 -06:00
|
|
|
Atuin is named after "The Great A'Tuin", a giant turtle from Terry Pratchett's
|
2021-02-13 14:21:00 -07:00
|
|
|
Discworld series of books.
|