Overview
This dotfiles repository uses Dotbot for automated installation and symlink management. The structure is organized into four main directories, each serving a specific purpose.Directory Tree
Main Directories
home/
Contains files that are symlinked directly to your home directory (~).
- zshenv - ZSH environment file loaded first, sets up XDG directories and PATH
dots/
Application-specific configuration files that go in~/.config/.
| Directory | Description | Symlinked to |
|---|---|---|
bat/ | bat (modern cat) syntax highlighting themes | ~/.config/bat/ |
code/ | Visual Studio Code user settings | ~/.config/Code/User/ |
fastfetch/ | System information display tool | ~/.config/fastfetch/ |
kitty/ | Kitty terminal emulator configuration | ~/.config/kitty/ |
nvim/ | Neovim editor configuration with Lua | ~/.config/nvim/ |
hyprland/
All Hyprland window manager and Wayland-related configurations.| Directory | Description | Symlinked to |
|---|---|---|
hypr/ | Main Hyprland configuration with modular setup | ~/.config/hypr/ |
waybar/ | Status bar configuration and styling | ~/.config/waybar/ |
mako/ | Notification daemon configuration | ~/.config/mako/ |
wlogout/ | Logout menu with custom icons | ~/.config/wlogout/ |
rofi/ | Application launcher theming | ~/.config/rofi/ |
Hyprland Modules
Thehyprland/hypr/modules/ directory contains modular configuration files:
| File | Purpose |
|---|---|
vars.conf | Application and color variable definitions |
env.conf | Hyprland-specific environment variables |
general.conf | General Hyprland settings (gaps, borders, etc.) |
theme.conf | Visual theming (decorations, animations) |
input.conf | Keyboard and mouse input settings |
layout.conf | Window layout configuration |
monitors.conf | Monitor configuration |
binds.conf | Keyboard shortcuts and keybindings |
windowrules.conf | Per-application window rules |
autostart.conf | Programs to launch on startup |
system/
System-level configurations that affect the entire shell and environment.| Directory | Description | Symlinked to |
|---|---|---|
environment.d/ | systemd user environment variables | ~/.config/environment.d/ |
paru/ | Paru AUR helper configuration | ~/.config/paru/ |
zsh/ | ZSH shell configuration and plugins | ~/.config/zsh/ |
environment.d Files
| File | Purpose |
|---|---|
envvarsuser.conf | XDG directories, default programs, development tools |
rendering.conf | Font rendering and NVIDIA hardware acceleration |
wayland.conf | Wayland-specific environment variables |
ZSH Configuration Files
| File | Purpose |
|---|---|
.zshrc | Main ZSH configuration file |
.zprofile | Profile settings loaded on login |
.zsh_plugins.txt | Antidote plugin manager plugin list |
aliases.zsh | Shell aliases for common commands |
git.zsh | Git-specific aliases and functions |
pacman.zsh | Pacman/Paru package manager aliases |
functions.zsh | Custom shell functions |
keybinds.zsh | ZSH keybindings |
Installation Files
install
Bash script that bootstraps the Dotbot installation process:~/workspace/source/install
./install
install.conf.yaml
Dotbot configuration that defines:- Package installation - Installs packages from
packages.txtusing Paru - Directory creation - Creates necessary cache and data directories
- Symlink management - Links all config files to their proper locations
- Cleanup - Removes broken symlinks
View install.conf.yaml
View install.conf.yaml
packages.txt
Plain text file listing all required packages. See the Packages Reference for the complete categorized list.How It Works
- Run
./installto start the installation process - Dotbot reads
install.conf.yaml - Checks for missing packages and installs them via Paru
- Creates necessary directories in
~/.cacheand~/.local - Creates symlinks from this repository to
~/.configand~ - Cleans up any broken symlinks
git pull.