Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stylix Kvantum is breaking plasma6 #835

Open
Noodlez1232 opened this issue Feb 6, 2025 · 30 comments
Open

Stylix Kvantum is breaking plasma6 #835

Noodlez1232 opened this issue Feb 6, 2025 · 30 comments
Labels
bug Something isn't working properly

Comments

@Noodlez1232
Copy link
Contributor

Noodlez1232 commented Feb 6, 2025

I've been dealing with this bug for a long couple of days. The quick and dirty solution is pinning to commit b00c9f4 using inputs.stylix.url = "github:danth/stylix?ref=b00c9f46ae6c27074d24d2db390f0ac5ebcc329f"

Plasma 6, by default, uses kvantum for its theming. Unfortunately when using kvantum with it now (I'm not really sure what changed to cause this), it breaks plasma6 completely. Its applications still run, but the desktop itself breaks.

I think the solution here is to move from kvantum (at least temporarily).

If you wanna test for yourself:

flake.nix to use as a testbed

You can run something like:

$ nix run .#nixosConfigurations.test.config.system.build.vm -- -smp 4 -m 4G
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    stylix.url = "github:danth/stylix/master";
    stylix.inputs.nixpkgs.follows = "nixpkgs";
    stylix.inputs.home-manager.follows = "home-manager";
  };

  outputs = { self, nixpkgs, home-manager, stylix }: {
    nixosConfigurations.test = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        # ====
        # Stylix config
        # ====
        ({config, pkgs, ... }: {
          # Some sort of OMORI background
          stylix.enable = true;
          stylix.image = pkgs.fetchurl {
            name = "background";
            hash = "sha256-IDGfD7At03QDfK6HN9AL7+GSnrPkzmrYL1uUFcW1b4Q=";
            url = "https://www.whatspaper.com/wp-content/uploads/2021/08/whatspaper-147.jpg";
          };
          stylix.polarity = "dark";
          # Uncomment this to fix
          #stylix.targets.qt.platform = "kde";
        })

        # ====
        # Basic system setup
        # ====
        ({ config, lib, ... }: {
          users.users.test = {
            description = "Guest";
            hashedPassword = "";
            isNormalUser = true;
            extraGroups = [ "wheel" ];
          };
          security.sudo.wheelNeedsPassword = false;
          home-manager.users.test.home.stateVersion = config.system.nixos.release;
          
          # Enable the desktop
          services.displayManager.sddm.enable = true;
          services.desktopManager.plasma6.enable = true;
          services.xserver = {
            enable = true;
            #desktopManager.plasma5.enable = true;
          };

          virtualisation.vmVariant = {
            virtualisation.diskSize = 20480;
            virtualisation.memorySize = 4096;
            virtualisation.writableStoreUseTmpfs = false;
            virtualisation.cores = 3;
          };

          nix.settings.experimental-features = "nix-command flakes";
        })

        stylix.nixosModules.stylix
        home-manager.nixosModules.home-manager
      ];
    };
  };
}

This bug from home-manager may be of interest to you as well: nix-community/home-manager#5098

@Noodlez1232
Copy link
Contributor Author

Oh and if you wanna take a look and poke around, when the error message eventually comes up, you can click on the "how to submit a bug report" or whatever link, which will open up Kate that will have a terminal tab on the bottom you can use to poke around.

@Jackaed
Copy link
Contributor

Jackaed commented Feb 6, 2025

This seems like a DE detection issue to me? Surely stylix.targets.qt.platform = "kde"; is desirable for plasma6, I don't think it makes sense to use Kvantum in this context.

@KucharczykL
Copy link

Setting stylix.targets.qt.platform = "kde"; breaks System Settings (and who knows what else) so I think it's not even a temporary solution.

@Jackaed
Copy link
Contributor

Jackaed commented Feb 7, 2025

Setting stylix.targets.qt.platform = "kde"; breaks System Settings (and who knows what else) so I think it's not even a temporary solution.

How does it break System Settings? That seems like a separate issue.

@KucharczykL
Copy link

I didn't take a screenshot but it looks like it's missing all the styling elemenents and only colors remain, for example a checkbox is just a colored circle. For some reason it also causes some pages to be completely missing (like About this system and many others). I only removed stylix from my config and this fixed it.

This is what I used before:

