id = "bash" name = "Bash" homepage = "https://www.gnu.org/software/bash/" description = "The GNU project's shell, and the login shell most Linux systems still start you in." icon = "SimpleIcons:gnubash" executables = ["bash"] platforms = ["macos", "linux"] [dotfiles] # bash(1), INVOCATION: login shells read ~/.bash_profile, ~/.bash_login, # ~/.profile; interactive non-login shells read ~/.bashrc. Readline reads # ~/.inputrc (readline(3)). paths = [ "~/.bashrc", "~/.bash_profile", "~/.bash_login", "~/.profile", "~/.bash_logout", "~/.inputrc", ] exclude = ["~/.bash_history", "~/.bash_sessions/"] secret = [] # PATH and NVM_DIR are spelled out of this user's own home directory, so no # second machine can take them as they stand — but they are also this user's # shell, the thing they would rebuild first, so they are kept: backup. [[dotfiles.machine_lines]] file = "~/.bashrc" match = { prefix = ["export PATH=", "export NVM_DIR="] } scope = "backup" # HOMEBREW_PREFIX is split out of the rule above because it is a different # kind of value: /opt/homebrew on Apple Silicon, /usr/local on Intel, and the # same on every machine of that class regardless of who is logged in. It is # decided by the platform, so it travels to a machine of the same platform. [[dotfiles.machine_lines]] file = "~/.bashrc" match = { prefix = ["export HOMEBREW_PREFIX="] } scope = "platform" # Same as PATH above: this user's own directories, kept so the login shell can # be rebuilt. [[dotfiles.machine_lines]] file = "~/.bash_profile" match = { prefix = ["export PATH="] } scope = "backup"