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.
This commit is contained in:
Celes Renata
2025-08-10 13:17:25 -07:00
parent 866a004fd2
commit 0321f75443
3 changed files with 22 additions and 6 deletions
+8 -6
View File
@@ -81,6 +81,12 @@ in
};
config = mkIf cfg.enable {
# Enable Python environment for color generation
programs.dots-hyprland.python = {
enable = true;
autoSetup = true;
};
# Install packages based on selected set
home.packages =
let
@@ -90,12 +96,6 @@ in
else if cfg.packageSet == "essential" then packageSets.essentialPackages
else packageSets.allPackages;
# Enable Python virtual environment (CRITICAL for both modes)
programs.dots-hyprland.python = {
enable = true;
autoSetup = true;
};
# Enable configuration management based on mode
programs.dots-hyprland.configuration = mkIf (cfg.mode == "declarative" || cfg.mode == "hybrid") {
enable = mkDefault (cfg.mode == "hybrid"); # Enable copying for hybrid mode
@@ -131,6 +131,8 @@ in
# Set critical environment variables (required for both modes)
home.sessionVariables = {
ILLOGICAL_IMPULSE_VIRTUAL_ENV = "$HOME/.local/state/quickshell/.venv";
# Ensure GNOME schemas are available for gsettings
XDG_DATA_DIRS = "$XDG_DATA_DIRS:${pkgs.gsettings-desktop-schemas}/share";
};
# Ensure ~/.local/bin is in PATH for our working qs script
+1
View File
@@ -29,6 +29,7 @@ let
# Set up proper library path for Python packages (64-bit only)
export LD_LIBRARY_PATH="${lib.makeLibraryPath (with pkgs; [
stdenv.cc.cc.lib # provides libstdc++.so.6
gcc-unwrapped.lib
glibc
zlib
+13
View File
@@ -26,6 +26,7 @@ let
widgetPackages = with pkgs; [
fuzzel
glib # for gsettings
gsettings-desktop-schemas # GNOME schemas for non-GNOME environments
hypridle
hyprutils
hyprlock
@@ -71,6 +72,18 @@ let
gobject-introspection
sassc
opencv4 # python-opencv
# Additional system libraries needed for Python packages
stdenv.cc.cc.lib # provides libstdc++.so.6
glibc
zlib
libffi
openssl
bzip2
xz
ncurses
readline
sqlite
];
# Additional packages that might be needed