Celes Renata
b4f32209f5
Remove duplicate LD_LIBRARY_PATH from quickshell wrapper
...
- Remove LD_LIBRARY_PATH from quickshell wrapper in flake.nix
- python-environment.nix already sets LD_LIBRARY_PATH in sessionVariables
- Fixes conflict between two LD_LIBRARY_PATH definitions
- Ensures proper library path inheritance for Python virtual environment
2025-08-10 17:25:14 -07:00
Celes Renata
44a831cfb7
Fix NixOS Python environment: Add LD_LIBRARY_PATH to sessionVariables
...
- Add system libraries to LD_LIBRARY_PATH for Python virtual environment
- Includes libstdc++, glibc, zlib, libffi, openssl, bzip2, xz, ncurses, readline, sqlite
- Fixes 'libstdc++.so.6: cannot open shared object file' error in color generation
- Ensures all child processes inherit proper library paths
2025-08-10 17:12:48 -07:00
Celes Renata
db015cfb43
Remove ~/.local/bin/qs wrapper script, use quickshell directly
...
- Removed qs script creation from home-manager.nix activation
- Updated quickshell-reset.sh to not create qs script
- Updated comments to reflect direct quickshell usage
- Fixes exec-once timing issues by eliminating wrapper script
2025-08-10 16:22:00 -07:00
Celes Renata
c90cc9427c
Add matugen directory to backup handling
...
- Add matugen to writable-mode backup script directory list
- Add matugen conflict handling to Home Manager activation script
- Handle both symlinked and regular matugen directories
- Prevents activation failures due to existing matugen configs
This resolves the 'mkdir: cannot create directory' and 'ln: failed to create symbolic link'
errors that occur when ~/.config/matugen already exists during Home Manager activation.
2025-08-10 13:25:22 -07:00
Celes Renata
0321f75443
Fix Light mode selection in quickshell settings
...
- Add gsettings-desktop-schemas for GNOME schema support on non-GNOME systems
- Add libstdc++.so.6 support via stdenv.cc.cc.lib for Python packages
- Include all required system libraries for Python virtual environment
- Set XDG_DATA_DIRS to include GNOME schemas path
- Reorganize Python environment configuration for better clarity
This resolves the issue where Light mode couldn't be selected in the
quickshell settings menu due to missing dependencies and library linking issues.
2025-08-10 13:17:25 -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
cd7e9840fe
Add hybrid configuration mode as default
...
✨ NEW FEATURE: Hybrid Configuration Mode
🎯 HYBRID MODE (now default):
- Hyprland: Fully declarative (easy to customize inline)
- Quickshell: Copy QML files (complex structure, proven to work)
- Best of both worlds: customizable + reliable
🔧 IMPLEMENTATION:
- Added 'hybrid' to mode enum options
- Set hybrid as default mode
- Smart configuration copying logic:
- copyMiscConfig = true (Quickshell QML files)
- copyHyprlandConfig = false (use overrides instead)
- copyFishConfig = true (fish shell config)
🎨 USER BENEFITS:
- Hyprland errors? Fix declaratively in home.nix
- Quickshell complex? Use proven copied files
- No more 'broken config dir?' issues
- Perfect for NixOS users who want control + reliability
Modes available:
- hybrid (default): Hyprland declarative + Quickshell copied
- declarative: Everything managed by Home Manager
- writable: Everything copied to ~/.config for editing
2025-08-09 13:05:43 -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