Personal Gentoo Linux dotfiles managed with chezmoi.
# Bootstrap chezmoi and apply dotfiles
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply Saulimedes/dotfilesThis will:
- Install chezmoi
- Clone dotfiles
- Run atomic setup scripts (overlays, packages, flatpak, etc.)
- Apply all configuration files
Gentoo packages (packages.txt):
- Shells: zsh, starship, atuin, zoxide
- CLI tools: bat, eza, fd, ripgrep, fzf
- Network: nmap, mtr, tcpdump, iperf
- Media: mpv, ffmpeg
- Browsers: Librewolf, Helium, Zen Browser
- Messaging: Telegram, Session
mise (dot_config/mise/config.toml):
- Languages: Node, Python, Go, Rust, Zig, Java, Bun, Deno
- Kubernetes: kubectl, helm, k9s, kubie, stern, kustomize, k3s
- IaC/Cloud: OpenTofu, Vault, Ansible, gcloud, azure-cli
- Dev tools: direnv, gh, jq, yq, shellcheck, shfmt
| Script | Purpose |
|---|---|
run_once_setup-portage.sh |
Enable Gentoo overlays (guru, librewolf) |
run_once_setup-flatpak.sh |
Configure Flathub |
run_once_install-packages.sh |
Install packages from packages.txt |
run_once_install-antidote.sh |
Install zsh plugin manager |
run_once_install_tmux_plugins |
Install TPM and plugins |
run_once_setup-systemd-services.sh |
Enable user services |
run_onchange_mise-install |
Install mise tools |
- Zsh with antidote plugin manager
- Starship prompt
- Atuin shell history
- forgit for fzf + git integration
- Custom abbreviations and functions
- Emacs with custom config (
dot_emacs.d/) emacsclientas default editor- Dired alias:
dopens current directory
# Re-run all setup scripts
chezmoi state delete-bucket --bucket=scriptState
chezmoi apply
# Re-run a specific script manually
chezmoi execute-template < run_onchange_firefox-userjs.sh.tmpl | bash
chezmoi execute-template < run_onchange_install-packages.sh.tmpl | bash- Gentoo Linux with
~amd64in ACCEPT_KEYWORDS - Overlays: guru, librewolf (auto-configured)
GPLv3