Personal dotfiles managed with GNU Stow. Includes configs for i3, neovim, tmux, zsh, kitty, and more. Also contains bootc image definitions for running Arch Linux on Hetzner Cloud.
git clone https://github.com/bupd/dotfiles.git ~/dotfiles
cd ~/dotfiles
./check_dependencies.sh
stow --adopt .dotfiles/
.config/
nvim/ # Neovim (NvChad) config
tmux/ # Tmux config (prefix: Ctrl-j, vim-tmux-navigator)
i3/ # i3 window manager
i3status/ # i3 status bar
kitty/ # Kitty terminal
lazygit/ # Lazygit config
xremap/ # Key remapping
yt-dlp/ # yt-dlp config
bootc/ # Arch Linux bootc image for Hetzner Cloud (not stowed)
Containerfile # Custom image (packages, users, dotfiles)
Containerfile.base # bootcrew/arch-bootc base image
scripts/ # Build, flash, verify, post-boot scripts
keyboard/ # Corne V3 keyboard layout
scripts/ # Utility scripts
sessionizer # Tmux session picker (Ctrl-f in tmux)
.p10k.zsh # Powerlevel10k theme config
.zshenv # Zsh environment
.zshrc # Zsh config (zinit, p10k, fzf-tab) - not stowed
.xinitrc # X11 init
The bootc/ directory contains everything needed to build and deploy an immutable Arch Linux image to a Hetzner Cloud VPS using bootc.
cd ~/dotfiles/bootc
# Build and push image
./scripts/build.sh <registry> <username> <password>
# Generate bootable disk image and push via oras
./scripts/generate-disk.sh <registry> <username> <password>
# Flash from Hetzner rescue mode
./scripts/flash-disk.sh <registry> <username> <password>
# Verify before rebooting
./scripts/verify-disk.sh
# Update the running server
sudo bootc upgrade && sudo rebootSee bupd/arch-bootc-hetzner for full documentation.
| Tool | Config |
|---|---|
| Neovim | NvChad + custom plugins (LSP, DAP, telescope, treesitter) |
| Tmux | tpm, vim-navigator, resurrect, sessionizer |
| Zsh | zinit, powerlevel10k, fzf-tab, syntax-highlighting |
| i3 | Window manager with custom keybindings |
| Kitty | Terminal emulator |
| Lazygit | Git TUI |
MIT. See LICENSE for details.
