Commit Graph

10 Commits

Author SHA1 Message Date
Celes Renata 3655e7aaee Add QML2_IMPORT_PATH to quickshell service for QtPositioning support 2025-11-29 15:06:01 -08:00
Celes Renata 58c249eb8f update for hyprland 0.51+ 2025-11-29 14:17:04 -08:00
Celes Renata 98e2ffe352 fix: Disable foot config generation for dynamic transparency support
- Remove xdg.configFile foot/foot.ini generation from terminal-config.nix
- Allows external transparency systems (like Quickshell) to manage foot config
- Prevents static NixOS-managed foot config from overriding dynamic settings
- Fixes issue where foot terminals ignore transparency toggle changes

This enables proper dynamic transparency control without NixOS interference.
2025-08-10 22:32:05 -07:00
Celes Renata efae617d52 Add conflict handling for home-manager symlinks
- Handle conflicting symlinks for icons, konsole, and fish directories
- Backup existing directories before home-manager creates new ones
- Run conflict handling before linkGeneration phase
2025-08-10 11:47:18 -07:00
Celes Renata dd19328008 Fix quickshell Config.qml conflict in hybrid mode
🐛 BUG FIX: Resolve Config.qml conflict in hybrid mode

🎯 ISSUE:
- Rich quickshell config was generating Config.qml
- Configuration copying was also trying to copy Config.qml
- Same conflict pattern as foot.ini

🔧 SOLUTION:
- Applied same fix to quickshell-config.nix
- Only generate Config.qml when configuration copying is disabled
- Prevents file installation conflicts

 HYBRID MODE SHOULD NOW WORK:
- Hyprland: declarative (overrides.hyprlandConf)
- Quickshell: copied files (complex QML structure)
- Terminal: copied files (foot.ini from source)
- No more configuration conflicts!
2025-08-09 13:12:14 -07:00
Celes Renata 671df6cc66 Fix hybrid mode configuration conflict
🐛 BUG FIX: Resolve foot.ini conflict in hybrid mode

🎯 ISSUE:
- Rich terminal config was generating foot/foot.ini
- Configuration copying was also trying to copy foot/foot.ini
- Result: 'Error installing file outside $HOME' conflict

🔧 SOLUTION:
- Updated terminal-config.nix condition
- Only generate foot.ini when configuration copying is disabled
- Allows hybrid mode to work properly:
  - Hyprland: declarative (overrides)
  - Quickshell: copied files (complex QML)
  - Terminal: copied files (no conflict)

 RESULT:
- Hybrid mode should now build successfully
- No more file installation conflicts
- Best of both worlds: customizable + reliable
2025-08-09 13:10:32 -07:00
Celes Renata a13a9352ed Add touchegg configuration override support
 NEW FEATURE: Complete touchegg.conf override capability

🎯 Use Case:
- overrides.toucheggConf: Complete touchegg.conf override
- Allows custom gesture configuration
- Perfect for 3-finger click window dragging

🔧 Implementation:
- Added toucheggConf option to config-override.nix
- Generates complete touchegg.conf from override content
- Follows same pattern as other file overrides
2025-08-09 11:47:29 -07:00
Celes Renata 666700409a Add complete configuration override system
 NEW FEATURE: Complete file override capability

🎯 Problem Solved:
- No more mixed configuration approaches causing broken symlinks
- Clean separation: either rich config OR manual override
- Complete control over configuration files

🔧 New Options:
- overrides.hyprlandConf: Complete hyprland.conf override
- overrides.quickshellConfig: Complete Config.qml override
- overrides.footConfig: Complete foot.ini override
- overrides.hyprDirectory: Complete directory override
- overrides.quickshellDirectory: Complete directory override

🛡️ Safety Features:
- Warnings when overrides conflict with rich config
- Rich config modules respect override settings
- No file mixing - one approach per file

 Use Cases:
- Manual configuration: Set overrides.hyprlandConf
- Rich NixOS config: Use hyprland.* options
- Directory copy: Use overrides.hyprDirectory
- Never mix approaches on same file!
2025-08-08 23:59:41 -07:00
Celes Renata 9821e69f5c Implement rich NixOS configuration system
 COMPLETE: Full NixOS-style configuration system implemented

🎯 Features:
- Rich configuration options for Quickshell, Hyprland, and Terminal
- Type-safe NixOS module options with defaults and descriptions
- Generated configuration files from Nix expressions
- Example configurations (gaming, productivity, minimalist)
- Comprehensive documentation

🔧 Configuration Modules:
- modules/components/quickshell-config.nix - Quickshell options
- modules/components/hyprland-config.nix - Hyprland options
- modules/components/terminal-config.nix - Terminal options

📝 Example Usage:
programs.dots-hyprland = {
  quickshell.bar.utilButtons.showColorPicker = true;
  hyprland.general.gapsIn = 6;
  terminal.colors.alpha = 0.90;
};

🎨 Generated Files:
- ~/.config/quickshell/ii/modules/common/Config.qml (NixOS-managed)
- ~/.config/hypr/general.conf (NixOS-managed)
- ~/.config/foot/foot.ini (NixOS-managed)

 Tested: All configurations build and activate successfully
🎉 Ready for production use with full NixOS declarative configuration!
2025-08-08 23:10:33 -07:00
Celes Renata 8011f1c842 Initial clean flake structure - Phase 3 complete 2025-08-08 22:05:41 -07:00