This page documents the complete directory structure of the dotfiles repository and explains the purpose of each directory and its target location in the system.
Repository Root
~/dotfiles/
├── .config/ # Application configurations
├── bin/ # Custom command-line utilities
├── home/ # Home directory dotfiles
├── boot/ # Bootloader configuration
├── etc/ # System configuration files
├── srv/ # Service data files
├── usr/ # System-wide binaries
├── .github/ # GitHub repository metadata
└── sync.sh # Dotfiles synchronization script
Configuration Directories
.config/ → ~/.config/
Application-specific configuration files following the XDG Base Directory specification.
Directory Application Purpose alacritty/Alacritty Terminal emulator configuration BetterDiscord/BetterDiscord Discord client customization cava/Cava Console audio visualizer doom/Doom Emacs Emacs configuration framework dunst/Dunst Notification daemon settings flameshot/Flameshot Screenshot tool configuration i3/i3 Window manager configuration i3blocks/i3blocks Status bar blocks kitty/Kitty Terminal emulator settings lf/lf Terminal file manager mpv/mpv Media player configuration nvim/Neovim Text editor configuration neofetch/Neofetch System information display polybar/Polybar Status bar configuration ranger/Ranger Terminal file manager redshift/Redshift Screen color temperature rofi/Rofi Application launcher xdg-desktop-portal/XDG Portal Desktop integration xmobar/Xmobar Status bar (alternative) xmonad/XMonad Window manager (alternative) zathura/Zathura Document viewer
Special .config/ Files
File Target Location Purpose firefox/user.js~/.mozilla/firefox/vdhmokqy.default-nightly/user.jsFirefox preferences dolphin/dolphinrc~/.config/dolphinrcKDE file manager git/.gitconfig~/.gitconfigGit global configuration pavucontrol/pavucontrol.ini~/.config/pavucontrol.iniPulseAudio control picom/picom.conf~/.config/picom.confCompositor settings most/.mostrc~/.mostrcPager configuration tmux/.tmux.conf~/.tmux.confTerminal multiplexer yakuake/yakuakerc~/.config/yakuakercDrop-down terminal user-dirs.dirs~/.config/user-dirs.dirsXDG user directories plasma-localerc~/.config/plasma-localercKDE locale settings
bin/ → ~/.local/bin/
Custom command-line utilities and scripts. See Command Reference for detailed documentation.
All files in this directory are executable scripts:
bin/
├── PATH # Display PATH variable
├── ccl # Compile & run C
├── cclp # Compile & run C++
├── color # Terminal color test
├── echo_separate # Formatted headers
├── git-remote # Git remote helper
├── gpt-import # GPG key import
├── hdln # Symbolic link helper
├── i3-layout-save # Save i3 layouts
├── i3load # Load i3 layouts
├── notify-test # Test notifications
├── pass # Password generator
├── radio # Internet radio
├── stot # Stow wrapper
├── systemctl-enable # Service management
├── update # System updater
├── wallpaper # Video wallpapers
└── wallpaper-convert # Video conversion
home/ → ~/
User home directory configuration files.
File Target Purpose .xinitrc~/.xinitrcX Window System initialization .xprofile~/.xprofileX session startup script .nvidia-settings-rc~/.nvidia-settings-rcNVIDIA GPU settings .screenlayout-main.sh~/.screenlayout-main.shDisplay configuration script .Xresources~/.XresourcesX11 resource configuration .zshenv~/.zshenvZsh environment variables .zshrc~/.zshrcZsh interactive shell config
System Directories (Require Root)
etc/ → /etc/
System-wide configuration files.
File Purpose dhcpcd.confDHCP client configuration hostsStatic hostname mappings locale.confSystem locale settings locale.genAvailable locales pacman.confPacman package manager resolv.confDNS resolver configuration sysctl.confKernel parameters vconsole.confVirtual console settings
Directory/File Purpose httpd/conf/httpd.confApache web server httpd/conf/extra/phpmyadmin.confPHPMyAdmin configuration lightdm/lightdm.confDisplay manager lightdm/lightdm-webkit2-greeter.confLogin screen theme php/php.iniPHP interpreter settings pulse/default.paPulseAudio configuration systemd/logind.confLogin manager settings
Package & Module Configuration
Directory/File Purpose modprobe.d/blacklist.confKernel module blacklist pacman.d/mirrorlistArch Linux mirrors xdg/reflector/reflector.confMirror list updater
X11/ → /etc/X11/xorg.conf.d/
X Window System configuration (optional).
File Purpose 00-keyboard.confKeyboard layout and options 50-mouse-acceleration.confMouse sensitivity settings xorg.confMain X server configuration
boot/ → /boot/
Bootloader configuration.
File Purpose efi/EFI/refind/refind.confrEFInd bootloader settings
usr/ → /usr/
System-wide resources.
File Purpose lib/NetworkManager/conf.d/20-connectivity.confNetwork connectivity check
srv/ → /srv/
Service data.
File Purpose http/test.phpApache test script
Synchronization Structure
The sync.sh script uses the stot command to create symbolic links following this pattern:
Link Operations (-l flag)
Source: ~/dotfiles/ < pat h >
Target: ~/ < pat h >
Example:
stot -l .config/i3
# Creates: ~/.config/i3/* → ~/dotfiles/.config/i3/*
Copy Operations (-c flag)
Source: ~/dotfiles/ < pat h >
Target: / < pat h >
Example:
stot -c etc/hosts
# Copies: ~/dotfiles/etc/hosts → /etc/hosts
Directory Purpose Summary
User Configuration
.config/ - Application settings
home/ - Shell and X11 config
bin/ - Personal scripts
System Configuration
etc/ - System-wide settings
boot/ - Bootloader config
usr/ - System resources
Development
Custom commands in bin/
Git configuration
Editor settings (nvim, doom)
Desktop Environment
Window managers (i3, xmonad)
Status bars (polybar, xmobar)
Application launchers (rofi)
.github/
File Purpose README.mdRepository documentation images/Screenshots and assets
XDG Base Directory Specification
This dotfiles repository follows the XDG Base Directory standard:
Directory Environment Variable Purpose ~/.config/$XDG_CONFIG_HOMEUser-specific configuration ~/.local/bin/Part of $PATH User-specific executables ~/.local/share/$XDG_DATA_HOMEUser-specific data ~/.cache/$XDG_CACHE_HOMEUser-specific cache
Most modern applications automatically look in ~/.config/ for configuration files when they follow the XDG specification.