Skip to content

Application settings

Application preferences live in tracked files under symlinks/. Edit those sources, not installed copies or generated files. A home-directory link may make this checkout live configuration, so some changes take effect immediately.

Installing an application and configuring it are separate changes. Package management chooses applications; symlink declarations choose which settings files reach your home. The files themselves control application behavior. This guide helps you find the right source, then covers preferences shared by the shells.

I want to change…Start here
Git identity, defaults, or aliasesconfig/git/config, config/git/aliases, and Git settings
Bash/Zsh environment or shared commandsShared shell sources below
Bash or Zsh promptconfig/bash/prompt.bash or config/zsh/prompt.zsh
PowerShell behaviorPowerShell configuration
Terminal colors, fonts, or keysAlacritty settings or Windows Terminal settings
tmux behaviorconfig/tmux/tmux.conf
Desktop shortcuts, monitors, bar, or appearanceArch desktop
Editor settings, keybindings, or pluginsVisual Studio Code or Vim and Neovim
Agent preferences, skills, or integrationsAgent configuration
SSH client defaultsssh/config

Source paths in this table are beneath symlinks/. Linked source files open the public repository on GitHub; edit the corresponding file in your own checkout. Paths such as ~/.config/git/config describe installed locations, not a second source to maintain.

For a preference in an already-linked file, edit the source and use the application’s normal reload or restart behavior. You do not need to recreate the link. Some settings UIs, including VS Code’s, can write back through the link; review git diff afterward.

For a new file or destination, update conf/symlinks.toml, then preview the link task before applying. Back up existing targets: installing a managed link can replace a file without making a backup. The first-run example shows the declaration-to-source-to-home relationship.

Use a private overlay for machine-specific alternatives. An overlay can replace a linked source, but does not merge arbitrary application file contents. Keep credentials and private identity details out of public sources.

SettingSource
Bash and Zsh interactive startupbashrc, zshrc
Bash and Zsh login profilesbash_profile, zprofile
Shared shell environment and pager defaultsconfig/shell/profile.sh
Shared commands and aliasesconfig/shell/aliases.sh
Zsh completionconfig/zsh/completion.zsh
Zsh command helpersconfig/zsh/functions/
Git aliasesconfig/git/aliases
Download naming and timestampingconfig/wgetrc

The login profiles source shared environment settings; interactive startup files source shared aliases when present. Put behavior common to Bash and Zsh in config/shell/; keep shell-specific behavior in its own startup file. The Windows guide covers PowerShell’s separate profile.

The shared profile supplies defaults for XDG directories, terminal information, and the less pager. Customize these in config/shell/profile.sh or supply environment overrides before startup. The source records each setting’s defaults.

Zsh uses normal completion on the first Tab. Repeat Tab to try approximate matches.

Dotfiles command completion comes from the CLI’s Shell completions task, not a separate hand-edited selector list.

Common shortcuts include:

CommandPurpose
git stShow concise status and branch information
git disReview staged changes
git loShow a compact commit graph
git gr <pattern>Search tracked content

Run git alias to list all configured aliases.

Alias definitions belong in the linked Git files. Desired global key/value overrides belong in Git settings.

Wget preserves URL filenames and uses timestamping to reuse unchanged downloads. Change its shared defaults in config/wgetrc.

In Zsh, extract <file> chooses the extraction tool for the archive format. That tool must be installed; RPM extraction uses bsdtar, supplied by libarchive on Arch. Keep the extractor’s normal path protections when customizing the helper. Extract untrusted archives into a fresh directory and review the contents before running anything; see Security and trust.