{ pkgs, ... }:
{
  stylix = {
    enable = true;
    image = ./wallpaper.jpg;
    base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
    targets.qt.platform = "kde";
    fonts = {
      monospace = {
        package = pkgs.nerd-fonts.fantasque-sans-mono;
        name = "FantasqueSansM Nerd Font";
      };
      serif = {
        package = pkgs.source-serif;
        name = "Source Serif";
      };
      sansSerif = {
        package = pkgs.ibm-plex;
        name = "IBM Plex Sans";
      };
    };
  };
}

@Noodlez1232
Copy link
Contributor Author

How does it break System Settings? That seems like a separate issue.

In Home Manager, setting it causes System Settings from Plasma 5 amd all the libsForQt5 to be pulled in instead. This is a HM bug (that I linked)

There's a sort of solution linked in the issue as well, but in reality that bug probably needs to be fixed there.

I did notice with the theme set this way, there were a few applications with incorrect theming (I don't quite remember 100% since I'm away from my computer but I think dolphin-emu was one)

alyraffauf added a commit to alyraffauf/nixcfg that referenced this issue Feb 7, 2025
@alyraffauf
Copy link

Having the same issue on my end. No idea how long you guys waited, but I couldn't get past the loading screen on Plasma in upwards of 10 minutes.

@Noodlez1232
Copy link
Contributor Author

Having the same issue on my end. No idea how long you guys waited, but I couldn't get past the loading screen on Plasma in upwards of 10 minutes.

Yeah honestly it's lucky if you even get past it with anything starting up. I got lucky and something crashed and that gave me an out to fix it.

@Noodlez1232
Copy link
Contributor Author

Doing some bisecting leads to commit b7f50a5 being the problem.

Updating the original post to suggest a fix by pinning to the commit before that.

baduhai added a commit to baduhai/nix-config that referenced this issue Feb 7, 2025
@trueNAHO trueNAHO added the bug Something isn't working properly label Feb 8, 2025
@trueNAHO
Copy link
Collaborator

trueNAHO commented Feb 8, 2025

Cc: @Mikilio


There's a sort of solution linked in the issue as well, but in reality that bug probably needs to be fixed there.

Should we implement that workaround or disable the /modules/qt modules if config.services.xserver.desktopManager.plasma5.enable == true until nix-community/home-manager#5098 is resolved?

@Mikilio
Copy link
Contributor

Mikilio commented Feb 8, 2025

I don't know tbh. I assume that the home-manager will at some point have to add the packages for plasma6 to the platformTheme packages. (Similar to how qtct actually adds packages for both qt5 and qt6) But I always had the impression that things move slow for qt in home-manager.
Whatever is chosen I can help maintain it.

@trueNAHO
Copy link
Collaborator

trueNAHO commented Feb 8, 2025

I don't know tbh. I assume that the home-manager will at some point have to add the packages for plasma6 to the platformTheme packages. (Similar to how qtct actually adds packages for both qt5 and qt6) But I always had the impression that things move slow for qt in home-manager.

It might be good to hotfix this on our side until Home Manager properly resolves this. Waiting on Home Manager might not be a good idea...

Whatever is chosen I can help maintain it.

If the previously linked workaround has the closest behaviour to the intended one, we could implement that one. If this is not the case or the workaround is unreliable in its own ways, we could just disable the /modules/qt modules if config.services.xserver.desktopManager.plasma5.enable == true.

Since this hotfix "only" affects KDE and we are ideally waiting for an upstream fix, feel free to choose the easiest working implementation.

@Noodlez1232
Copy link
Contributor Author

If the previously linked workaround has the closest behaviour to the intended one, we could implement that one. If this is not the case or the workaround is unreliable in its own ways, we could just disable the /modules/qt modules if config.services.xserver.desktopManager.plasma5.enable == true.

This is probably incorrect. It actually works completely fine on Plasma 5. The right one is prob config.services.desktopManager.plasma6.enable == true

@Mikilio
Copy link
Contributor

Mikilio commented Feb 9, 2025

Oh, I didn't notice you wrote plasma5 I was assuming plasma6 from the beginning.

@Mikilio
Copy link
Contributor

Mikilio commented Feb 9, 2025

Just reposting the workaround here for better discoverability:

qt = {
    enable = true;
    platformTheme.package = with pkgs.kdePackages; [
        plasma-integration
        # I don't remember why I put this is here, maybe it fixes the theme of the system setttings
        systemsettings
    ];
    style = {
        package = pkgs.kdePackages.breeze;
        name = "Breeze";
    };
};
systemd.user.sessionVariables = { QT_QPA_PLATFORMTHEME = "kde"; };

