QuietEngineer's dotfiles: just add water

feat: add misc features (#3)

* feat: add zsh configs

* fix: use correct link in README

* feat: add atuin config

* feat: add ghostty config

authored by quietengineer.fyi and committed by GitHub 737e55f1 fb5e54bc

Changed files
+335 -1
atuin
.config
atuin
ghostty
.config
ghostty
zsh
+1 -1
README.md
··· 4 4 5 5 Created from a cocktail of sources including: 6 6 7 - - [fadein/homedir](https://github.com/fadein/dotbash/) 7 + - [fadein/homedir](https://github.com/fadein/homedir/) 8 8 - [endeavouros-team](https://github.com/endeavouros-team) 9 9 - [EndeavourOS-Community-Editions/sway](https://github.com/EndeavourOS-Community-Editions/sway) 10 10
+272
atuin/.config/atuin/config.toml
··· 1 + ## where to store your database, default is your system data directory 2 + ## linux/mac: ~/.local/share/atuin/history.db 3 + ## windows: %USERPROFILE%/.local/share/atuin/history.db 4 + # db_path = "~/.history.db" 5 + 6 + ## where to store your encryption key, default is your system data directory 7 + ## linux/mac: ~/.local/share/atuin/key 8 + ## windows: %USERPROFILE%/.local/share/atuin/key 9 + # key_path = "~/.key" 10 + 11 + ## where to store your auth session token, default is your system data directory 12 + ## linux/mac: ~/.local/share/atuin/session 13 + ## windows: %USERPROFILE%/.local/share/atuin/session 14 + # session_path = "~/.session" 15 + 16 + ## date format used, either "us" or "uk" 17 + # dialect = "us" 18 + 19 + ## default timezone to use when displaying time 20 + ## either "l", "local" to use the system's current local timezone, or an offset 21 + ## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" 22 + ## for example: "+9", "-05", "+03:30", "-01:23:45", etc. 23 + # timezone = "local" 24 + 25 + ## enable or disable automatic sync 26 + auto_sync = false 27 + 28 + ## enable or disable automatic update checks 29 + # update_check = true 30 + 31 + ## address of the sync server 32 + # sync_address = "https://api.atuin.sh" 33 + 34 + ## how often to sync history. note that this is only triggered when a command 35 + ## is ran, so sync intervals may well be longer 36 + ## set it to 0 to sync after every command 37 + # sync_frequency = "10m" 38 + 39 + ## which search mode to use 40 + ## possible values: prefix, fulltext, fuzzy, skim 41 + # search_mode = "fuzzy" 42 + 43 + ## which filter mode to use by default 44 + ## possible values: "global", "host", "session", "directory", "workspace" 45 + ## consider using search.filters to customize the enablement and order of filter modes 46 + # filter_mode = "global" 47 + 48 + ## With workspace filtering enabled, Atuin will filter for commands executed 49 + ## in any directory within a git repository tree (default: false). 50 + ## 51 + ## To use workspace mode by default when available, set this to true and 52 + ## set filter_mode to "workspace" or leave it unspecified and 53 + ## set search.filters to include "workspace" before other filter modes. 54 + # workspaces = false 55 + 56 + ## which filter mode to use when atuin is invoked from a shell up-key binding 57 + ## the accepted values are identical to those of "filter_mode" 58 + ## leave unspecified to use same mode set in "filter_mode" 59 + # filter_mode_shell_up_key_binding = "global" 60 + 61 + ## which search mode to use when atuin is invoked from a shell up-key binding 62 + ## the accepted values are identical to those of "search_mode" 63 + ## leave unspecified to use same mode set in "search_mode" 64 + # search_mode_shell_up_key_binding = "fuzzy" 65 + 66 + ## which style to use 67 + ## possible values: auto, full, compact 68 + style = "auto" 69 + 70 + ## the maximum number of lines the interface should take up 71 + ## set it to 0 to always go full screen 72 + inline_height = 16 73 + 74 + ## Invert the UI - put the search bar at the top , Default to `false` 75 + # invert = false 76 + 77 + ## enable or disable showing a preview of the selected command 78 + ## useful when the command is longer than the terminal width and is cut off 79 + # show_preview = true 80 + 81 + ## what to do when the escape key is pressed when searching 82 + ## possible values: return-original, return-query 83 + # exit_mode = "return-original" 84 + 85 + ## possible values: emacs, subl 86 + # word_jump_mode = "emacs" 87 + 88 + ## characters that count as a part of a word 89 + # word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 90 + 91 + ## number of context lines to show when scrolling by pages 92 + # scroll_context_lines = 1 93 + 94 + ## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts 95 + ## alt-0 .. alt-9 96 + # ctrl_n_shortcuts = false 97 + 98 + ## default history list format - can also be specified with the --format arg 99 + # history_format = "{time}\t{command}\t{duration}" 100 + 101 + ## prevent commands matching any of these regexes from being written to history. 102 + ## Note that these regular expressions are unanchored, i.e. if they don't start 103 + ## with ^ or end with $, they'll match anywhere in the command. 104 + ## For details on the supported regular expression syntax, see 105 + ## https://docs.rs/regex/latest/regex/#syntax 106 + # history_filter = [ 107 + # "^secret-cmd", 108 + # "^innocuous-cmd .*--secret=.+", 109 + # ] 110 + 111 + ## prevent commands run with cwd matching any of these regexes from being written 112 + ## to history. Note that these regular expressions are unanchored, i.e. if they don't 113 + ## start with ^ or end with $, they'll match anywhere in CWD. 114 + ## For details on the supported regular expression syntax, see 115 + ## https://docs.rs/regex/latest/regex/#syntax 116 + # cwd_filter = [ 117 + # "^/very/secret/area", 118 + # ] 119 + 120 + ## Configure the maximum height of the preview to show. 121 + ## Useful when you have long scripts in your history that you want to distinguish 122 + ## by more than the first few lines. 123 + # max_preview_height = 4 124 + 125 + ## Configure whether or not to show the help row, which includes the current Atuin 126 + ## version (and whether an update is available), a keymap hint, and the total 127 + ## amount of commands in your history. 128 + # show_help = true 129 + 130 + ## Configure whether or not to show tabs for search and inspect 131 + # show_tabs = true 132 + 133 + ## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin 134 + ## tab, such as Search or Inspector, and other tabs you may wish to see. This will 135 + ## only be hidden if there are fewer than this count of lines available, and does not affect the use 136 + ## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines). 137 + ## This is ignored except in `compact` mode. 138 + # auto_hide_height = 8 139 + 140 + ## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include 141 + ## 1. AWS key id 142 + ## 2. Github pat (old and new) 143 + ## 3. Slack oauth tokens (bot, user) 144 + ## 4. Slack webhooks 145 + ## 5. Stripe live/test keys 146 + # secrets_filter = true 147 + 148 + ## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. 149 + # This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. 150 + enter_accept = false 151 + 152 + ## Defaults to "emacs". This specifies the keymap on the startup of `atuin 153 + ## search`. If this is set to "auto", the startup keymap mode in the Atuin 154 + ## search is automatically selected based on the shell's keymap where the 155 + ## keybinding is defined. If this is set to "emacs", "vim-insert", or 156 + ## "vim-normal", the startup keymap mode in the Atuin search is forced to be 157 + ## the specified one. 158 + keymap_mode = "vim-normal" 159 + 160 + ## Cursor style in each keymap mode. If specified, the cursor style is changed 161 + ## in entering the cursor shape. Available values are "default" and 162 + ## "{blink,steady}-{block,underline,bar}". 163 + # keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } 164 + 165 + # network_connect_timeout = 5 166 + # network_timeout = 5 167 + 168 + ## Timeout (in seconds) for acquiring a local database connection (sqlite) 169 + # local_timeout = 5 170 + 171 + ## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. 172 + ## Alternatively, set env NO_MOTION=true 173 + # prefers_reduced_motion = false 174 + 175 + [stats] 176 + ## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl 177 + # common_subcommands = [ 178 + # "apt", 179 + # "cargo", 180 + # "composer", 181 + # "dnf", 182 + # "docker", 183 + # "git", 184 + # "go", 185 + # "ip", 186 + # "jj", 187 + # "kubectl", 188 + # "nix", 189 + # "nmcli", 190 + # "npm", 191 + # "pecl", 192 + # "pnpm", 193 + # "podman", 194 + # "port", 195 + # "systemctl", 196 + # "tmux", 197 + # "yarn", 198 + # ] 199 + 200 + ## Set commands that should be totally stripped and ignored from stats 201 + # common_prefix = ["sudo"] 202 + 203 + ## Set commands that will be completely ignored from stats 204 + # ignored_commands = [ 205 + # "cd", 206 + # "ls", 207 + # "vi" 208 + # ] 209 + 210 + [keys] 211 + # Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry. 212 + # scroll_exits = true 213 + # Defaults to true. The left arrow key will exit the TUI when scrolling before the first character 214 + # exit_past_line_start = true 215 + # 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. 216 + # accept_past_line_end = true 217 + 218 + [sync] 219 + # Enable sync v2 by default 220 + # This ensures that sync v2 is enabled for new installs only 221 + # In a later release it will become the default across the board 222 + records = true 223 + 224 + [preview] 225 + ## which preview strategy to use to calculate the preview height (respects max_preview_height). 226 + ## possible values: auto, static 227 + ## auto: length of the selected command. 228 + ## static: length of the longest command stored in the history. 229 + ## fixed: use max_preview_height as fixed height. 230 + # strategy = "auto" 231 + 232 + [daemon] 233 + ## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon` 234 + # enabled = false 235 + 236 + ## How often the daemon should sync in seconds 237 + # sync_frequency = 300 238 + 239 + ## The path to the unix socket used by the daemon (on unix systems) 240 + ## linux/mac: ~/.local/share/atuin/atuin.sock 241 + ## windows: Not Supported 242 + # socket_path = "~/.local/share/atuin/atuin.sock" 243 + 244 + ## Use systemd socket activation rather than opening the given path (the path must still be correct for the client) 245 + ## linux: false 246 + ## mac/windows: Not Supported 247 + # systemd_socket = false 248 + 249 + ## The port that should be used for TCP on non unix systems 250 + # tcp_port = 8889 251 + 252 + # [theme] 253 + ## Color theme to use for rendering in the terminal. 254 + ## There are some built-in themes, including the base theme ("default"), 255 + ## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your 256 + ## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or 257 + ## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and 258 + ## the string values as lowercase entries from this list: 259 + ## https://ogeon.github.io/docs/palette/master/palette/named/index.html 260 + ## If you provide a custom theme file, it should be called "NAME.toml" and the theme below 261 + ## should be the stem, i.e. `theme = "NAME"` for your chosen NAME. 262 + # name = "autumn" 263 + 264 + ## Whether the theme manager should output normal or extra information to help fix themes. 265 + ## Boolean, true or false. If unset, left up to the theme manager. 266 + # debug = true 267 + 268 + [search] 269 + ## The list of enabled filter modes, in order of priority. 270 + ## The "workspace" mode is skipped when not in a workspace or workspaces = false. 271 + ## Default filter mode can be overridden with the filter_mode setting. 272 + # filters = [ "global", "host", "session", "workspace", "directory" ]
+19
ghostty/.config/ghostty/config
··· 1 + # This is the configuration file for Ghostty. 2 + # 3 + # Run `ghostty +show-config --default --docs` to view a list of 4 + # all available config options and their default values. 5 + # 6 + # Additionally, each config option is also explained in detail 7 + # on Ghostty's website, at https://ghostty.org/docs/config. 8 + 9 + font-family = "Hack Nerd Font" 10 + font-family = "FiraCode Nerd Font" 11 + font-family = "FiraMono Nerd Font" 12 + font-family = "Noto Sans Mono" 13 + font-family = "Liberation Mono" 14 + 15 + font-size = 10 16 + 17 + theme = "niji" 18 + 19 + background-opacity = 0.8
+1
zsh/.zsh/35-bindings.zsh
··· 1 + bindkey -v
+20
zsh/.zsh/40-env.zsh
··· 1 + HISTFILE=~/.histfile 2 + HISTSIZE=1000 3 + SAVEHIST=1000 4 + 5 + if which nvim &>/dev/null; then 6 + export EDIT=${EDIT:-nvim} 7 + alias vim=nvim 8 + elif which vim &>/dev/null; then 9 + export EDIT=${EDIT:-vim} 10 + elif which vi &>/dev/null; then 11 + export EDIT=${EDIT:-vi} 12 + alias vim=vi 13 + else 14 + [[ -n "$EDIT" ]] && export EDIT 15 + alias nvim="echo could not find Neovim on this system" 16 + alias vim="echo could not find Vim or vi on this system" 17 + alias vi="echo could not find Vim or vi on this system" 18 + fi 19 + 20 + export EDITOR=$EDIT
+5
zsh/.zsh/50-aliases.sh
··· 1 + alias ls='ls --color=auto' 2 + alias ll='ls -lav --ignore=..' # show long listing of all except ".." 3 + alias l='ls -lav --ignore=.?*' # show long listing but no hidden dotfiles except "." 4 + # Use yay for AUR updates. 5 + alias eos-update='eos-update --yay'
+6
zsh/.zsh/60-completion.zsh
··· 1 + # The following lines were added by compinstall 2 + zstyle :compinstall filename '/home/quietengineer/.zshrc' 3 + 4 + autoload -Uz compinit 5 + compinit 6 + # End of lines added by compinstall
+11
zsh/.zshrc
··· 1 + # Source global definitions 2 + [[ -r /etc/zsh/zprofile ]] && source /etc/zsh/zprofile 3 + 4 + # Source modularized dotfiles 5 + for F in ~/.zsh/[0-9][0-9]-*.zsh(N); do 6 + source $F 7 + done 8 + unset F 9 + 10 + # Load custom stuff from a host-specific zshrc (if marked executable) 11 + [[ -x ~/.$HOSTNAME.zshrc ]] && source ~/.$HOSTNAME.zshrc