From 13e736befd2fbc154960cf0fc3ef3652ed2f26f7 Mon Sep 17 00:00:00 2001 From: Karsten Hachmeister Date: Mon, 6 Oct 2025 13:48:16 +0200 Subject: [PATCH] update atuin config --- .config/atuin/config.toml | 192 +++++++++++++++++++++++++++++++++----- 1 file changed, 171 insertions(+), 21 deletions(-) diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index b9b0731..bb048a8 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -16,6 +16,12 @@ ## date format used, either "us" or "uk" # dialect = "us" +## default timezone to use when displaying time +## either "l", "local" to use the system's current local timezone, or an offset +## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" +## for example: "+9", "-05", "+03:30", "-01:23:45", etc. +# timezone = "local" + ## enable or disable automatic sync auto_sync = true @@ -34,12 +40,17 @@ sync_address = "https://atuin.hachmeister.org" ## possible values: prefix, fulltext, fuzzy, skim # search_mode = "fuzzy" -## which filter mode to use -## possible values: global, host, session, directory +## which filter mode to use by default +## possible values: "global", "host", "session", "directory", "workspace" +## consider using search.filters to customize the enablement and order of filter modes # filter_mode = "global" ## With workspace filtering enabled, Atuin will filter for commands executed -## in any directory within a git repository tree (default: false) +## in any directory within a git repository tree (default: false). +## +## To use workspace mode by default when available, set this to true and +## set filter_mode to "workspace" or leave it unspecified and +## set search.filters to include "workspace" before other filter modes. # workspaces = false ## which filter mode to use when atuin is invoked from a shell up-key binding @@ -60,12 +71,17 @@ style = "compact" ## set it to 0 to always go full screen # inline_height = 0 +## the maximum number of lines the interface should take up +## when atuin is invoked from a shell up-key binding +## the accepted values are identical to those of "inline_height" +# inline_height_shell_up_key_binding = 0 + ## Invert the UI - put the search bar at the top , Default to `false` # invert = false ## enable or disable showing a preview of the selected command ## useful when the command is longer than the terminal width and is cut off -# show_preview = false +# show_preview = true ## what to do when the escape key is pressed when searching ## possible values: return-original, return-query @@ -84,6 +100,9 @@ style = "compact" ## alt-0 .. alt-9 # ctrl_n_shortcuts = false +## default history list format - can also be specified with the --format arg +# history_format = "{time}\t{command}\t{duration}" + ## prevent commands matching any of these regexes from being written to history. ## Note that these regular expressions are unanchored, i.e. if they don't start ## with ^ or end with $, they'll match anywhere in the command. @@ -91,7 +110,7 @@ style = "compact" ## https://docs.rs/regex/latest/regex/#syntax # history_filter = [ # "^secret-cmd", -# "^innocuous-cmd .*--secret=.+" +# "^innocuous-cmd .*--secret=.+", # ] ## prevent commands run with cwd matching any of these regexes from being written @@ -100,7 +119,7 @@ style = "compact" ## For details on the supported regular expression syntax, see ## https://docs.rs/regex/latest/regex/#syntax # cwd_filter = [ -# "^/very/secret/area" +# "^/very/secret/area", # ] ## Configure the maximum height of the preview to show. @@ -113,6 +132,16 @@ style = "compact" ## amount of commands in your history. # show_help = true +## Configure whether or not to show tabs for search and inspect +# show_tabs = true + +## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin +## tab, such as Search or Inspector, and other tabs you may wish to see. This will +## only be hidden if there are fewer than this count of lines available, and does not affect the use +## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines). +## This is ignored except in `compact` mode. +# auto_hide_height = 8 + ## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include ## 1. AWS key id ## 2. Github pat (old and new) @@ -125,21 +154,142 @@ style = "compact" # This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. enter_accept = false +## Defaults to false. If enabled, when triggered after && or ||, Atuin will complete commands to chain rather than replace the current line. +# command_chaining = false + +## Defaults to "emacs". This specifies the keymap on the startup of `atuin +## search`. If this is set to "auto", the startup keymap mode in the Atuin +## search is automatically selected based on the shell's keymap where the +## keybinding is defined. If this is set to "emacs", "vim-insert", or +## "vim-normal", the startup keymap mode in the Atuin search is forced to be +## the specified one. +# keymap_mode = "auto" + +## Cursor style in each keymap mode. If specified, the cursor style is changed +## in entering the cursor shape. Available values are "default" and +## "{blink,steady}-{block,underline,bar}". +# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } + +# network_connect_timeout = 5 +# network_timeout = 5 + +## Timeout (in seconds) for acquiring a local database connection (sqlite) +# local_timeout = 5 + +## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. +## Alternatively, set env NO_MOTION=true +# prefers_reduced_motion = false + [stats] -# Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl -#common_subcommands = [ -# "cargo", -# "go", -# "git", -# "npm", -# "yarn", -# "pnpm", -# "kubectl", -#] -# +## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl +# common_subcommands = [ +# "apt", +# "cargo", +# "composer", +# "dnf", +# "docker", +# "git", +# "go", +# "ip", +# "jj", +# "kubectl", +# "nix", +# "nmcli", +# "npm", +# "pecl", +# "pnpm", +# "podman", +# "port", +# "systemctl", +# "tmux", +# "yarn", +# ] + +common_subcommands = [ + "apt", + "cargo", + "docker", + "git", + "go", + "ip", + "jj", + "k", + "kubectl", + "npm", + "systemctl", +] + # Set commands that should be totally stripped and ignored from stats #common_prefix = ["sudo"] -common_subcommands = [ - "git", - "npm", -] + +## Set commands that will be completely ignored from stats +# ignored_commands = [ +# "cd", +# "ls", +# "vi" +# ] + +[keys] +# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry. +# scroll_exits = true +# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character +# exit_past_line_start = true +# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified. +# accept_past_line_end = true + +[sync] +# Enable sync v2 by default +# This ensures that sync v2 is enabled for new installs only +# In a later release it will become the default across the board +records = true + +[preview] +## which preview strategy to use to calculate the preview height (respects max_preview_height). +## possible values: auto, static +## auto: length of the selected command. +## static: length of the longest command stored in the history. +## fixed: use max_preview_height as fixed height. +# strategy = "auto" + +[daemon] +## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon` +# enabled = false + +## How often the daemon should sync in seconds +# sync_frequency = 300 + +## The path to the unix socket used by the daemon (on unix systems) +## linux/mac: ~/.local/share/atuin/atuin.sock +## windows: Not Supported +# socket_path = "~/.local/share/atuin/atuin.sock" + +## Use systemd socket activation rather than opening the given path (the path must still be correct for the client) +## linux: false +## mac/windows: Not Supported +# systemd_socket = false + +## The port that should be used for TCP on non unix systems +# tcp_port = 8889 + +# [theme] +## Color theme to use for rendering in the terminal. +## There are some built-in themes, including the base theme ("default"), +## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your +## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or +## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and +## the string values as lowercase entries from this list: +## https://ogeon.github.io/docs/palette/master/palette/named/index.html +## If you provide a custom theme file, it should be called "NAME.toml" and the theme below +## should be the stem, i.e. `theme = "NAME"` for your chosen NAME. +# name = "autumn" + +## Whether the theme manager should output normal or extra information to help fix themes. +## Boolean, true or false. If unset, left up to the theme manager. +# debug = true + +[search] +## The list of enabled filter modes, in order of priority. +## The "workspace" mode is skipped when not in a workspace or workspaces = false. +## Default filter mode can be overridden with the filter_mode setting. +# filters = [ "global", "host", "session", "workspace", "directory" ] +