mirror of
https://github.com/atuinsh/atuin.git
synced 2025-08-27 14:25:50 +02:00
Complete docs
This commit is contained in:
10
content/en/docs/overview/_index.md
Normal file
10
content/en/docs/overview/_index.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "Docs"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-25T14:40:56+01:00
|
||||
lastmod: 2022-01-25T14:40:56+01:00
|
||||
draft: false
|
||||
images: []
|
||||
type: docs
|
||||
---
|
45
content/en/docs/overview/introduction/index.md
Normal file
45
content/en/docs/overview/introduction/index.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
description: "Welcome to Atuin"
|
||||
lead: ""
|
||||
date: 2022-06-05T21:15:56+01:00
|
||||
lastmod: 2022-06-05T21:15:56+01:00
|
||||
draft: false
|
||||
images: []
|
||||
type: docs
|
||||
weight: 1
|
||||
---
|
||||
Atuin replaces your existing shell history with a SQLite database, and records
|
||||
additional context for your commands. Additionally, it provides optional and
|
||||
fully encrypted synchronisation of your history between machines, via an Atuin
|
||||
server.
|
||||
|
||||
As well as the search UI, it can do things like this:
|
||||
|
||||
```
|
||||
# search for all successful `make` commands, recorded after 3pm yesterday
|
||||
atuin search --exit 0 --after "yesterday 3pm" make
|
||||
```
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
- rebind `up` and `ctrl-r` with a full screen history search UI
|
||||
- store shell history in a sqlite database
|
||||
- backup and sync **encrypted** shell history
|
||||
- the same history across terminals, across sessions, and across machines
|
||||
- log exit code, cwd, hostname, session, command duration, etc
|
||||
- calculate statistics such as "most used command"
|
||||
- old history file is not replaced
|
||||
- quick-jump to previous items with <kbd>Alt-\<num\></kbd>
|
||||
- switch filter modes via ctrl-r; search history just from the current session, directory, or globally
|
||||
|
||||
## Supported Shells
|
||||
|
||||
- zsh
|
||||
- bash
|
||||
- fish
|
||||
|
||||
## Community
|
||||
|
||||
Atuin has a community Discord, available [here](https://discord.gg/Fq8bJSKPHh)
|
155
content/en/docs/overview/quickstart/index.md
Normal file
155
content/en/docs/overview/quickstart/index.md
Normal file
@@ -0,0 +1,155 @@
|
||||
---
|
||||
title: "Quickstart"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-06-05T21:27:41+01:00
|
||||
lastmod: 2022-06-05T21:27:41+01:00
|
||||
draft: false
|
||||
images: []
|
||||
weight: 2
|
||||
menu:
|
||||
docs:
|
||||
parent: "overview"
|
||||
type: docs
|
||||
---
|
||||
|
||||
## With the default sync server
|
||||
|
||||
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.
|
||||
|
||||
```
|
||||
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
|
||||
|
||||
atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>
|
||||
atuin import auto
|
||||
atuin sync
|
||||
```
|
||||
|
||||
### Opt-in to activity graph
|
||||
Alongside the hosted Atuin server, there is also a service which generates activity graphs for your shell history! These are inspired by the GitHub graph.
|
||||
|
||||
For example, here is mine:
|
||||
|
||||

|
||||
|
||||
If you wish to get your own, after signing up for the sync server, run this
|
||||
|
||||
```
|
||||
curl https://api.atuin.sh/enable -d $(cat ~/.local/share/atuin/session)
|
||||
```
|
||||
|
||||
The response includes the URL to your graph. Feel free to share and/or embed this URL, the token is _not_ a secret, and simply prevents user enumeration.
|
||||
|
||||
## Offline only (no sync)
|
||||
|
||||
```
|
||||
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
|
||||
|
||||
atuin import auto
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
### 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/ellie/atuin/main/install.sh)
|
||||
```
|
||||
|
||||
### 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)
|
||||
|
||||
### Pacman
|
||||
|
||||
Atuin is available in the Arch Linux [community repository](https://archlinux.org/packages/community/x86_64/atuin/):
|
||||
|
||||
```
|
||||
pacman -S atuin
|
||||
```
|
||||
|
||||
And then follow [the shell setup](#shell-plugin)
|
||||
|
||||
### From source
|
||||
|
||||
```
|
||||
git clone https://github.com/ellie/atuin.git
|
||||
cd 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!
|
||||
|
||||
### zsh
|
||||
|
||||
```
|
||||
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
|
||||
```
|
||||
|
||||
Or using a plugin manager:
|
||||
|
||||
```
|
||||
zinit load ellie/atuin
|
||||
```
|
||||
|
||||
### bash
|
||||
|
||||
We need to setup some hooks, so first install bash-preexec:
|
||||
|
||||
```
|
||||
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 setup Atuin
|
||||
|
||||
```
|
||||
echo 'eval "$(atuin init bash)"' >> ~/.bashrc
|
||||
```
|
||||
|
||||
### fish
|
||||
|
||||
Add
|
||||
|
||||
```
|
||||
atuin init fish | source
|
||||
```
|
||||
|
||||
to your `is-interactive` block in your `~/.config/fish/config.fish` file
|
Reference in New Issue
Block a user