Brak opisu

Ralf Beckesch 130d427dc6 Merge branch 'master' of git.beckesch.it:beckesch/dotfiles 17 godzin temu
dot_bashrc.d 126f89679b hermes bootstrapping hinzugefügt 17 godzin temu
dot_config 3f52d5147e add starship.toml 1 tydzień temu
private_dot_hermes d05366c37f hermes bootstrapping hinzugefügt und hermes SOUL.md hinzugefügt 17 godzin temu
README.md b989803857 'README.md' ändern 1 tydzień temu
dot_bashrc e2d1c24184 Di 22. Sep 15:49:13 CDT 2026 1 tydzień temu
dot_screenrc 81df0233bb now really adding screenrc and vimrc 2 dni temu
dot_vimrc 81df0233bb now really adding screenrc and vimrc 2 dni temu
setup.sh 3c772f58a5 Fehler in setup.sh korrigiert, und ein README.md erzeugt 1 tydzień temu

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).