mirror of
https://github.com/henrysipp/omarchy-nix.git
synced 2026-06-05 18:29:26 -05:00
b51d8f632b
* Add custom theme support with wallpaper-based color extraction
- Extended theme option to accept "custom" value
- Added customTheme configuration with wallpaperPath and variant options
- Integrated nix-colors colorSchemeFromPicture for dynamic color generation
- Updated wallpaper selection to handle custom paths
- Added VSCode theme fallback for custom color schemes
- Fixed nix-colors contrib function call (requires pkgs argument)
- Maintains full backward compatibility with existing themes
Users can now generate themes from their own wallpapers:
omarchy = {
theme = "custom";
customTheme = {
wallpaperPath = ./wallpapers/my-image.png;
variant = "dark"; # or "light"
};
};
* Fix: Screen sharing broken due to Qt library version mismatch
File changed: modules/nixos/hyprland.nix
Problem:
The omarchy-nix configuration was using xdg-desktop-portal-hyprland from the hyprland flake input, which had a Qt library version mismatch (6.9.1 vs 6.9.0). This caused the
hyprland-share-picker to crash with "Cannot mix incompatible Qt library" errors, preventing screen sharing from working.
Solution:
Changed the portalPackage from the hyprland flake version to the stable nixpkgs version:
- portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
+ portalPackage = pkgs.xdg-desktop-portal-hyprland; # Use stable nixpkgs version to fix Qt version mismatch
Why this works:
- The stable nixpkgs version of xdg-desktop-portal-hyprland has consistent Qt library versions
- This matches the working configuration used on other NixOS Hyprland setups
- Maintains all screen sharing functionality while avoiding the Qt version conflict
40 lines
888 B
Nix
40 lines
888 B
Nix
{
|
|
"tokyo-night" = {
|
|
base16-theme = "tokyo-night-dark";
|
|
vscode-theme = "Tokyo Night";
|
|
};
|
|
"catppuccin-macchiato" = {
|
|
vscode-theme = "Catppuccin Macchiato";
|
|
};
|
|
|
|
"kanagawa" = {
|
|
base16-theme = "kanagawa";
|
|
vscode-theme = "Kanagawa";
|
|
};
|
|
|
|
"everforest" = {
|
|
base16-theme = "everforest";
|
|
vscode-theme = "Everforest Dark";
|
|
};
|
|
|
|
"nord" = {
|
|
base16-theme = "nord";
|
|
vscode-theme = "Nord";
|
|
};
|
|
"gruvbox" = {
|
|
base16-theme = "gruvbox-dark-hard";
|
|
vscode-theme = "Gruvbox Dark Hard";
|
|
};
|
|
"gruvbox-light" = {
|
|
base16-theme = "gruvbox-light-medium";
|
|
vscode-theme = "Gruvbox Light Medium";
|
|
};
|
|
|
|
"custom" = {
|
|
# Custom themes don't have predefined base16 schemes (generated dynamically)
|
|
# VSCode theme fallback for custom color schemes
|
|
vscode-theme = "Tokyo Night"; # Default fallback theme
|
|
};
|
|
# Add more themes here
|
|
}
|