Files
quartz/content/10-19 LIFE/13 TECH SETUP/13.11 APPS/atuin.md
Quartz Syncer fe0581e423
All checks were successful
Build and Deploy Quartz / build (push) Successful in 27s
Published multiple files
2026-02-05 12:24:25 -07:00

114 lines
2.0 KiB
Markdown

---
publish: true
permalink: /apps/atuin
title: atuin
created: 2026-01-30T08:29:14.283-07:00
modified: 2026-02-05T12:16:17.109-07:00
tags:
- shell
- history
- sync
cssclasses: ""
---
Atuin replaces your shell history with a SQLite database, providing better search, sync across machines, and detailed statistics. It's magical for finding that command you ran three weeks ago.
## Installation
**Quick install (recommended):**
```bash
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
```
**Arch Linux:**
```bash
sudo pacman -S atuin
```
## Shell Integration
Add to your shell config:
**Bash** (`~/.bashrc`):
```bash
eval "$(atuin init bash)"
```
**Zsh** (`~/.zshrc`):
```bash
eval "$(atuin init zsh)"
```
**Fish** (`~/.config/fish/config.fish`):
```fish
atuin init fish | source
```
## Usage
### Interactive search
Press `Ctrl+r` (or `Up` with config) to open the interactive search:
- Type to filter
- `Enter` to execute
- `Tab` to edit before running
- `Ctrl+r` to cycle through filter modes
### Filter modes
| Mode | Description |
|------|-------------|
| Global | All history across machines |
| Host | Current machine only |
| Session | Current shell session |
| Directory | Commands run in this directory |
### Commands
```bash
# Search from CLI
atuin search "docker"
# Show stats
atuin stats
# Manual sync
atuin sync
```
## Sync Setup (Optional)
Register for free sync:
```bash
atuin register -u <username> -e <email>
atuin login -u <username>
atuin sync
```
Or self-host the sync server.
## Configuration
`~/.config/atuin/config.toml`:
```toml
[settings]
# Use up arrow for atuin instead of ctrl+r
keymap_mode = "vim-normal"
# Search mode: prefix, fulltext, fuzzy
search_mode = "fuzzy"
# Filter by default
filter_mode = "host"
# Show preview of full command
show_preview = true
# Sync settings
auto_sync = true
sync_frequency = "5m"
```
## Tips
- Atuin stores history in `~/.local/share/atuin/history.db`
- Use `atuin history list` to export/inspect
- Prefix sensitive commands with a space to exclude from history