Using KDE Plasma 6 with stable NixOS

I am trying to use KDE Plasma 6 with the rest of my system remaining on stable.
To accomplish this I have done the following:

  imports = [ (unstable + "/nixos/modules/services/desktop-managers/plasma6.nix") ];

This has led me down a rabbit-hole of further imports since the new module makes use of other module changes on unstable.
I have now wound up with this:

  disabledModules = [
    "services/desktop-managers/plasma6.nix"
    "programs/chromium.nix"
    "programs/gnupg.nix"
    "services/x11/display-managers/sddm.nix"
    "security/pam.nix"
    "config/krb5/default.nix"
  ];

  imports = [
    (unstable + "/nixos/modules/services/desktop-managers/plasma6.nix")
    (unstable + "/nixos/modules/programs/chromium.nix")
    (unstable + "/nixos/modules/programs/gnupg.nix")
    (unstable + "/nixos/modules/services/x11/display-managers/sddm.nix")
    (unstable + "/nixos/modules/security/pam.nix")
    (unstable + "/nixos/modules/security/krb5/default.nix")
    (unstable + "/nixos/modules/services/security/intune.nix")
  ];

This works, however this feels very unholy. Especially since I have basically replaced all PAM config with that from unstable nixpkgs.
Is there a better way to do this? (I am using flakes by the way)

This question is not necessarily KDE specific by the way. If there is an easier / safer way to use modules from unstable without importing / overriding everything manually I’d love to know since I may want to use other modules from unstable in the future.

2 Likes

It does? I’m honestly surprised.

I dunno what you expect :stuck_out_tongue: This is very much something nixos is not designed for. It’s gonna be messy.