[Solved] Plasma desktop on 18.03, is it all there?


I’m trying NixOs for the first time on my laptop and the install (18.03) went pretty smooth and I have plasma5 up and running. But, there seems to be stuff missing… definitely many of the standard kde programs are not there (this is fine) but even some of the lower level stuff seems to be missing… like when I install a program it does not show up in the application menu. Is there a group package (similar to Arch) that brings in more of the plasma5 desktop?


There are the following subsets of packages that are attributes in the main set:

  • kdeFrameworks
  • kdeApplications
  • plasma

When I began using NixOS 3 years ago I had the same question. While the attributes have changed since then, the method as shown does function.

While it is possible to install everything this way I recommend against it and simply pick the parts you’re interested in.

Thanks for the help. I tried:

environment.systemPackages = [ ... ] ++ lib.attrsets pkgs.kdeApplications;

but that yielded the following error:

error: attempt to call something which is not a function but a set, at /etc/nixos/configuration.nix:57:10

…although, ultimately I don’t want all of KDE, I just want the menu to update when I install applications. I was thinking that I was missing something from base KDE, but perhaps this is a bug???

ok, this does work:

environment.systemPackages = [ ... ] ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues kdeApplications);

…and now my menu is updated with the applications I have installed. What ever it was it must be in kdeApplications. Thanks!

After doing some more research, it appears the issue of the menu updating is with kbuildsycoca5 getting exectued.

Is still valid in 2020?

I’m running …

  ] ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues kdeApplications)
    ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues kdeFrameworks)
    ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues plasma5);

hope it works.

Also wondering this… is there an easy way to just batch install them all at once? I see all of the nixos.kdeApplications.xxxxx packages in the package search, but nix-env -i kdeApplications or nix-env -i nixos.kdeApplications.* (not sure if this is the “right” way I was just trying to see if I could get them installed quickly) apparently “matches no derivations”.

You want to use -A, otherwise the nixos.foo naming doesn’t make sense. Installing whole attribute sets should work OK, e.g. nix-env -iA nixos.kdeApplications, though I’m not sure if it’s a good idea in this big case.

1 Like

Lol thanks, you are definitely correct about that. I did figure out the -iA detail, nixos.kdeApplications works great, a little too great; I just tried it. Probably won’t be trying that again.

I do wish I could just find a smaller list of the “typical” KDE apps you’d want to install, maybe the default ones from KDE Neon or Kubuntu or something.

 ] ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues kdeApplications)
    ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues kdeFrameworks)
    ++ builtins.filter stdenv.lib.isDerivation (builtins.attrValues plasma5);

This used to work until 20.09: link but it was removed in 21.05: link.

The release notes mention that the name was changed from kdeApplications to kdeGear, but I can’t find that package either: NixOS - NixOS 21.05 manual (Ctrl + F: kdeApplications)

So anyone who can get this to work, please post the new workaround. I really prefer to have the full KDE suite.


1 Like
  environment.systemPackages = with pkgs; [
  ] ++ builtins.filter lib.isDerivation (builtins.attrValues plasma5Packages.kdeGear)
    ++ builtins.filter lib.isDerivation (builtins.attrValues plasma5Packages.kdeFrameworks)
    ++ builtins.filter lib.isDerivation (builtins.attrValues plasma5Packages.plasma5);

works now. Thanks to Mr Figsoda from reddit: https://www.reddit.com/r/NixOS/comments/omwpei/how_to_install_full_kde_on_nixos/

1 Like

For anyone else cribbing off this, it’s currently necessary to set

nixpkgs.config.allowAliases = false;

to work around Aliasing ksysguard - #5 by not7cd

1 Like