Skip to content

mpalatsi/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MyaDotFiles

A comprehensive Hyprland desktop configuration, dynamic wallpaper-based color schemes, and modern UI components.

Desktop Preview

✨ Features

🎨 Dynamic Material You Theming

  • Automatic color extraction from wallpapers using matugen
  • One-click theming across all applications
  • Material 3 design principles with modern transparency effects
  • Fallback colors for reliability

πŸ–₯️ Wayland Desktop Environment

  • Hyprland - Modern tiling window manager with animations
  • Waybar - Customizable status bar with Material You styling
  • Rofi - Beautiful application launcher with sharp modern design
  • Departure - Modern logout interface with blur effects
  • Mako - Notification daemon with transparency and Material You colors

🎯 Key Applications Themed

  • Terminal (alacritty) with dynamic colors
  • GTK applications (3.0/4.0) with consistent theming
  • Qt applications via Kvantum
  • Fish shell with color integration
  • System monitors (btop, cava)

πŸ“‹ Requirements

Essential Dependencies

# Core Wayland components
hyprland waybar rofi mako alacritty

# Theming tools
matugen swww 

# Optional but recommended
departure-git fish btop cava fastfetch

Arch Linux Installation

# Install from AUR (using paru)
paru -S hyprland waybar rofi mako alacritty matugen swww departure-git

# Or using yay
yay -S hyprland waybar rofi mako alacritty matugen swww departure-git

πŸš€ Installation

Method 1: Automatic Installation (Recommended)

git clone https://github.com/yourusername/material-you-dotfiles.git
cd material-you-dotfiles
chmod +x install.sh
./install.sh

Method 2: Manual Installation

# Clone the repository
git clone https://github.com/yourusername/material-you-dotfiles.git
cd material-you-dotfiles

# Backup existing configs
mkdir -p ~/.config/backup
cp -r ~/.config/hypr ~/.config/backup/ 2>/dev/null || true
cp -r ~/.config/waybar ~/.config/backup/ 2>/dev/null || true
# ... backup other configs

# Copy configurations
cp -r config/* ~/.config/

# Make scripts executable
chmod +x ~/.config/hypr/scripts/*.sh

🎨 Usage

Applying Themes

The main theming script automatically:

  • Sets a random wallpaper from ~/Pictures/Wallpapers/
  • Generates Material You colors using matugen
  • Updates all application themes
  • Restarts necessary services
# Apply random wallpaper theme
~/.config/hypr/scripts/pywal-random-theme.sh

# Apply specific wallpaper
~/.config/hypr/scripts/pywal-random-theme.sh /path/to/wallpaper.jpg

Key Bindings

  • Super + D - Open Rofi application launcher
  • Super + Q - Open Departure logout menu
  • Super + Enter - Open terminal
  • Super + Shift + S - Screenshot with flameshot

πŸ“ Directory Structure

~/.config/
β”œβ”€β”€ hypr/                     # Hyprland configuration
β”‚   β”œβ”€β”€ hyprland.conf        # Main config
β”‚   β”œβ”€β”€ config/              # Modular configurations
β”‚   β”‚   β”œβ”€β”€ colors.conf      # Dynamic Material You colors
β”‚   β”‚   β”œβ”€β”€ animations.conf  # Window animations
β”‚   β”‚   └── binds.conf       # Keybindings
β”‚   └── scripts/             # Theming and utility scripts
β”œβ”€β”€ waybar/                   # Status bar
β”‚   β”œβ”€β”€ config              # Waybar modules
β”‚   β”œβ”€β”€ style.css           # Dynamic Material You styling
β”‚   └── modules/            # Custom Python modules
β”œβ”€β”€ rofi/                     # Application launcher
β”‚   β”œβ”€β”€ config.rasi         # Main configuration
β”‚   └── theme.rasi          # Dynamic Material You theme
β”œβ”€β”€ departure/                # Logout interface
β”‚   └── config.json         # Dynamic Material You integration
β”œβ”€β”€ matugen/                  # Material You color generation
β”‚   └── config.toml         # Template configuration
└── mako/                     # Notifications
    └── config              # Dynamic styling with transparency

🎨 Theming System

How It Works

  1. Wallpaper Selection: Random or specified wallpaper
  2. Color Extraction: Matugen analyzes wallpaper for Material You colors
  3. Template Processing: Colors applied to configuration templates
  4. Live Updates: Services restarted to apply new themes
  5. Fallback System: Reliable fallback colors if extraction fails

Supported Applications

  • βœ… Hyprland - Window borders with gradient effects
  • βœ… Waybar - Status bar with transparent modules
  • βœ… Rofi - Application launcher with sharp modern design
  • βœ… Departure - Logout menu with blur and Material You colors
  • βœ… Mako - Notifications with transparency and app-specific styling
  • βœ… Alacritty - Terminal with dynamic color schemes
  • βœ… GTK 3/4 - System-wide application theming
  • βœ… Qt/Kvantum - Qt application theming

Color Palette

The theming system extracts:

  • Primary - Main accent color for highlights
  • Tertiary - Secondary accent for variety
  • Surface - Background color for dark theme
  • On Surface - Text color for readability

πŸ› οΈ Customization

Adding Wallpapers

# Add wallpapers to the directory
mkdir -p ~/Pictures/Wallpapers
cp your-wallpapers/* ~/Pictures/Wallpapers/

Modifying Themes

  • Waybar: Edit ~/.config/waybar/style.css
  • Rofi: Modify ~/.config/rofi/theme.rasi
  • Hyprland: Update ~/.config/hypr/config/colors.conf

Custom Colors

Edit fallback colors in the theming script:

# Edit ~/.config/hypr/scripts/pywal-random-theme.sh
FALLBACK_BG="#131822"
FALLBACK_FG="#e0e0e0"
FALLBACK_ACCENT="#8f6eff"

πŸ“Έ Screenshots

πŸš€ Application Launcher (Rofi)

Rofi Launcher

πŸ“Š Complete Desktop Setup

Full Desktop

🎯 Waybar Status Bar

Waybar

πŸ”„ Departure Logout Menu

Departure Menu

πŸ”” Material You Notifications

Notification

πŸ”§ Troubleshooting

Matugen Not Working

# Install matugen
paru -S matugen

# Test color extraction
matugen image --show-colors /path/to/wallpaper.jpg

Services Not Restarting

# Manually restart services
pkill waybar && waybar &
pkill mako && mako &

Hyprland Colors Not Applying

# Force reload Hyprland config
hyprctl reload

# Or reload specific config
hyprctl keyword source ~/.config/hypr/config/colors.conf

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Material You design system by Google
  • Matugen for color extraction
  • Hyprland community for the amazing window manager
  • All the open source developers who made these tools possible

⭐ Star this repository if you found it helpful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors