Skip to content

Personal dotfiles managed with chezmoi

Notifications You must be signed in to change notification settings

Saulimedes/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

164 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Lint License Gentoo Emacs Zsh chezmoi

Dotfiles

Personal Gentoo Linux dotfiles managed with chezmoi.

Quick Start

# Bootstrap chezmoi and apply dotfiles
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply Saulimedes/dotfiles

This will:

  1. Install chezmoi
  2. Clone dotfiles
  3. Run atomic setup scripts (overlays, packages, flatpak, etc.)
  4. Apply all configuration files

What's Included

Package Management

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

Atomic Setup Scripts

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

Shell Configuration

  • Zsh with antidote plugin manager
  • Starship prompt
  • Atuin shell history
  • forgit for fzf + git integration
  • Custom abbreviations and functions

Editor

  • Emacs with custom config (dot_emacs.d/)
  • emacsclient as default editor
  • Dired alias: d opens current directory

Re-running Scripts

# 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

Requirements

  • Gentoo Linux with ~amd64 in ACCEPT_KEYWORDS
  • Overlays: guru, librewolf (auto-configured)

License

GPLv3