Skip to content
SaulimedesPublic

About

Personal dotfiles managed with chezmoi

Topics

Resources

Stars

5 stars

Watchers

2 watching

Forks

Latest commit

 

History

182 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

You'll be prompted once for your name and email (used for git/jj config, kept out of this repo).

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: Brave, Helium
  • Messaging: Telegram, Session

mise (dot_config/mise/config.toml):

  • Languages: Node, Python, Go, Rust, Zig, Java, Bun, Deno
  • Kubernetes: kubectl, helm, k9s, 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, another-brave-overlay, pentoo)
run_once_setup-flatpak.sh Configure Flathub, install Flatpak apps
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_install-mpv-plugins.sh Install mpv scripts/shaders (mpv360, gif-generator, webm)
run_once_setup-podman.sh Configure rootless podman (subuid/subgid, docker symlink)
run_once_setup-xkb-udev-rule.sh udev rule to re-apply the XKB patch on keyboard hotplug
run_onchange_mise-install Install mise tools
run_onchange_install-packages.sh Re-installs packages when packages.txt changes
run_onchange_setup-openrc-services.sh Enable OpenRC services (chronyd, tlp, bluetooth, mullvad-daemon, i2pd, autofs, syncthing)
run_onchange_setup-samba-mounts.sh Configure autofs mounts to the Unraid NAS
run_onchange_sync-genkernel.sh.tmpl Sync genkernel.conf to /etc/genkernel.conf
run_onchange_sync-useflags.sh.tmpl Sync useflags.txt to /etc/portage/package.use/

Shell Configuration

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

Keyboard Layout

  • US QWERTY with altgr-weur variant for Western European characters
  • ; key remapped to dead_diaeresis via XKB — type ;a for ä, ;o for ö, ;s for ẞ
  • ;; for literal semicolon, ; (space) preserves natural typing flow
  • AltGr+letter still available for direct accented characters (hold AltGr+a → ä, AltGr+8 → ß)
  • Custom .XCompose overrides for ẞ and semicolon fallback sequences
  • Caps Lock → Control via ctrl:nocaps

Editor

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

Mise Tasks

Task Purpose
mise run kernel Copy saved config, build kernel, install modules, rebuild initramfs, update limine.conf
mise run kernel-config-save Save /usr/src/linux/.config back to chezmoi (~/.config/kernel/linux.config)

Kernel upgrade workflow:

eselect kernel set <new>
mise run kernel                          # applies saved config, builds
# if config needs updating for new kernel:
sudo make -C /usr/src/linux olddefconfig
mise run kernel-config-save              # save updated config
git -C ~/.local/share/chezmoi add dot_config/kernel/linux.config && git commit
mise run kernel

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_install-packages.sh.tmpl | bash
chezmoi execute-template < run_onchange_sync-useflags.sh.tmpl | bash

Requirements

  • Gentoo Linux with ~amd64 in ACCEPT_KEYWORDS
  • Overlays: guru, another-brave-overlay, pentoo (auto-configured)

License

GPLv3

About

Personal dotfiles managed with chezmoi

Topics

Resources

Stars

5 stars

Watchers

2 watching

Forks

Used by

Contributors

Languages