Skip to content

bupd/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

500 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Header

Dotfiles

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.

Quick Start

git clone https://github.com/bupd/dotfiles.git ~/dotfiles
cd ~/dotfiles
./check_dependencies.sh
stow --adopt .

Structure

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

Bootc (Hetzner Server)

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 reboot

See bupd/arch-bootc-hetzner for full documentation.

What's Included

  • .config - Configuration directory
  • AGENT-CONFIG.md - AI agent configuration guide
  • i3 - i3 window manager configuration
  • i3status - i3status configuration
  • keyboard - Corne V3 keyboard layout configuration
  • kitty - Kitty terminal emulator configuration
  • lazygit - Lazygit TUI configuration
  • nvim - Neovim configuration
  • pactl.sh - Script for managing PulseAudio
  • pactlVmic.sh - Script for managing PulseAudio virtual microphone
  • picom.conf - Picom (compositor) configuration
  • powerkill.sh - Script to handle power-related actions
  • scripts - Directory containing various utility scripts (see below)
  • sessionizer - Script for TMUX session management
  • streamStart.sh - Script to set up PulseAudio sinks for streaming
  • streamKill.sh - Script to tear down streaming audio setup
  • theme.conf - Theme configuration
  • tmux - Tmux terminal multiplexer configuration
  • xremap - Key remapping configuration
  • yt-dlp - yt-dlp download configuration
  • ytdl-sub - ytdl-sub subscription downloader configuration
  • .xinitrc - X11 initialization script
  • .zshrc - Zsh shell configuration

Scripts

Utility scripts in the scripts/ directory:

  • airdopes - Bluetooth pairing/connect automation for Airdopes earbuds
  • batch-delete.sh - Delete files listed in a text file (one path per line)
  • cputemp - Display CPU and NVMe temperatures with color-coded output for i3status
  • images.sh - Pull, tag, and push a set of Docker images to a local registry
  • load-scripts - Copy scripts to /usr/bin for system-wide access
  • newver-checker - Run nvchecker across subdirectories to check for new package versions
  • nvim-migrate.sh - Migrate NvChad v2 custom config to the v3 starter template
  • rm-harbor-clean.sh - Clean up Harbor-related build artifacts
  • rm-node_modules.sh - Recursively find and delete all node_modules directories
  • stt-start.sh - Start nerd-dictation speech-to-text with Vosk model
  • stt-stop.sh - Stop nerd-dictation speech-to-text
  • watchtime - Calculate total video duration in a directory tree

📸 My Keyboard Layout - Corne V3

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

Keyboard - Corne V3

Layer 0

Screenshot_2025-11-20_14-44-47

Layer 1

Screenshot_2025-11-20_14-47-42

Layer 2

Screenshot_2025-11-20_14-47-55

License

MIT. See LICENSE for details.

About

This is the configs I have in my ARCH Linux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors