General Questions
Why use GNU Stow for managing dotfiles?
Why use GNU Stow for managing dotfiles?
- Version control: All configs in one git repository
- Easy deployment: Single command to install all configs
- Selective installation: Choose which configs to install
- Safe updates: Changes are immediately reflected without copying
--dotfiles flag is particularly useful because it allows files like dot-config/ in the repository to become .config/ in your home directory, making them visible in git without being hidden.Example:- Repository:
dot-config/hypr/hyprland.conf - Home directory:
~/.config/hypr/hyprland.conf(symlinked)
What is the 12-factor design approach mentioned in the configs?
What is the 12-factor design approach mentioned in the configs?
- Base configurations are tracked in git
- Environment-specific settings go in local files (not tracked)
- Local files are automatically loaded if they exist
- Same base config works on multiple machines
- Machine-specific tweaks in local files
- Base config stays clean and portable
- No risk of committing sensitive local settings
- Keep shared settings in tracked files
- Put machine-specific settings in
.local.conffiles - Add
.local.confto.gitignore
Can I use parts of this config without installing everything?
Can I use parts of this config without installing everything?
- Tmux keybindings from
tmux.conf - Hyprland animations from
modules/look.conf - Waybar modules from
waybar/config.jsonc
dot-config/tmux/- Complete tmux setupdot-config/hypr/- Hyprland window managerdot-config/waybar/- Status bardot-config/rofi/- Application launcher
Configuration Questions
How do I switch between laptop and desktop configs?
How do I switch between laptop and desktop configs?
- Desktop config:
~/.config/hypr/hyprland.conf - Laptop config:
~/.config/hypr/modules/hyprland-laptop.conf
| Setting | Desktop | Laptop |
|---|---|---|
| Primary Monitor | eDP-1 | eDP-1 |
| Secondary Monitor | HDMI-A-2 | Disabled |
| Gaps (inner) | 0px | 4px |
| Gaps (outer) | 0px | 5px |
| Border Color | Blue gradient | Cyan/Green gradient |
| Display Module | displays.conf | displays-laptop.conf |
Super + Shift + RHow do I customize the Catppuccin theme colors?
How do I customize the Catppuccin theme colors?
latte, frappe, macchiato, mochaHyprland Border Colors:
Edit variables in hyprland.conf:waybar/style.css. Modify CSS variables:- Update tmux theme plugin
- Modify Hyprland color variables
- Replace waybar CSS
- Update rofi theme path
Where are application logs located?
Where are application logs located?
How do I reload configurations without logging out?
How do I reload configurations without logging out?
- Display manager configuration changes
- Systemd user service modifications
- Major Hyprland structural changes
- Graphics driver updates
Installation & Updates
How do I keep my configs updated with upstream changes?
How do I keep my configs updated with upstream changes?
- Keep your customizations in
.local.conffiles - Document your changes in a separate file
- Use git branches for experimental changes
- Review changes before merging:
git diff upstream/main
What dependencies need to be installed?
What dependencies need to be installed?
How do I uninstall or remove these configs?
How do I uninstall or remove these configs?
Advanced Questions
How do I add custom keybindings to Hyprland?
How do I add custom keybindings to Hyprland?
~/.config/hypr/modules/keybindings.conf.To add custom bindings without modifying the base file:- Create a local keybindings file:
- Add your custom bindings:
- Source it in
hyprland.conf:
- Reload Hyprland:
Super + Shift + R
Can I use this config on multiple machines with different hardware?
Can I use this config on multiple machines with different hardware?
- Symlink the appropriate config file for each machine
- See “How do I switch between laptop and desktop configs?” above
hyprland.conf:How do I debug Waybar module scripts?
How do I debug Waybar module scripts?
~/.config/waybar/toggle_temp.sh~/.config/waybar/cycle-power-profile.sh
- Make scripts executable:
- Test script directly:
- Check script dependencies:
- View waybar output:
- Validate JSON config:
- Test module in isolation: Create a minimal config with just one module to test.
- Missing shebangs (
#!/bin/bash) - Wrong permissions
- Missing dependencies (check script commands)
- Incorrect output format (waybar expects specific JSON/text)
Still Have Questions?
If your question isn’t answered here:- Check the Common Issues page
- Review configuration files in
~/.config/for inline comments - Consult application-specific documentation:
- Check the source repository README for updates
- Review git commit history for context on specific changes