diff --git a/README.md b/README.md index b3c8f709..dc30322e 100644 --- a/README.md +++ b/README.md @@ -73,16 +73,10 @@ I wanted to. And I **really** don't want to. ## Documentation - [Quickstart](#quickstart) -- [Install](#install) -- [Import](https://atuin.sh/docs/commands/import) -- [Configuration](https://atuin.sh/docs/config) -- [Searching history](https://atuin.sh/docs/commands/search) -- [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) - +- [Install](https://docs.atuin.sh/guide/installation/) +- [Setting up sync](https://docs.atuin.sh/guide/sync/) +- [Import history](https://docs.atuin.sh/guide/import/) +- [Basic usage](https://docs.atuin.sh/guide/basic-usage/) ## Supported Shells - zsh @@ -103,11 +97,9 @@ Atuin also has a community Discord, available [here](https://discord.gg/jR3tfchV # 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 below for offline-only usage, or for hosting your own server. +Read more in the [docs](https://docs.atuin.sh) for an offline setup, self hosted server, and more. ``` # bash/zsh/etc @@ -129,246 +121,6 @@ Then restart your shell! > `bash-preexec` has limitations. For details, please see the [Bash](#bash) > 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 - -
-Packaging status - - Packaging status - -
- -### 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 '' -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 If you find any security issues, we'd appreciate it if you could alert ellie@atuin.sh