dotfiles
August 15, 2026 · View on GitHub
Personal configuration files for Omarchy (Arch Linux) and Fedora, managed with yadm.
Quick Start (New Machine)
1. Install yadm
- Arch / Omarchy:
sudo pacman -S yadm - Fedora:
sudo dnf install yadm
2. Clone and Bootstrap
Clone the repository and run the automated installer:
yadm clone --bootstrap git@github.com:sheikhlimon/dotfiles.git
3. Decrypt Secrets
Decrypt private SSH keys, Claude skills, and API credentials:
yadm decrypt
Tool Stack
- Manager: yadm with GPG archive encryption and automated lifecycle hooks
- Shell: Modular Zsh (
env,options,tools,completions,plugins,aliases) - Plugin Loader: Zero-overhead native loader (
~/.local/share/zsh/plugins) with auto-clone fallback - History Engine: Atuin (interactive TUI, relative time, directory filtering, SQLite sync)
- Prompt: Starship
- Directory Jumper: Zoxide (
cd/z) - Fuzzy Finder: FZF + fzf-tab (16-color ANSI theme,
bat/ezapreviews) - Editor: Neovim and VS Code
- Terminals: Ghostty and Kitty
- Window Manager: Hyprland
- File Manager: Yazi
- Git: Delta (Flexoki Light theme) and Lazygit
- Multiplexer: Tmux
- Containers: Lazydocker + Podman / Docker
Directory Structure
~
├── .config/
│ ├── hypr/ # Hyprland window manager configuration
│ ├── nvim/ # Neovim configuration and LSP settings
│ ├── zsh/ # Modular Zsh configuration (env, options, tools, aliases)
│ ├── ghostty/ # Ghostty terminal configuration
│ ├── kitty/ # Kitty terminal configuration
│ ├── lazygit/ # Lazygit configuration (Flexoki Light)
│ ├── lazydocker/ # Lazydocker configuration
│ ├── starship/ # Starship prompt configuration
│ ├── yazi/ # Yazi terminal file manager
│ └── yadm/ # Bootstrap installer, encryption list, and hooks
├── .local/
│ ├── bin/ # Global user scripts (screenshot, screenrecord)
│ └── share/yadm/ # Encrypted archive vault (archive)
├── .gitconfig # Git configuration (Delta pager, zdiff3)
├── .tmux.conf # Tmux multiplexer configuration
└── .zshrc # Zsh entrypoint loader
Daily Workflow
| Command | Description |
|---|---|
yadm status | Check status of tracked dotfiles |
yadm diff | View unstaged changes |
yadm add <file> | Stage modified or new configuration |
yadm commit -m "message" | Commit staged changes |
yadm push | Push changes to remote repository |
yadm pull | Pull updates from remote repository |
yadm encrypt | Re-encrypt private files (auto-staged via hook) |
yadm decrypt | Decrypt private credentials on current machine |