بدون توضیح

Ralf Beckesch 681fa818e7 added .screenrc 2 روز پیش
dot_bashrc.d f5ce5146b1 Mo 28. Sep 20:41:43 CDT 2026 2 روز پیش
dot_config 3f52d5147e add starship.toml 1 هفته پیش
README.md b989803857 'README.md' ändern 1 هفته پیش
dot_bashrc e2d1c24184 Di 22. Sep 15:49:13 CDT 2026 1 هفته پیش
setup.sh 3c772f58a5 Fehler in setup.sh korrigiert, und ein README.md erzeugt 1 هفته پیش
symlink_dot_screenrc 681fa818e7 added .screenrc 2 روز پیش

README.md

Dotfiles (chezmoi)

Personal dotfiles managed with chezmoi.

The repository lives at git.beckesch.it:beckesch/dotfiles.git and is kept locally under ~/.local/share/chezmoi.

Quick start (new machine)

Install script from chezmoi.io

sh -c "$(curl -fsLS get.chezmoi.io)" -- -b ~/.local/bin init --apply git@git.beckesch.it:beckesch/dotfiles.git

Install with your distros or cross-platform package manager first...

...then initialize chezmoi with the repository

chezmoi init git@git.beckesch.it:beckesch/dotfiles.git

Autosetup the files inside your devpods

Alternatively, use the setup.sh script in this repository, which installs chezmoi and applies the dotfiles if that hasn't happened yet. The setup.sh is intended to be used as devpod quick setup.

see setup.sh

Use your distros package manager

# Alpine
apk add chezmoi

# Arch 
pacman -S chezmoi

# Debian
apt-get install chezmoi

# Fedora
dnf install chezmoi

# NixOS
nix-env -i chezmoi

# openSUSE Tumbleweed
zypper install chezmoi

# RHEL (EPEL)
dnf install epel-release && dnf install chezmoi

# Termux
pkg install chezmoi

# Void
xbps-install -S chezmoi

Cross-platform package managers

# am
am -i chezmoi

# asdf
asdf plugin add chezmoi && asdf install chezmoi 2.72.2

# mise
mise use --global chezmoi@2.72.2

# Homebrew
brew install chezmoi

# Nix
nix-env -i chezmoi

# Snap
snap install chezmoi --classic

Structure

Path Description
dot_bashrc Entry point for ~/.bashrc; loads all snippets from ~/.bashrc.d (interactive shells only)
dot_bashrc.d/ Modular bash config snippets, loaded in alphabetical/numeric order
dot_bashrc.d/applications/ Application-specific aliases and additions, loaded by 150-applications.sh (cd, chezmoi, containerlab, date, devpod, grep, kubernetes, ls/lsd, mkdir, ssh, starship, sudo, vi/nvim)
dot_config/ Config files under ~/.config/ (e.g. symlink to starship.toml)
empty_dot_bash_aliases Empty ~/.bash_aliases file (placeholder)
setup.sh Bootstrap script: installs chezmoi and applies the repository

bashrc snippet load order

The numbered files in dot_bashrc.d/ are sourced in this order:

  1. 000-bash-setup-generic.sh – basic shell setup
  2. 010-bash-account-specific.sh – account-/machine-specific settings
  3. 100-generic-aliases.sh – general aliases
  4. 150-applications.sh – loads all snippets in applications/
  5. 200-networking.sh – networking aliases and helpers
  6. 300-shell-safety-nets.sh – safety nets (e.g. safer aliases)

Files with a suffix not equal to .sh (e.g. mybashrc.sh-off) are intentionally not loaded.

Common workflows

# Bring a file from your home directory into the repo
chezmoi add ~/.bashrc.d/my-snippet.sh

# Update and apply the dotfiles
chezmoi update

# Show the diff between the repo and the actual home directory
chezmoi diff

# Sync on another machine
chezmoi cd   # opens the source directory; then git pull/push as usual

Debugging the bashrc

The file ~/.BASHRC_DEBUG controls the debug output of ~/.bashrc: If it exists, its content is set as the debug level and messages are printed while the snippets are loaded (see debug() in dot_bashrc).