Personal dotfiles for EndeavourOS with Hyprland (Wayland) and Nord theme.
This repo only manages configuration files via symlinks. It does not install packages, manage dependencies, or track app data. Install apps with yay/pacman first, then use this repo to manage their configs.
- OS: EndeavourOS (Arch-based)
- WM: Hyprland (Wayland)
- Bar: Waybar
- Terminal: Foot
- Launcher: Rofi
- Notifications: Mako
- Theme: Nord
| Component | Description |
|---|---|
hypr/ |
Hyprland window manager config |
waybar/ |
Status bar config, scripts, and styling |
foot/ |
Terminal emulator config |
foot-quake/ |
Drop-down quake-style terminal |
rofi/ |
Application launcher config |
mako/ |
Notification daemon config |
gtk-3.0/ |
GTK3 theme settings |
gtk-4.0/ |
GTK4 theme settings |
Thunar/ |
File manager |
imv/ |
Image viewer |
mpv/ |
Video player |
networkmanager-dmenu/ |
WiFi menu |
nwg-displays/ |
Display configuration GUI |
xdg-desktop-portal/ |
Wayland portal config |
scripts/ |
System maintenance scripts |
shell/ |
Shell configs (.bashrc, .zshrc, .Xresources) |
| File | Description |
|---|---|
brave-flags.conf |
Brave browser Wayland flags |
code-flags.conf |
VS Code Wayland flags |
cursor-flags.conf |
Cursor editor Wayland flags |
electron-flags.conf |
General Electron app flags |
power-settings.conf |
Power management settings |
Machine-specific settings (GPU drivers, monitor config, cursor size) are extracted into host profiles so the same dotfiles work across different hardware:
| Profile | Description |
|---|---|
default.conf |
Safe fallback for any machine |
dell-xps-13.conf |
Dell XPS 13 — Intel Iris, 3200x1800 HiDPI |
thinkpad-p16s-gen4.conf |
ThinkPad P16s Gen 4 — AMD Ryzen AI 9, Radeon, 1920x1200 |
~/.config/hypr/ ──symlink──▶ ~/REPOS/dotfiles_hyprland/config/hypr/
~/.config/waybar/ ──symlink──▶ ~/REPOS/dotfiles_hyprland/config/waybar/
~/.bashrc ──symlink──▶ ~/REPOS/dotfiles_hyprland/shell/.bashrc
Configs are symlinked, not copied. Any changes you make on the live system are automatically reflected in the repo.
./install.shDuring install you'll be prompted to select a host profile for your machine.
./install.sh hypr
./install.sh waybar
./install.sh brave-flags.conf./install.sh host./install.sh --backup-onlycp config/hypr/hosts/default.conf config/hypr/hosts/my-laptop.conf
# Edit with your GPU, monitor, and cursor settings
./install.sh host # Select the new profileUse sync.sh to manage configs beyond the core set:
./sync.sh status # Show sync status and untracked configs
./sync.sh add <name> # Add a config from ~/.config to the repo
./sync.sh remove <name> # Remove a config from the repo
./sync.sh fix # Fix all broken symlinks
./sync.sh interactive # Interactive menuyay -S neovim # 1. Install the app
# Configure it... # 2. Use and customize
./sync.sh add nvim # 3. Move config to repo + create symlink
git add -A && git commit # 4. Commit to version controlPackage lists live in packages/ — one base list plus per-host extras:
| File | Description |
|---|---|
packages/base.txt |
Apps every machine needs (hyprland, waybar, foot, etc.) |
packages/dell-xps-13.txt |
Intel microcode, thermald, etc. |
packages/thinkpad-p16s-gen4.txt |
AMD microcode, smartcard support, etc. |
Use packages.sh to compare declared packages against what's actually installed:
./packages.sh # Status for current host (auto-detected)
./packages.sh status dell-xps-13 # Status for specific host
./packages.sh install # Show & optionally install missing packages
./packages.sh export # Dump installed packages to a file
./packages.sh hosts # List available host profiles# 1. Add package to the appropriate list
echo "neovim" >> packages/base.txt
# 2. Install it
./packages.sh install
# 3. Configure it, then track the config
./sync.sh add nvim
# 4. Commit everything together
git add -A && git commit -m "Add neovim"Never track configs containing credentials. The following are excluded in sync.sh:
gh/— GitHub CLI OAuth tokensrclone/— Google Drive OAuth credentialsBraveSoftware/— Browser profile datagoogle-chrome/— Browser profile data
See the IGNORE_LIST in sync.sh for the full list.
Feel free to use and modify as you like!