mirror of
https://github.com/atuinsh/atuin.git
synced 2025-06-23 19:31:36 +02:00
docs: streamline readme (#2203)
This commit is contained in:
parent
1201caee5c
commit
cdd9a8034d
260
README.md
260
README.md
@ -73,16 +73,10 @@ I wanted to. And I **really** don't want to.
|
|||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- [Quickstart](#quickstart)
|
- [Quickstart](#quickstart)
|
||||||
- [Install](#install)
|
- [Install](https://docs.atuin.sh/guide/installation/)
|
||||||
- [Import](https://atuin.sh/docs/commands/import)
|
- [Setting up sync](https://docs.atuin.sh/guide/sync/)
|
||||||
- [Configuration](https://atuin.sh/docs/config)
|
- [Import history](https://docs.atuin.sh/guide/import/)
|
||||||
- [Searching history](https://atuin.sh/docs/commands/search)
|
- [Basic usage](https://docs.atuin.sh/guide/basic-usage/)
|
||||||
- [Cloud history sync](https://atuin.sh/docs/commands/sync)
|
|
||||||
- [History stats](https://atuin.sh/docs/commands/stats)
|
|
||||||
- [Self host Atuin server](https://atuin.sh/docs/self-hosting)
|
|
||||||
- [Key binding](https://atuin.sh/docs/key-binding)
|
|
||||||
- [Shell completions](https://atuin.sh/docs/commands/shell-completions)
|
|
||||||
|
|
||||||
## Supported Shells
|
## Supported Shells
|
||||||
|
|
||||||
- zsh
|
- zsh
|
||||||
@ -103,11 +97,9 @@ Atuin also has a community Discord, available [here](https://discord.gg/jR3tfchV
|
|||||||
|
|
||||||
# Quickstart
|
# Quickstart
|
||||||
|
|
||||||
## With the default sync server
|
This will sign you up for the Atuin Cloud sync server. Everything is end-to-end encrypted, so your secrets are safe!
|
||||||
|
|
||||||
This will sign you up for the default sync server, hosted by me. Everything is end-to-end encrypted, so your secrets are safe!
|
Read more in the [docs](https://docs.atuin.sh) for an offline setup, self hosted server, and more.
|
||||||
|
|
||||||
Read more below for offline-only usage, or for hosting your own server.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
# bash/zsh/etc
|
# bash/zsh/etc
|
||||||
@ -129,246 +121,6 @@ Then restart your shell!
|
|||||||
> `bash-preexec` has limitations. For details, please see the [Bash](#bash)
|
> `bash-preexec` has limitations. For details, please see the [Bash](#bash)
|
||||||
> section below.
|
> section below.
|
||||||
|
|
||||||
## Offline only (no sync)
|
|
||||||
|
|
||||||
```
|
|
||||||
bash <(curl https://raw.githubusercontent.com/atuinsh/atuin/main/install.sh)
|
|
||||||
|
|
||||||
atuin import auto
|
|
||||||
```
|
|
||||||
|
|
||||||
By default, Atuin will check for updates. You can [disable update checks by modifying](https://atuin.sh/docs/config/#update_check) `config.toml`.
|
|
||||||
|
|
||||||
Then restart your shell!
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Packaging status</summary>
|
|
||||||
<a href="https://repology.org/project/atuin/versions">
|
|
||||||
<img src="https://repology.org/badge/vertical-allrepos/atuin.svg?columns=3" alt="Packaging status">
|
|
||||||
</a>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Script (recommended)
|
|
||||||
|
|
||||||
The install script will help you through the setup, ensuring your shell is
|
|
||||||
properly configured. It will also use one of the below methods, preferring the
|
|
||||||
system package manager where possible (pacman, homebrew, etc etc).
|
|
||||||
|
|
||||||
```
|
|
||||||
# do not run this as root, root will be asked for if required
|
|
||||||
bash <(curl https://raw.githubusercontent.com/atuinsh/atuin/main/install.sh)
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### With cargo
|
|
||||||
|
|
||||||
It's best to use [rustup](https://rustup.rs/) to get setup with a Rust
|
|
||||||
toolchain, then you can run:
|
|
||||||
|
|
||||||
```
|
|
||||||
cargo install atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### Homebrew
|
|
||||||
|
|
||||||
```
|
|
||||||
brew install atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### MacPorts
|
|
||||||
|
|
||||||
Atuin is also available in [MacPorts](https://ports.macports.org/port/atuin/)
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo port install atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### Cave
|
|
||||||
|
|
||||||
Atuin is available in the Exherbo Linux [rust repository](https://gitlab.exherbo.org/exherbo/rust/-/tree/master/packages/app-shells/atuin):
|
|
||||||
|
|
||||||
```
|
|
||||||
cave resolve -x repository/rust
|
|
||||||
cave resolve -x atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
### Nix
|
|
||||||
|
|
||||||
This repository is a flake, and can be installed using `nix profile`:
|
|
||||||
|
|
||||||
```
|
|
||||||
nix profile install "github:atuinsh/atuin"
|
|
||||||
```
|
|
||||||
|
|
||||||
Atuin is also available in [nixpkgs](https://github.com/NixOS/nixpkgs):
|
|
||||||
|
|
||||||
```
|
|
||||||
nix-env -f '<nixpkgs>' -iA atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
### Pacman
|
|
||||||
|
|
||||||
Atuin is available in the Arch Linux [[extra] repository](https://archlinux.org/packages/extra/x86_64/atuin/):
|
|
||||||
|
|
||||||
```
|
|
||||||
pacman -S atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### Xbps
|
|
||||||
|
|
||||||
Atuin is available in the Void Linux [repository](https://github.com/void-linux/void-packages/tree/master/srcpkgs/atuin):
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo xbps-install atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### Termux
|
|
||||||
|
|
||||||
Atuin is available in the Termux package repository:
|
|
||||||
|
|
||||||
```
|
|
||||||
pkg install atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
### From source
|
|
||||||
|
|
||||||
```
|
|
||||||
git clone https://github.com/atuinsh/atuin.git
|
|
||||||
cd atuin/crates/atuin
|
|
||||||
cargo install --path .
|
|
||||||
```
|
|
||||||
|
|
||||||
And then follow [the shell setup](#shell-plugin)
|
|
||||||
|
|
||||||
## Shell plugin
|
|
||||||
|
|
||||||
Once the binary is installed, the shell plugin requires installing. If you use
|
|
||||||
the install script, this should all be done for you! After installing, remember to restart your shell.
|
|
||||||
|
|
||||||
### zsh
|
|
||||||
|
|
||||||
```
|
|
||||||
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Zinit
|
|
||||||
|
|
||||||
```sh
|
|
||||||
zinit load atuinsh/atuin
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Antigen
|
|
||||||
|
|
||||||
```sh
|
|
||||||
antigen bundle atuinsh/atuin@main
|
|
||||||
```
|
|
||||||
|
|
||||||
### bash
|
|
||||||
|
|
||||||
Atuin works in `bash >= 3.1` when combined with either ble.sh or bash-preexec. We recommend to use Atuin with the recent versions of `bash >= 5`.
|
|
||||||
|
|
||||||
#### [ble.sh](https://github.com/akinomyoga/ble.sh)
|
|
||||||
|
|
||||||
Atuin works best in bash when using [ble.sh](https://github.com/akinomyoga/ble.sh) >= 0.4.
|
|
||||||
|
|
||||||
With ble.sh (>= 0.4) installed, just add atuin to your .bashrc
|
|
||||||
|
|
||||||
```bash
|
|
||||||
echo 'eval "$(atuin init bash)"' >> ~/.bashrc
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!IMPORTANT]
|
|
||||||
>
|
|
||||||
> Please make sure that the above line comes after sourcing ble.sh, so Atuin detects ble.sh.
|
|
||||||
|
|
||||||
#### [bash-preexec](https://github.com/rcaloras/bash-preexec)
|
|
||||||
|
|
||||||
[Bash-preexec](https://github.com/rcaloras/bash-preexec) can also be used, but
|
|
||||||
you may experience minor problems of missing commands, ignored `HISTCONTROL`,
|
|
||||||
wrong recorded duration and exit status of some commands.
|
|
||||||
|
|
||||||
To use bash-preexec, download and initialize it
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ~/.bash-preexec.sh
|
|
||||||
echo '[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh' >> ~/.bashrc
|
|
||||||
```
|
|
||||||
|
|
||||||
Then set up Atuin
|
|
||||||
|
|
||||||
```bash
|
|
||||||
echo 'eval "$(atuin init bash)"' >> ~/.bashrc
|
|
||||||
```
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
>
|
|
||||||
> bash-preexec cannot properly invoke the `preexec` hook for subshell commands
|
|
||||||
> `(...)`, function definitions `func() { ...; }`, empty for-in-statements `for
|
|
||||||
> i in; do ...; done`, etc., so those commands may not be recorded in the
|
|
||||||
> Atuin's history.
|
|
||||||
>
|
|
||||||
> bash-preexec currently has an issue where it will stop honoring
|
|
||||||
> `HISTCONTROL=ignorespace`. While Atuin will ignore commands prefixed with
|
|
||||||
> whitespace, they may still end up in your bash history. Please check your
|
|
||||||
> configuration! All other shells do not have this issue.
|
|
||||||
>
|
|
||||||
> Also, there can be problems in the recorded duration and the exit status of
|
|
||||||
> some commands.
|
|
||||||
|
|
||||||
> [!IMPORTANT]
|
|
||||||
>
|
|
||||||
> To use Atuin in `bash < 4` with bash-preexec, the option `enter_accept` needs
|
|
||||||
> to be turned on (which is so by default).
|
|
||||||
|
|
||||||
### fish
|
|
||||||
|
|
||||||
Add
|
|
||||||
|
|
||||||
```
|
|
||||||
atuin init fish | source
|
|
||||||
```
|
|
||||||
|
|
||||||
to your `is-interactive` block in your `~/.config/fish/config.fish` file
|
|
||||||
|
|
||||||
### Nushell
|
|
||||||
|
|
||||||
Run in *Nushell*:
|
|
||||||
|
|
||||||
```
|
|
||||||
mkdir ~/.local/share/atuin/
|
|
||||||
atuin init nu | save -f ~/.local/share/atuin/init.nu
|
|
||||||
```
|
|
||||||
|
|
||||||
Add to `config.nu`:
|
|
||||||
|
|
||||||
```
|
|
||||||
source ~/.local/share/atuin/init.nu
|
|
||||||
```
|
|
||||||
|
|
||||||
### Xonsh
|
|
||||||
|
|
||||||
Add
|
|
||||||
```
|
|
||||||
execx($(atuin init xonsh))
|
|
||||||
```
|
|
||||||
to the end of your `~/.xonshrc`
|
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
|
|
||||||
If you find any security issues, we'd appreciate it if you could alert ellie@atuin.sh
|
If you find any security issues, we'd appreciate it if you could alert ellie@atuin.sh
|
||||||
|
Loading…
x
Reference in New Issue
Block a user