Atuin: Difference between revisions
Write something about zsh autosuggestions |
No edit summary |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{wip|date=11 March 2025}} | ||
[https://atuin.sh/ Atuin] replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, Atuin (optionally) syncs your shell history between all of your machines. | [https://atuin.sh/ Atuin] replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, Atuin (optionally) syncs your shell history between all of your machines. | ||
Line 25: | Line 25: | ||
==== Imperatively ==== | ==== Imperatively ==== | ||
To synchronize your history with atuin.sh you first need to register an account or login with the cli utility. | To synchronize your history with atuin.sh you first need to register an account or login with the cli utility. Doing that will create a key and a session token in <code>~/.local/share/atuin</code> | ||
<syntaxHighlight lang="bash"> | <syntaxHighlight lang="bash"> | ||
Line 42: | Line 42: | ||
You can manage your atuin session declaratively by setting the <code>session_path</code> and <code>key_path</code> options to files containing a session token and a key. You can obtain these two files by registering as described above and copying them from <code>~/.local/share/key</code> and <code>~/.local/share/session</code>. The example below uses agenix | You can manage your atuin session declaratively by setting the <code>session_path</code> and <code>key_path</code> options to files containing a session token and a key. You can obtain these two files by registering as described above and copying them from <code>~/.local/share/key</code> and <code>~/.local/share/session</code>. The example below uses agenix | ||
{{note|Both the session and key file must not have a trailing newline.}} | {{note|Both the session and key file must not have a trailing newline or you get <code>Error: failed to parse header value</code>. Several common editors (e.g. Vim) will automatically add a newline on save.}} | ||
{{file|~/.config/home-manager/home.nix|nix|<nowiki> | {{file|~/.config/home-manager/home.nix|nix|<nowiki> | ||
Line 66: | Line 66: | ||
programs.zsh = { | programs.zsh = { | ||
enable = true; | enable = true; | ||
autosuggestion.enable = true; # Enable autosuggestions | |||
}; | }; | ||
programs.atuin = { | programs.atuin = { | ||
Line 73: | Line 73: | ||
}; | }; | ||
</nowiki>}} | </nowiki>}} | ||
[[Category:Server]] | |||
[[Category:Shell]] |