danth pushed a commit that referenced this issue Feb 18, 2025
This adds temporary warnings when plasma6 is enabled and will be
replaced with actual handling of plasma6 when styling solutions are
added upstream.

Currently, this requires a manual work around that is only reasonable on
home-manager and not on NixOS. Users will be deferred to find
workarounds in the issue when they encounter this warning.

Relates to #835

Co-authored-by: NAHO <[email protected]>
@trueNAHO
Copy link
Collaborator

This should be resolved by commit d171b19.

@alyraffauf
Copy link

That...does not actually seem like it fixes the problem, it just adds warnings, right? I mean it still doesn't work with plasma6 at all.

@danth
Copy link
Owner

danth commented Feb 18, 2025

Correct.

@alyraffauf
Copy link

Then what exactly is the utility of closing it? It's not resolved at all, and it's not a minor issue.

@alyraffauf
Copy link

It's also decidedly a breaking change--as in, computer boots, then does not.

@NovaViper
Copy link

Uh, I'm getting errors now with my flake while trying to rebuild:

❯ nh os test
> Building NixOS configuration
Using saved setting for 'extra-substituters = https://nix-community.cachix.org https://nix-gaming.cachix.org' from ~/.local/share/nix/trusted-settings.json.
Using saved setting for 'extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=' from ~/.local/share/nix/trusted-settings.json.
error:
       … while calling the 'head' builtin
         at /nix/store/s1fbk6a410xn8vcaj54iqv22agyn0ria-source/lib/attrsets.nix:1574:11:
         1573|         || pred here (elemAt values 1) (head values) then
         1574|           head values
             |           ^
         1575|         else

       … while evaluating the attribute 'value'
         at /nix/store/s1fbk6a410xn8vcaj54iqv22agyn0ria-source/lib/modules.nix:853:9:
          852|     in warnDeprecation opt //
          853|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          854|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `system.build.toplevel':

       … while evaluating definitions from `/nix/store/s1fbk6a410xn8vcaj54iqv22agyn0ria-source/nixos/modules/system/activation/top-level.nix':

       … while evaluating the option `home-manager.users.novaviper.qt.platformTheme.name':

       … while evaluating definitions from `/nix/store/v7r9wyjjpwk7xsz1bz2i5psyxcr5x747-source/modules/qt/hm.nix':

       … while evaluating the option `home-manager.users.novaviper.stylix.targets.qt.platform':

       … while evaluating the option `stylix.targets.qt.platform':

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: The option `stylix.targets.qt.platform' was accessed but has no value defined. Try setting the option.
┏━ 1 Errors:
 ⋮
┃          1575|         else
┃
┃        … while evaluating the attribute 'value'
┃          at /nix/store/s1fbk6a410xn8vcaj54iqv22agyn0ria-source/lib/modules.nix:853:9:
┃           852|     in warnDeprecation opt //
┃           853|       { value = addErrorContext "while evaluating the option `${showO…
┃              |         ^
┃           854|         inherit (res.defsFinal') highestPrio;
┃
┃        … while evaluating the option `system.build.toplevel':
┃
┃        … while evaluating definitions from `/nix/store/s1fbk6a410xn8vcaj54iqv22agyn0…
┃
┃        … while evaluating the option `home-manager.users.novaviper.qt.platformTheme.…
┃
┃        … while evaluating definitions from `/nix/store/v7r9wyjjpwk7xsz1bz2i5psyxcr5x…
┃
┃        … while evaluating the option `home-manager.users.novaviper.stylix.targets.qt…
┃
┃        … while evaluating the option `stylix.targets.qt.platform':
┃
┃        (stack trace truncated; use '--show-trace' to show the full, detailed trace)
┃
┃        error: The option `stylix.targets.qt.platform' was accessed but has no value …
┣━━━
┗━ ∑ ⚠ Exited with 1 errors reported by nix at 16:32:49 after 7s
Error:
   0: Command exited with status Exited(1)

Location:
   src/commands.rs:151

Stylix declaration:

  stylix = {
    enable = true;
    polarity = "dark";
    base16Scheme = lib.mkForce "${pkgs.base16-schemes}/share/themes/dracula.yaml";
    image = "${inputs.wallpapers}/purple-mountains-ai.png";
    override = {
      scheme = "BetterDracula";
      base00 = "282a36";
      base01 = "363447";
      base02 = "44475a";
      base03 = "6272a4";
      base04 = "9ea8c7";
      base05 = "f8f8f2";
      base06 = "f0f1f4";
      base07 = "ffffff";
      base08 = "ff5555";
      base09 = "ffb86c";
      base0A = "f1fa8c";
      base0B = "50fa7b";
      base0C = "8be9fd";
      base0D = "80bfff";
      base0E = "ff79c6";
      base0F = "bd93f9";
    };
    cursor = {
      package = pkgs.capitaine-cursors;
      name = "capitaine-cursors-white";
      size = 24;
    };
    fonts = let
      sansSerif = {
        package = pkgs.nerd-fonts.noto;
        name = "NotoSans Nerd Font";
      };
      serif = sansSerif;
      monospace = {
        package = pkgs.nerd-fonts._0xproto;
        name = "0xProto Nerd Font Mono";
      };
      emoji = {
        package = pkgs.noto-fonts-color-emoji;
        name = "Noto Color Emoji";
      };
      sizes = {
        applications = 10;
        desktop = 10;
        popups = 10;
        terminal = 11;
      };
    in {inherit sansSerif serif monospace emoji sizes;};
    opacity = {
      applications = 1.0;
      desktop = 1.0;
      popups = 1.0;
      terminal = 1.0;
    };
  };

  stylix.targets = lib.mkForce {
    # Enable 256 colors for kitty
    kitty.variant256Colors = true;
    # Causes some mismatched colors with Dracula-tmux theme
    tmux.enable = false;
    # Disable stylix's KDE module, very broken currently
    kde.enable = false;
    emacs.enable = false;
  };

@NovaViper
Copy link

I'm working on a home-manager PR (nix-community/home-manager#6493) that fully addresses this issue

pinarruiz pushed a commit to pinarruiz/stylix that referenced this issue Feb 19, 2025
This adds temporary warnings when plasma6 is enabled and will be
replaced with actual handling of plasma6 when styling solutions are
added upstream.

Currently, this requires a manual work around that is only reasonable on
home-manager and not on NixOS. Users will be deferred to find
workarounds in the issue when they encounter this warning.

Relates to danth#835

Co-authored-by: NAHO <[email protected]>
pinarruiz pushed a commit to pinarruiz/stylix that referenced this issue Feb 19, 2025
This adds temporary warnings when plasma6 is enabled and will be
replaced with actual handling of plasma6 when styling solutions are
added upstream.

Currently, this requires a manual work around that is only reasonable on
home-manager and not on NixOS. Users will be deferred to find
workarounds in the issue when they encounter this warning.

Relates to danth#835

Co-authored-by: NAHO <[email protected]>
Guekka pushed a commit to Guekka/stylix that referenced this issue Feb 19, 2025
This adds temporary warnings when plasma6 is enabled and will be
replaced with actual handling of plasma6 when styling solutions are
added upstream.

Currently, this requires a manual work around that is only reasonable on
home-manager and not on NixOS. Users will be deferred to find
workarounds in the issue when they encounter this warning.

Relates to danth#835

Co-authored-by: NAHO <[email protected]>
@danth danth reopened this Feb 19, 2025
@danth
Copy link
Owner

danth commented Feb 19, 2025

Reopened until this is fully fixed

@Mikilio
Copy link
Contributor

Mikilio commented Feb 19, 2025

Something like this should have been caught in tests. There should be a test for plasma6 since people are actually using it now.

Regarding closing issues, I am also in favor of keeping issues that are basically waiting on upstream to be kept open. A lot of people don't actually modify the filters and just look at open issues. So this is better for discoverability.

@trueNAHO
Copy link
Collaborator

Something like this should have been caught in tests. There should be a test for plasma6 since people are actually using it now.

Yes, adding loads of testbeds is part of the roadmap:

-- #534

Regarding closing issues, I am also in favor of keeping issues that are basically waiting on upstream to be kept open. A lot of people don't actually modify the filters and just look at open issues. So this is better for discoverability.

Yes, my bad.

trueNAHO pushed a commit that referenced this issue Feb 24, 2025
Add a default value for the qt.platform option, following commit d171b19
("qt: add temporary warnings for plasma6 (#845)") in an effort to resolve [1]
("Stylix Kvantum is breaking plasma6").

[1]: #835

Link: #884

Reviewed-by: NAHO <[email protected]>
@mguerrajordao
Copy link

Hi,

Thanks you danth and all collaborators for this project.

Just some newbie feedback.
Having tested the minimal config below, by enabling latest Stylix NixOS module on master with autoEnable targets (and removed any separate qt/kde or other home-manager targets declared individually), using configuration as below:

 󱄅 stylix.nix                                                                                                                                                                                                                                                                                                                                                                                                                    
  1  {                                                                                                                                                                                                                                                                                                                                                                                                                           
   1   pkgs,                                                                                                                                                                                                                                                                                                                                                                                                                     
   2   inputs,                                                                                                                                                                                                                                                                                                                                                                                                                   
   3   lib,                                                                                                                                                                                                                                                                                                                                                                                                                      
-  4   ...                                                                                                                                                                                                                                                                                                                                                                                                                       
│  5 }: let                                                                                                                                                                                                                                                                                                                                                                                                                      
   6   theme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml";                                                                                                                                                                                                                                                                                                                                                   
   7 in                                                                                                                                                                                                                                                                                                                                                                                                                          
│  8                                                                                                                                                                                                                                                                                                                                                    
│  9   {                                                                                                                                                                                                                                                                                                                                                                                                                         
│ 10     imports = [inputs.stylix.nixosModules.stylix];                                                                                                                                                                                                                                                                                                                                                                          
|  11                                                                                                                                                                                                                                                                                                                                                                                                                             
│ 12     stylix = {                                                                                                                                                                                                                                                                                                                                                                                                              
~ 13       enable = true;                                                                                                                                                                                                                                                                                                                                                                                                        
│ 14       autoEnable = true;                                                                                                                                                                                                                                                                                                                                                                                                    
│ 15       homeManagerIntegration.autoImport = true;                                                                                                                                                                                                                                                                                                                                                                             
│ 16       homeManagerIntegration.followSystem = true;                                                                                                                                                                                                                                                                                                                                                                           
│ 17       polarity = "dark";                                                                                                                                                                                                                                                                                                                                                                                                    
│ 18       base16Scheme = theme;                                                                                                                                                                                                                                                                                                                                                                                                 
│ 19       image = lib.custom.relativeToRoot "wallpaper/gruvbox_astro.jpg";                                                                                                                                                                                                                                                                                                                                                      
│ 20                                                                                                                                                                                                                                                                                                                                                                                                                             
│ 21       fonts = lib.mkDefault {                                                                                                                                                                                                                                                                                                                                                                                               
│ 22         monospace = {                                                                                                                                                                                                                                                                                                                                                                                                       
│ 23           name = "FantasqueSansM Nerd Font";                                                                                                                                                                                                                                                                                                                                                                                
│ 24           package = pkgs.nerd-fonts.fantasque-sans-mono;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
│ 26         };                                                                                                                                                                                                                                                                                                                                                                                                                  
│ 27         serif = {                                                                                                                                                                                                                                                                                                                                                                                                           
│ 28           name = "FantasqueSansM Nerd Font";                                                                                                                                                                                                                                                                                                                                                                                
│ 29           package = pkgs.nerd-fonts.fantasque-sans-mono;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
│ 31         };                                                                                                                                                                                                                                                                                                                                                                                                                  
│ 32         sansSerif = {                                                                                                                                                                                                                                                                                                                                                                                                       
│ 33           name = "FantasqueSansM Nerd Font";                                                                                                                                                                                                                                                                                                                                                                                
│ 34           package = pkgs.nerd-fonts.fantasque-sans-mono;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
│ 36         };                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
│ 41                                                                                                                                                                                                                                                                                                                                                                                                                             
│ 42         sizes = {                                                                                                                                                                                                                                                                                                                                                                                                           
│ 43           terminal = 10;                                                                                                                                                                                                                                                                                                                                                                                                    
│ 44           applications = 10;                                                                                                                                                                                                                                                                                                                                                                                                
│ 45           popups = 10;                                                                                                                                                                                                                                                                                                                                                                                                      
│ 46           desktop = 10;                                                                                                                                                                                                                                                                                                                                                                                                     
│ 47         };                                                                                                                                                                                                                                                                                                                                                                                                                  
│ 48       };                                                                                                                                                                                                                                                                                                                                                                                                                    
▁ 49     };                                                                                                                                                                                                                                                                                                                                                                                                                      
│ 50                                                                                                                                                                                                                                                                                                                                                                                                                             
│ 51     stylix.targets = {                                                                                                                                                                                                                                                                                                                                                                                                      
│ 52       plymouth = {                                                                                                                                                                                                                                                                                                                                                                                                          
│ 53         enable = true;                                                                                                                                                                                                                                                                                                                                                                                                      
│ 54         logoAnimated = false;                                                                                                                                                                                                                                                                                                                                                                                               
│ 55       };                                                                                                                                                                                                                                                                                                                                                                                                                    
│ 56       console.enable = true;                                                                                                                                                                                                                                                                                                                                                                                                
│ 57       chromium.enable = true;                                                                                                                                                                                                                                                                                                                                                                                               
│ 58       qt.enable = true;                                                                                                                                                                                                                                                                                                                                                                                                     
│ 59       qt.platform = "kde";                                                                                                                                                                                                                                                                                                                                                                                                  
│ 60     };                                                                                                                                                                                                                                                                                                                                                                                                                      
│ 61   }                                                                                                                                                                                                                                                                                                                                                                                                                         

I don't have the crash as before anymore when login into plasma if the qt.platform is set to "kde" instead of "qtct", but it still breaks/changes the Plasma Configuration Settings by removing many of the menus. For instance System Info is unavailable and Display Configuration is also reduced (for instance, no resolution, scaling, hdr, etc...). I don't use plasma6 often but only notice the changes on the Configuration.

If the qt.platform is set to the default "qtct" crashes will happen.
If i rebuild within after removing qt.platform="kde" on a logged plasma session, the System Settings crashes after rebuild is finished. If i modify the platform to "kde" the settings can be opened but some functionality is missing wrt to removing stylix completely.

I will try removing fully any home-manager targets by setting the integration to false.

@Mikilio
Copy link
Contributor

Mikilio commented Feb 27, 2025

Yeah, unfortunately. I can't really make any promises when it comes to plasma6, because I do not want this project to maintain workarounds unless upstreams confirms that it will not fix an issue. I am willing to make changes that improve UX navigating around these issues, I suppose there is a good argument for disabling the entire qt module when using plasma6. But you need to keep in mind that plasma6 on NixOS still has issues that have absolutely nothing to do with stylix, but as a downstream project it still receives the issues for it. On that note, I can only recommend to anyone using NixOS or home-manager to still wait a bit on plasma6. I appreciate all your help to test when I can adapt stylix to changes upstream that are in progress.

@alyraffauf
Copy link

I think the main issue here is that this is a regression in Stylix, period. On one commit Plasma 6 runs just fine (even if the theming is not perfect), then you update your lock file and your system no longer boots to a desktop without user-supplied workarounds. Many users (including me) found out about this because our systems suddenly became functionally unbootable. That's a major issue.

Plasma 5 has had two minor point releases in the past year, there are people who can't simply go back to it without losing features that rely on. Adding Plasma 5 specific functionality that breaks Plasma 6 at this point seems like a misstep, even if it does bring improvements for Plasma 5 users.

@mguerrajordao
Copy link

Thank you. I am not a plasma6 user most of the times, so for me this is not by any means a big hurdle, but the perks of functioning hdr on it lead me to test it sometimes. Just wanted to note and give feedback, even if unfortunate due to upstream.
I'll be sure to stick using Stylix on unstable with all the perks it gives me on different tiling window manager.
Thank you very much for this project.

@NovaViper
Copy link

I think the main issue here is that this is a regression in Stylix, period. On one commit Plasma 6 runs just fine (even if the theming is not perfect), then you update your lock file and your system no longer boots to a desktop without user-supplied workarounds. Many users (including me) found out about this because our systems suddenly became functionally unbootable. That's a major issue.

Plasma 5 has had two minor point releases in the past year, there are people who can't simply go back to it without losing features that rely on. Adding Plasma 5 specific functionality that breaks Plasma 6 at this point seems like a misstep, even if it does bring improvements for Plasma 5 users.

It's also a regression with Home-Manager and NixOS, since the qt.platformTheme options in both haven't been updated to account for Plasma 6's packages (the kdePackages.* ones specifically). So when Stylix updated to use their options, it causes things to break. I made a PR for both Home-Manager and NixOS to include a knew 'kde6' option that will download the necessary packages for Plasma 6, just waiting for the PR's to merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working properly
Projects
None yet
Development

No branches or pull requests

9 participants